Skip to main content

Easy Joomla! Docker Deployment

Deploy Joomla and OpenSSH Docker containers effortlessly…

Cross-Platform
Bash-based utility
Interactive and CLI-driven
Automation-ready
Self-Updating
Environment-managed
With this script, you can effortlessly deploy Dockerized Joomla and OpenSSH environments across multiple operating systems. Combined with automated configuration management and flexible CLI control, Octojoom provides a powerful and secure foundation for shared development workflows.
Octojoom provides command-line input options similar to those shown in the menus below, but these are not the only way to configure your environment. If required values are not supplied through command arguments, the script will automatically prompt you in the terminal to enter the necessary information at the appropriate time.
Environment variables play a central role throughout the system. Octojoom works with multiple .env files and will create and manage them for you as needed. Whenever a task depends on specific environment values, the script checks whether they already exist. If a value is missing, you will be prompted to provide it, and it will be stored automatically for future use. The terminal output will also indicate where the relevant .env file is located, giving you full visibility into how your configuration is structured and maintained.

Expanded Platform Support

Ubuntu / Debian / Pop!_OS / Linux Mint

Tested Versions: Ubuntu 20.04 → 24.04, Debian 11 → 12

Installer: apt-get

macOS (Intel & Apple Silicon)

Tested Versions: Monterey → Sonoma

Installer: brew

Windows (MSYS2 / Cygwin / Git Bash)

Tested Versions: Windows 10 & 11

Installer: choco

Other Linux (Fedora / Arch / Manjaro / openSUSE)

Tested Versions: Latest Stable

Installer: Manual


Installation

Ubuntu / Debian / Pop!_OS / Linux Mint

Octojoom is now ready to use! Run it directly to launch the interactive menu.
# Install dependencies
sudo apt-get update
sudo apt-get install -y bash curl whiptail

# Install Octojoom
sudo curl -L "https://raw.githubusercontent.com/octoleo/octojoom/refs/heads/master/src/octojoom" -o /usr/local/bin/octojoom
sudo chmod +x /usr/local/bin/octojoom

# Verify installation
octojoom -h

macOS (Intel & Apple Silicon)

Tip: macOS may prompt you to approve permissions for Docker and terminal utilities on first run.
# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install dependencies
brew install newt
brew install --cask docker

# Launch Docker Desktop once manually
open /Applications/Docker.app

# Install Octojoom
sudo curl -L "https://raw.githubusercontent.com/octoleo/octojoom/refs/heads/master/src/octojoom" -o /usr/local/bin/octojoom
sudo chmod +x /usr/local/bin/octojoom

# Verify
octojoom -h

Windows (MSYS2 / Cygwin / Git Bash)

Important: Ensure Docker Desktop is running before launching Octojoom.
# Install Docker Desktop (download and install manually from docker.com)
    
# Make sure Docker Desktop is running before continuing

# Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = `
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Install dependencies
choco install curl awk newt -y

# Install Octojoom
curl -L "https://raw.githubusercontent.com/octoleo/octojoom/refs/heads/master/src/octojoom" -o /usr/local/bin/octojoom
chmod +x /usr/local/bin/octojoom

# Launch Octojoom
octojoom -h

Other Linux

Install dependencies manually for your distribution:
# Fedora / CentOS / RHEL
sudo dnf install -y bash curl newt

# Arch / Manjaro
sudo pacman -S --needed bash curl newt

# openSUSE
sudo zypper install -y bash curl newt

# Install Octojoom
sudo curl -L "https://raw.githubusercontent.com/octoleo/octojoom/refs/heads/master/src/octojoom" -o /usr/local/bin/octojoom
sudo chmod +x /usr/local/bin/octojoom

# Works across most Linux distributions — if Bash, Curl, and Docker are installed, Octojoom will run seamlessly.

Octojoom Advanced Features

  • Setup Traefik as entry-point egress router for all containers
  • Create, edit, and remove containers with full control
  • Bulk deploy and auto-deploy container environments
  • Migrate containers, and folders to remote hosts
  • User has full editing ability of the container
  • Switches: Enable all and disable all enabled containers
  • Octojoom creates a Docker compose yaml file with all needed configurations of the container
  • Automatically deploy portainer: browser interface for docker containers
  • Openssh collaborations: intensely secure access to multiple users for multiple containers

Designed for Secure Multi-User Collaboration

Cross-Platform Ready from Day One

Get ready for Lightning Fast Docker Deployment

Built to run in Terminal with minimal effort

Usage Guidelines

Help Menu

octojoom -h

Updating Octojoom

octojoom --update

Uninstall

# Remove Octojoom cleanly

octojoom --uninstall

# You'll be asked to choose:

  Complete Uninstall: Removes script, containers, and persistent volumes.
  Script Only: Keeps containers but removes Octojoom.
  Selective Mode: Lets you pick which parts to delete interactively.
Usage

Overcome Any Obstacle

OctoJoom provides a very stable solution for Joomla! users to continue seamless Docker deployments for local development as well as production.

We took automation to the next level. While freedom of choice remains yours, we took the guesswork upon ourselves.

OctoJoom was developed with agility in mind to provide a solution that will continue to be supported well into the future. Most projects conceived by OctoLeo are born out of need within our own software infrastructure—where the need for automation and integration arise. As our projects fulfill our own personal objectives, we need to continue development, support, and maintenance for the projects to provide continued improvement of our own infrastructure.

Now you can deploy your next container in a whole new way.

How to Contribute

Fork

this repository

Create

a feature Branch

Make

your changes

Run

lint check:
shellcheck src/octojoom

Submit

a pull request with a clear explanation