Hosting
Deploy Huddle on any server with PHP 8.2+, Apache (recommended), and SQLite or MySQL/MariaDB.
Requirements
| Component | Version |
|---|---|
| PHP | 8.2+ (8.4 recommended) |
| Database | SQLite, MySQL, or MariaDB |
| Web server | Apache with mod_rewrite |
Required extensions: pdo, mbstring, openssl, tokenizer, xml, ctype, json, fileinfo, curl, gd, intl
Document root
Point the web server at huddle/public/, not the repository root.
/var/www/huddle/huddle/public/ ← document rootOnly public/ should be web-accessible.
Web installer
- Upload files (or use a deployment build)
- Ensure
storage/,bootstrap/cache/, anddatabase/are writable - Copy setup htaccess if this is a fresh install:
bash
cp public/.htaccess.setup public/.htaccess- Visit
https://your-domain.example/setup.php - Complete requirements, database, and admin steps
Production .env
dotenv
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-domain.example
MAIL_MAILER=smtp
# ... mail settings ...
GDPR_CONTROLLER_NAME="Your Organization"
GDPR_CONTACT_EMAIL=privacy@your-domain.exampleCron and queue
text
* * * * * cd /path/to/huddle && php artisan schedule:run >> /dev/null 2>&1Run a queue worker for emails and background jobs:
bash
php artisan queue:workUpdates
bash
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cacheRestart queue workers after deploying code changes.
