Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 2.55 KB

File metadata and controls

70 lines (49 loc) · 2.55 KB

🐳 WorkFlow Docker & Docker Compose Installation Guide

Run WorkFlow on any Linux, Windows, macOS, or Cloud server in under 2 minutes using Docker!


⚡ Quick Start (1 Command)

Ensure you have Docker and Docker Compose installed, then run:

cp .env.example .env

Edit .env and set WORKFLOW_DB_ROOT_PASSWORD / WORKFLOW_DB_PASSWORD to real values (e.g. generate one with openssl rand -base64 24) — Docker Compose refuses to start without them, on purpose, so no install ever runs on a known default password. Leave WORKFLOW_ENCRYPTION_KEY blank; the installer generates one for you.

docker compose up -d --build

This single command will spin up 3 isolated, connected containers:

  1. workflow_app — Apache 2.4 + PHP 8.2 (Running at http://localhost:8080/)
  2. workflow_db — MariaDB 10.11 / MySQL (Port 3306)
  3. workflow_pma — phpMyAdmin Database Manager (Running at http://localhost:8081/)

🚀 Step-by-Step Installation Wizard inside Docker

Once your containers are running, open your web browser and navigate to:

http://localhost:8080/setup/

Step 2 (Database & Branding Setup) is pre-filled with the connection details Docker Compose already knows — host db, database workflow_platform, username workflow, and the password you set in .env — so there's nothing to type there, just review and continue.

Then customize your Workspace Name, Motto, and Admin Login Credentials, and click "🚀 Run Installation →"!

The database password and a freshly-generated encryption key end up in .env (gitignored, chmod 600) — config.php itself never contains a literal secret, only getenv(...) calls (see config.sample.php).


💾 Data Persistence & Volumes

Your data is completely safe across container restarts, rebuilds, and server reboots:

  • Database Storage: Stored in the Docker volume workflow_db_data.
  • Uploaded Files & Attachments: Stored in the Docker volume workflow_uploads (mapped to /var/www/html/uploads).
  • Configuration & Lockfiles: Mapped directly to your local working directory so you can inspect or reset them at any time.

🧰 Useful Docker Commands

  • View live logs:
    docker compose logs -f app
  • Stop containers without losing data:
    docker compose down
  • Restart containers:
    docker compose restart
  • Complete Reset (Wipes database and start fresh):
    docker compose down -v