Skip to content

Docker

Huddle ships with Docker Compose for local development and installer testing. The app runs in PHP 8.4 + Apache with optional MariaDB 11.

Compose files

FilePurpose
DockerCompose.yamlFresh install — resets .env and database on start. Use to test the web installer.
DockerCompose.dev.yamlDevelopment — persists .env and database volume between restarts.

Both expose the app at http://localhost:8000.

Fresh install scripts

bash
# Linux / macOS
./scripts/fresh-install.sh

# Windows (PowerShell)
.\scripts\fresh-install.ps1

These reset install artifacts, tear down volumes, and start DockerCompose.yaml.

Database defaults (fresh install)

SettingValue
ConnectionMySQL
Hostdb
Port3306
Databasehuddle
Usernamehuddle
Passwordsecret

Use host db in the setup wizard — not localhost.

Setup wizard steps

  1. Requirements — PHP extensions, writable directories
  2. Database — connection test, migrations
  3. Admin — first administrator (minimum 12-character password)

After completion, the installer swaps .htaccess and redirects to /login.

Troubleshooting

Database connection refused — use host db, not localhost.

Setup wizard missing — restore setup htaccess:

bash
cp huddle/public/.htaccess.setup huddle/public/.htaccess

Permission errors — inside the container:

bash
chown -R www-data:www-data storage bootstrap/cache database public

Native tools, weird experiments, and practical performance work.