Back to all templates
Drupal logo

Drupal

Application512MB+ RAM

Enterprise-grade CMS for complex websites

cmsenterprisephp

Deploy Drupal in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Drupal

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Drupal on a VPS with Server Compass

Use the Drupal template in Server Compass to deploy a self-hosted enterprise-grade content management system on your VPS, then verify the Drupal install wizard in a browser.

About 7 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Drupal app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Drupal

Use the template picker search to find Drupal in the Server Compass template catalog.

Searching for Drupal in the Server Compass template picker
4
Step 4

Select the Drupal template

Choose the Drupal template. Server Compass fills the Drupal image, PostgreSQL service, persistent site volumes, database settings, and required secret value.

Drupal template selected in Server Compass
5
Step 5

Review the Drupal settings

Confirm the app name and compose services. In this run, the app was named drupal-demo and used host port 8080.

Reviewing Drupal project settings and compose services
6
Step 6

Deploy Drupal

Review the generated environment values, keep the database password masked, confirm the port is available, and click Deploy Now.

Reviewing Drupal environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Drupal and PostgreSQL images, starts the containers, and verifies the stack.

Server Compass deploying the Drupal template on the VPS
8
Step 8

Confirm Drupal is running

After deployment finishes, return to the Apps tab and confirm the Drupal app is marked Running with its application URL available.

Drupal template running in the Server Compass Apps tab
9
Step 9

Open Drupal in the browser

Click Open Application or open the application URL in a browser. The Drupal install wizard confirms the deployed app is reachable and ready for the database credentials.

The deployed Drupal install wizard loaded in a browser

After Drupal Opens

  • Complete the Drupal installer with the generated PostgreSQL password from Server Compass.
  • Keep the database password masked in screenshots and docs.
  • Add a domain and HTTPS before inviting users or publishing content publicly.
  • Create roles and permissions before publishing editorial workflows.
  • Back up both the Drupal modules, themes, profiles, and sites volumes and the PostgreSQL data volume before storing production content.

Verified Result

The Drupal app loaded successfully in a browser and displayed the install wizard.

Drupal deployment questions

What does the Drupal template deploy?

It deploys Drupal 10 with a PostgreSQL 16 database and persistent modules, profiles, themes, sites, and database volumes.

Which port did the tutorial use?

The tutorial used host port 8080, which maps to the Drupal Apache web server on container port 80.

Why does the browser verification stop at the install wizard?

A fresh Drupal deployment is considered reachable when the install wizard loads. Continuing further would require entering generated database credentials, so the public guide verifies the safe pre-install wizard.

Should this become a blog post?

No. The deployment guide should live on the Drupal template detail page and be linked from the reusable template deployment docs page.

Terminal Deployment

Drupal CLI Deployment

Deploy Drupal the traditional way with SSH and Docker Compose.

1

SSH into Your Server

Launch your preferred terminal and connect to your VPS using SSH.

terminal
# Log into your server
ssh root@<your-server-ip>

# If using key-based auth
ssh -i ~/.ssh/my-key root@<your-server-ip>

First time? Docker not installed? Run: curl -fsSL https://get.docker.com | sh

2

Create Working Directory

Prepare a directory for your application files and configuration.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/drupal
cd ~/apps/drupal
3

Configure Your Containers

Create the Docker Compose configuration file with these contents:

docker-compose.yml
services:
  drupal:
    image: drupal:10-apache
    ports:
      - "8080:80"
    volumes:
      - drupal_modules:/var/www/html/modules
      - drupal_profiles:/var/www/html/profiles
      - drupal_themes:/var/www/html/themes
      - drupal_sites:/var/www/html/sites
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=drupal
      - POSTGRES_PASSWORD=<your-db-password>
      - POSTGRES_DB=drupal
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U drupal"]
      interval: 10s
      timeout: 5s
      retries: 5

  db_localhost_proxy:
    image: alpine/socat
    command:
      - "-d"
      - "-d"
      - "TCP-LISTEN:5432,fork,reuseaddr"
      - "TCP:db:5432"
    network_mode: "service:drupal"
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

volumes:
  drupal_modules:
  drupal_profiles:
  drupal_themes:
  drupal_sites:
  postgres_data:
Deployment Settings
PORTHost port(default: 8080)
DB_PASSWORDDB password
4

Deploy with Docker Compose

Launch the application stack using Docker Compose.

terminal
# Deploy the application
docker compose up -d

# Check container health
docker compose ps

# Monitor logs
docker compose logs -f --tail=100
5

Open Required Ports

Enable external access by opening the necessary port.

terminal
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8080
Skip the Terminal

There's an easier way. Meet Server Compass.

Server Compass makes deploying Drupal effortless. Visual setup, one-click deploy, done.

  • Intuitive dashboard
  • Deploy in 3 minutes
  • Free SSL included
  • Blue-green deploys
  • Real-time logs
  • Version history
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Drupal with Server Compass, complete these steps to finish setup

1

Open /core/install.php

2

In Setup database, select PostgreSQL and use host db on port 5432

3

Finish installation, install essential modules, and configure content types

Need help? Check out our documentation for detailed guides.

Drupal FAQ

Common questions about self-hosting Drupal

How do I deploy Drupal with Server Compass?

Simply download Server Compass, connect to your VPS, and select Drupal from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Drupal?

Drupal requires a minimum of 512MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Drupal data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Drupal backup and restore procedures.

How do I update Drupal to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Drupal image will be pulled and deployed with zero downtime.

Is Drupal free to self-host?

Drupal is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Drupal?

Download Server Compass and deploy Drupal to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass