Skip to content

Joomla on a VPS

PHP CMS for websites

Author
Open Source Matters
License
GPL-2.0-or-later
Version
6.1.4

The script is free · VPS from $2.79 per month · installs in about 3 minutes

Install over SSH

root@vps:~# command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; P=$(openssl rand -hex 16); echo "$P" > /root/joomla-db-password && chmod 600 /root/joomla-db-password && docker network create joomla && docker run -d --name joomla-db --network joomla --restart unless-stopped -e MYSQL_DATABASE=joomla -e MYSQL_USER=joomla -e MYSQL_PASSWORD=$P -e MYSQL_RANDOM_ROOT_PASSWORD=yes -v joomla-db:/var/lib/mysql mysql:8.4 && docker run -d --name joomla --network joomla --restart unless-stopped -p 80:80 -e JOOMLA_DB_HOST=joomla-db -e JOOMLA_DB_USER=joomla -e JOOMLA_DB_PASSWORD=$P -e JOOMLA_DB_NAME=joomla -v joomla-html:/var/www/html joomla

  • SystemUbuntu 24.04 · x86_64ok
  • Sourcegithub.com/joomla/joomla-cmsok
  • Version6.1.4ok
  • Port80/tcplisten

✓ Joomla 6.1.4 installed · about 3 minutes

root@vps:~#

Install command from the library. Output is shortened and may differ on your server.

What it is

  • CMS
  • PHP
  • MySQL
  • Multilingual

Joomla is one of the oldest open-source CMSs. It powers corporate sites, portals, catalogs and communities with fine-grained user permissions.

Out of the box it offers multilingual support, flexible access control and a powerful extension system, so many sites need no third-party plugins.

The command runs the official Joomla and MySQL Docker images. The database password is generated and saved to /root/joomla-db-password.

  • Multilingual out of the box
  • Flexible user groups and permissions
  • Thousands of extensions and templates
  • Built-in SEO and friendly URLs
  • Two-factor authentication

Recommended plan

For Joomla: at least 1 vCPU, 2 GB RAM and 10 GB NVMe.

Minimum to run
1 vCPU · 1 GB RAM · 10 GB disk
Systems
Ubuntu 22.04 · Ubuntu 24.04 · Debian 12

How to install

Three steps in the bot or one command over SSH; installation takes about 3 minutes.

  1. 01

    Choose a plan in the bot

    Open @ExpressHost_bot and pay for a VPS. The server will be ready in about 60 seconds.

  2. 02

    Add Joomla

    At the “Add-ons” step pick the script from the library, or run it later: Server settings → Scripts.

  3. 03

    Open http://server-IP and complete the Joomla installer

    The bot will send the server address and login details to the chat.

Manually over SSH

Connect to the server as root and run the command. Supported systems: Ubuntu 22.04, Ubuntu 24.04, Debian 12.

Install command
command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; P=$(openssl rand -hex 16); echo "$P" > /root/joomla-db-password && chmod 600 /root/joomla-db-password && docker network create joomla && docker run -d --name joomla-db --network joomla --restart unless-stopped -e MYSQL_DATABASE=joomla -e MYSQL_USER=joomla -e MYSQL_PASSWORD=$P -e MYSQL_RANDOM_ROOT_PASSWORD=yes -v joomla-db:/var/lib/mysql mysql:8.4 && docker run -d --name joomla --network joomla --restart unless-stopped -p 80:80 -e JOOMLA_DB_HOST=joomla-db -e JOOMLA_DB_USER=joomla -e JOOMLA_DB_PASSWORD=$P -e JOOMLA_DB_NAME=joomla -v joomla-html:/var/www/html joomla

Ports

Joomla ports
PortProtocolPurpose
80tcpSite and admin panel (HTTP)

After installation

  1. 1.Open http://server-IP and complete the Joomla installer
  2. 2.Database details: host joomla-db, database and user joomla, password in /root/joomla-db-password
  3. 3.For HTTPS, put a reverse proxy with a certificate in front of the site

Joomla FAQ

Didn’t find an answer? Message @ExpressHost_SupportBot.

How do I update Joomla?

From the admin panel: "System → Joomla Update". Site files live in a volume and survive container re-creation.

Where is the data stored?

Site files are in the joomla-html volume, the database is in the joomla-db volume.

How many resources are needed?

A small site runs on 1 vCPU and 2 GB. For large portals with extensions, choose more.

Joomla installs at checkout — in the bot.