Joomla + MariaDB
Joomla is a general-purpose content management system, halfway between the simplicity of WordPress and the flexibility of Drupal, with a built-in access level and multilingual system.
This Stack installs it with MariaDB.
Services included
In addition to the application, the Stack brings up MariaDB, an nginx that receives traffic on port 80, an automatic backups service, and the web file manager.
Project structure
.
├── backup
│ └── backup-runner.sh
├── health
│ └── status.php
├── nginx
│ └── default.conf
├── .env.example
└── compose.yaml
Getting started
Install the Stack and bring it up:
docker-deploy-stack --stack php/joomla-mariadb
cd /root/stack/php/joomla-mariadb
docker compose up -d
This is a ready-to-use application: you don’t need to upload any code. Themes, plugins, extensions, and files that you upload from its administration panel are stored in the Stack and included in the automatic backups.
Configuration
Editable values are in the Stack’s .env file:
| Variable | Default | What it’s for |
|---|---|---|
APP_PORT |
80 |
Public port of the Stack. |
APP_ENV |
development |
Application environment. |
DB_NAME |
joomla |
Database name. |
DB_USER |
joomla |
Database user. |
BACKUP_ENABLED |
1 |
Automatic backups: 1 enabled, 0 disabled. |
BACKUP_INTERVAL_SECONDS |
86400 |
How many seconds between backups. |
BACKUP_RETENTION_DAYS |
7 |
How many days backups are kept. |
JOOMLA_VERSION |
latest |
Corresponding image version. |
MARIADB_VERSION |
11.4 |
Corresponding image version. |
After changing them, apply the changes with docker compose up -d.
Useful commands
docker compose ps # see the containers that are running
docker compose logs -f # view the logs live
docker compose restart # restart the services
docker compose down # stop and remove the containers