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
| File | Purpose |
|---|---|
DockerCompose.yaml | Fresh install — resets .env and database on start. Use to test the web installer. |
DockerCompose.dev.yaml | Development — 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.ps1These reset install artifacts, tear down volumes, and start DockerCompose.yaml.
Database defaults (fresh install)
| Setting | Value |
|---|---|
| Connection | MySQL |
| Host | db |
| Port | 3306 |
| Database | huddle |
| Username | huddle |
| Password | secret |
Use host db in the setup wizard — not localhost.
Setup wizard steps
- Requirements — PHP extensions, writable directories
- Database — connection test, migrations
- 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/.htaccessPermission errors — inside the container:
bash
chown -R www-data:www-data storage bootstrap/cache database public