mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
- VOL_PATH always defaults to /data; vscode/opencode VOL_PROJECTS nests it - TZ defaults to America/Vancouver (was UTC in etherpad, ntfy, redis) - compose section order fixed (volumes before environment, command after networks) - all default secrets are the literal ChangeThisPassword (grep-friendly, users must change them); removed a real key from ollama sample.env - sample.env synced with compose: missing vars added with defaults, dead vars removed - invoiceninja_dev/openarchiver_dev: app services had no environment block, wired all sample.env vars through so the stacks actually work - opencode: sample.env OLLAMA_HOST renamed to OLLAMA_HOST_URL to match compose - TZ values unquoted consistently Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Joomla
Overview
Joomla is a self-hosted content management system (CMS) for building websites and web applications. This Docker Compose stack deploys Joomla with a MariaDB database, persistent storage, and an external reverse proxy.
Project Details
- Project Repository: Joomla
- Container Image: Docker Hub
- Compose Example: Official Compose
- Documentation: Joomla Docs
- Reverse Proxy Port:
80
Getting Started
- Copy
sample.envto.envand edit the values (especially passwords) - Start the stack:
docker compose up -d - Open http://localhost:8080 (or your proxy domain) in your browser
- If
JOOMLA_ADMIN_*env vars are set, the installer is skipped and an admin user is created automatically. Otherwise, follow the web setup wizard.
Environment Variable Notes
Compose
VOL_PATH– base path for persistent data volumes (default:/data)JOOMLA_PORT– host port for Joomla (default:8080)JOOMLA_IMAGE– Joomla image tag (default:joomla:5)JOOMLA_RESTART– container restart policy (default:unless-stopped)
Database
MARIADB_IMAGE– MariaDB image tag (default:mariadb:10.11)MARIADB_ROOT_PASSWORD– MariaDB root password (required)JOOMLA_DB_NAME– database name (default:joomla)JOOMLA_DB_USER– database user (default:joomla)JOOMLA_DB_PASSWORD– database user password (required)
Joomla Auto-Deployment
JOOMLA_SITE_NAME– site name displayed in JoomlaJOOMLA_ADMIN_USER– full name of the admin userJOOMLA_ADMIN_USERNAME– admin login username (default:admin)JOOMLA_ADMIN_PASSWORD– admin password (required, min 12 chars)JOOMLA_ADMIN_EMAIL– admin email address
Volume Notes
${VOL_PATH:-/data}/joomla/db– MariaDB data files${VOL_PATH:-/data}/joomla/html– Joomla web root (uploaded files, extensions, custom templates)
Network Notes
Requires the external proxy network for reverse proxy access.
Docker Run
docker run -d \
--name joomla-mariadb \
-e MARIADB_DATABASE=joomla \
-e MARIADB_USER=joomla \
-e MARIADB_PASSWORD=ChangeThisPassword \
-e MARIADB_ROOT_PASSWORD=ChangeThisRootPassword \
-v /data/joomla/db:/var/lib/mysql \
mariadb:10.11
docker run -d \
--name joomla \
-p 8080:80 \
-e JOOMLA_DB_HOST=mariadb \
-e JOOMLA_DB_USER=joomla \
-e JOOMLA_DB_PASSWORD=ChangeThisPassword \
-e JOOMLA_DB_NAME=joomla \
-e JOOMLA_SITE_NAME="My Joomla Site" \
-e JOOMLA_ADMIN_USER="Joomla Admin" \
-e JOOMLA_ADMIN_USERNAME=admin \
-e JOOMLA_ADMIN_PASSWORD=ChangeThisPassword \
-e JOOMLA_ADMIN_EMAIL=admin@example.com \
-v /data/joomla/html:/var/www/html \
--link joomla-mariadb:mariadb \
joomla:5
Additional Notes / Gotchas
- Setting
JOOMLA_ADMIN_*env vars enables auto-deployment and skips the browser setup wizard. Remove them to run the wizard manually. - Admin password must be at least 12 characters long.
- The
htmlvolume persists uploaded files and installed extensions. Back it up before major Joomla upgrades. - For SMTP configuration, add
JOOMLA_SMTP_HOSTandJOOMLA_SMTP_HOST_PORTenvironment variables.
Dockhand Stack, Deploy from Git
Cookbooks Repository stackname: joomla Compose file path: joomla_dev/compose.yaml Additional env file (optional): joomla_dev/sample.env
Then "Load" joomla_dev/sample.env into the Environmental variables in dockhand
Create the Stack