Back to all templates
Joomla logo

Joomla

Application512MB+ RAM

Flexible CMS for websites and online applications

cmswebsitephp

Deploy Joomla in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Joomla

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Joomla on a VPS with Server Compass

Use the Joomla template in Server Compass to deploy a self-hosted flexible content management system on your VPS, then verify the Joomla 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 Joomla 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 Joomla

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

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

Select the Joomla template

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

Joomla template selected in Server Compass
5
Step 5

Review the Joomla settings

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

Reviewing Joomla project settings and compose services
6
Step 6

Deploy Joomla

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

Reviewing Joomla 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 Joomla and MySQL images, starts the containers, and verifies the stack.

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

Confirm Joomla is running

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

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

Open Joomla in the browser

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

The deployed Joomla install wizard loaded in a browser

After Joomla Opens

  • Complete the Joomla installer with the generated MySQL 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 Joomla application volume and the MySQL data volume before storing production content.

Verified Result

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

Joomla deployment questions

What does the Joomla template deploy?

It deploys Joomla with a MySQL 8.0 database and persistent application and database volumes.

Which port did the tutorial use?

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

Why does the browser verification stop at the install wizard?

A fresh Joomla 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 Joomla template detail page and be linked from the reusable template deployment docs page.

Manual Deployment Guide

Manual Joomla Setup

For terminal enthusiasts: deploy Joomla manually with these simple steps.

1

Access Your VPS via Terminal

Open a terminal session and log into your VPS. Replace the placeholder with your actual IP.

terminal
# Connect via SSH
ssh root@your-vps-ip

# Alternative with key file
ssh -i /path/to/key root@your-vps-ip

First time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh

2

Set Up Project Folder

Create a workspace for your deployment files.

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

Create the Compose File

Configure your containers with this Docker Compose setup:

docker-compose.yml
services:
  joomla:
    image: joomla:latest
    ports:
      - "8080:80"
    environment:
      - JOOMLA_DB_HOST=db
      - JOOMLA_DB_USER=joomla
      - JOOMLA_DB_PASSWORD=<your-db-password>
      - JOOMLA_DB_NAME=joomla
    volumes:
      - joomla_data:/var/www/html
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

  db:
    image: mysql:8.0
    environment:
      - MYSQL_ROOT_PASSWORD=<your-db-root-password>
      - MYSQL_DATABASE=joomla
      - MYSQL_USER=joomla
      - MYSQL_PASSWORD=<your-db-password>
    volumes:
      - mysql_data:/var/lib/mysql
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -p$$MYSQL_ROOT_PASSWORD || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s

volumes:
  joomla_data:
  mysql_data:
Environment Configuration
PORTHost port(default: 8080)
DB_PASSWORDDB password
DB_ROOT_PASSWORDRoot password
4

Deploy Your Stack

Spin up the containers and verify the deployment.

terminal
# Start all services
docker compose up -d

# List running containers
docker compose ps

# Watch the logs
docker compose logs -f
5

Update Firewall Settings

Allow incoming traffic on the application 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

Skip the terminal. Use Server Compass instead.

Deploy Joomla without touching the command line. Server Compass gives you a clean UI for one-click deployments.

  • Beautiful interface
  • One-click deploys
  • Let's Encrypt SSL
  • Zero downtime
  • Container monitoring
  • Easy rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

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

1

Complete installation wizard

2

Remove installation directory

3

Install extensions

Need help? Check out our documentation for detailed guides.

Joomla FAQ

Common questions about self-hosting Joomla

How do I deploy Joomla with Server Compass?

Simply download Server Compass, connect to your VPS, and select Joomla 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 Joomla?

Joomla 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 Joomla data?

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

How do I update Joomla to the latest version?

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

Is Joomla free to self-host?

Joomla 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 Joomla?

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

Download Server Compass