Everything you need to install, configure and run APBoard – explained in full, even for complete beginners.
Common problems and their solutions – organized by topic. If you can’t find your problem here, check the forum or open an issue on GitLab.
Check the container logs first:
docker compose logs apboard
docker compose logs db
docker compose ps Common causes:
ss -tlnp | grep ':80'.envdocker compose restart apboardss -tlnp | grep ':80'
ss -tlnp | grep ':443'
sudo systemctl stop nginx
sudo systemctl stop apache2
sudo systemctl disable nginx
sudo systemctl disable apache2 DB_HOST=db in the .env? (Not localhost!)DB_PASSWORD) match what was set on first start?docker compose psdocker compose exec db mysql -u apboard -p nslookup forum.my-domain.com
dig forum.my-domain.com +short
curl -v http://forum.my-domain.com/ Let’s Encrypt / Certbot requires port 80 to be publicly reachable and the domain already pointing to the server. DNS propagation can take up to 24 hours.
docker compose logs traefik | grep -i "acme\|certificate\|error"
ufw status | grep 80 Common causes: port 80 blocked by firewall, domain not yet pointing to server, Let’s Encrypt rate limit exceeded, acme.json has wrong permissions → must be 600: chmod 600 acme.json.
APP_URL in .env doesn’t match the actual URL. The value must be exact, e.g. https://forum.my-domain.com – no trailing slash, including https://.
Check Apache logs:
tail -100 /var/log/apache2/forum-error.log Common causes: missing PHP extension, wrong file permissions, .htaccess issue, APP_KEY not set → php artisan key:generate.
Cause: mod_rewrite not enabled or AllowOverride All missing.
sudo a2enmod rewrite
sudo systemctl reload apache2 php -i | grep -E "upload_max_filesize|post_max_size|memory_limit" Typical values to increase: upload_max_filesize = 20M, post_max_size = 25M. Change in /etc/php/8.5/apache2/php.ini and reload Apache.
.env – host, port, username, passworddocker compose exec apboard php artisan tinker
# Then: Mail::raw('Test', fn($m) => $m->to('test@example.com')->subject('Test')); MAIL_FROM_ADDRESS matches the server’s domainfree -hphp -r "echo opcache_get_status()['opcache_enabled'];"docker stats# Docker:
docker compose exec apboard php artisan user:password USERNAME
# LAMP:
php artisan user:password USERNAME Check the APBoard forum or open an issue on GitLab. Describe:
git log --oneline -1 or in the admin panel)