WordPress
CMS for websites and blogs
Websites / CMSFree
CMS for complex websites
The script is free · VPS from $3.19 per month · installs in about 3 minutes
root@vps:~# command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; P=$(openssl rand -hex 16); echo "$P" > /root/drupal-db-password && chmod 600 /root/drupal-db-password && docker network create drupal && docker run -d --name drupal-db --network drupal --restart unless-stopped -e POSTGRES_DB=drupal -e POSTGRES_USER=drupal -e POSTGRES_PASSWORD=$P -v drupal-db:/var/lib/postgresql/data postgres:17 && docker run -d --name drupal --network drupal --restart unless-stopped -p 80:80 -v drupal-modules:/var/www/html/modules -v drupal-profiles:/var/www/html/profiles -v drupal-themes:/var/www/html/themes -v drupal-sites:/var/www/html/sites drupal:11
✓ Drupal 11.4.8 installed · about 3 minutes
root@vps:~#
Drupal is a CMS for complex sites: portals, government sites, universities and media. Flexible content types, taxonomies, roles and Views are configured without code.
Drupal is valued for its security and scalability, as well as the ability to use it as a headless backend with JSON:API.
The command runs the official Drupal 11 and PostgreSQL images. The database password is saved to /root/drupal-db-password.
For Drupal: at least 1 vCPU, 3 GB RAM and 30 GB NVMe.
Three steps in the bot or one command over SSH; installation takes about 3 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 installerThe 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); echo "$P" > /root/drupal-db-password && chmod 600 /root/drupal-db-password && docker network create drupal && docker run -d --name drupal-db --network drupal --restart unless-stopped -e POSTGRES_DB=drupal -e POSTGRES_USER=drupal -e POSTGRES_PASSWORD=$P -v drupal-db:/var/lib/postgresql/data postgres:17 && docker run -d --name drupal --network drupal --restart unless-stopped -p 80:80 -v drupal-modules:/var/www/html/modules -v drupal-profiles:/var/www/html/profiles -v drupal-themes:/var/www/html/themes -v drupal-sites:/var/www/html/sites drupal:11| Port | Protocol | Purpose |
|---|---|---|
| 80 | tcp | Site and admin panel (HTTP) |
http://server-IP and complete the installerdrupal, password in /root/drupal-db-password, and under "Advanced options" host drupal-dbDidn’t find an answer? Message @ExpressHost_SupportBot.
WordPress is simpler for a blog or a small site. Drupal is chosen for complex content structures, roles and large portals.
Minor updates: docker pull drupal:11 and re-create the container, then run database updates via /update.php.
Settings and uploads are in the drupal-sites volume, modules and themes in their own volumes, the database in drupal-db.
Drupal installs at checkout — in the bot.
Netherlands, Amsterdam
$3.49/mo
$0.12 for 24 hours · $0.87 for 7 days
Drupal is installed manually: the install command is further down this page.
Germany, Frankfurt
$4.49/mo
$0.16 for 24 hours · $1.12 for 7 days
Drupal is installed manually: the install command is further down this page.
Poland, Warsaw
$3.19/mo
$0.11 for 24 hours · $0.80 for 7 days
Drupal is installed manually: the install command is further down this page.
Estonia, Tallinn
$3.96/mo
$0.14 for 24 hours · $0.99 for 7 days
Drupal is installed manually: the install command is further down this page.