Nginx
Web server and proxy
Dev / ToolsFree
CMS for websites and blogs
The script is free · VPS from $2.79 per month · installs in about 2 minutes
root@vps:~# command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; P=$(openssl rand -hex 16); docker network create wp && docker run -d --name wp-db --network wp --restart unless-stopped -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=$P -e MYSQL_RANDOM_ROOT_PASSWORD=yes -v wp-db:/var/lib/mysql mysql:8.0 && docker run -d --name wordpress --network wp --restart unless-stopped -p 80:80 -e WORDPRESS_DB_HOST=wp-db -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=$P -e WORDPRESS_DB_NAME=wordpress -v wp-html:/var/www/html wordpress
✓ WordPress 7.1.2 installed · about 2 minutes
root@vps:~#
WordPress is the most widely used CMS: people build blogs, landing pages, corporate websites and WooCommerce stores with it. There are tens of thousands of themes and plugins, and pages can be edited in a visual editor without code.
On your own VPS you aren't bound by shared hosting limits: you choose the PHP version, caching and plugins yourself, and can host several sites on one server.
The command below starts WordPress and MySQL in two Docker containers using the official Docker Hub images; the database password is generated automatically.
For WordPress: at least 1 vCPU, 2 GB RAM and 10 GB NVMe.
Three steps in the bot or one command over SSH; installation takes about 2 minutes.
Open @ExpressHost_bot and pay for a VPS. The server will be ready in about 60 seconds.
At the “Add-ons” step pick the script from the library, or run it later: Server settings → Scripts.
http://server-IP and complete the setup wizard: language, site title, admin loginThe bot will send the server address and login details to the chat.
Connect to the server as root and run the command. Supported systems: Ubuntu 22.04, Ubuntu 24.04, Debian 12.
command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; P=$(openssl rand -hex 16); docker network create wp && docker run -d --name wp-db --network wp --restart unless-stopped -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=$P -e MYSQL_RANDOM_ROOT_PASSWORD=yes -v wp-db:/var/lib/mysql mysql:8.0 && docker run -d --name wordpress --network wp --restart unless-stopped -p 80:80 -e WORDPRESS_DB_HOST=wp-db -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=$P -e WORDPRESS_DB_NAME=wordpress -v wp-html:/var/www/html wordpress| Port | Protocol | Purpose |
|---|---|---|
| 80 | tcp | Website and admin (HTTP) |
| 443 | tcp | HTTPS, if you add a reverse proxy with a certificate |
http://server-IP and complete the setup wizard: language, site title, admin loginDidn’t find an answer? Message @ExpressHost_SupportBot.
It depends on the theme and plugins. A small site with a caching plugin runs comfortably on 1 vCPU and 2 GB RAM. For a WooCommerce store, choose 2 vCPU and 3 GB or more.
The core, themes and plugins are updated from the admin panel: "Dashboard → Updates". Files live in a volume, so recreating the container won't affect them.
Site files are in the wp-html Docker volume, the database in the wp-db volume. Both are located in /var/lib/docker/volumes.
WordPress installs at checkout — in the bot.
Netherlands, Amsterdam
$2.89/mo
$0.10 for 24 hours · $0.72 for 7 days
Pick WordPress at the “Scripts” step when you order the server.
Germany, Frankfurt
$3.14/mo
$0.11 for 24 hours · $0.79 for 7 days
Pick WordPress at the “Scripts” step when you order the server.
Poland, Warsaw
$2.79/mo
$0.10 for 24 hours · $0.70 for 7 days
Pick WordPress at the “Scripts” step when you order the server.
Estonia, Tallinn
$3.10/mo
$0.11 for 24 hours · $0.78 for 7 days
Pick WordPress at the “Scripts” step when you order the server.