A robust, production-ready toolset for spinning up Joomla sites instantly using Docker.
- 🚀 Instant Setup: Create a full Joomla + MySQL stack in seconds.
- 🔄 Smart Port Management: Automatically finds available ports (no collisions).
- 🛠 Interactive Mode: Prompts for details if arguments are missing.
- 📊 Dashboard: View all running sites, keys URLs, and status in one CLI view.
- 🛡 Production Ready: Optimized Docker compose templates with restart policies.
git clone https://github.com/siddik-web/joomla-docker-cli.git
cd joomla-docker-cli
chmod u+x *.shRun interactively:
./create-site.shOr non-interactively:
# Usage: ./create-site.sh <site_name> [username] [email] [password]
./create-site.sh my-shop admin admin@example.com secret123Check which sites are running and on what ports:
./list-sites.shOutput:
SITE NAME PORT STATUS URL
--------- ---- ------ ---
easystore-demo 8080 Running 🟢 http://localhost:8080
my-shop 8081 Running 🟢 http://localhost:8081
Safely teardown containers and volumes:
./remove-site.sh my-shopThe template.yml file acts as the blueprint for new sites. It includes:
- Joomla: Latest stable image.
- MySQL: Version 8.0.
- Persistence: Named volumes for DB and Web data.
- Restart Policy:
unless-stopped(auto-restart on reboot).
Contributions are welcome! See CONTRIBUTING.md for details.
This project is licensed under the MIT License.