APBoard v3 · Documentation

Documentation

Everything you need to install, configure and run APBoard – explained in full, even for complete beginners.

APBoard Documentation Configuration

.env & config.php

All APBoard configuration options at a glance. Here you’ll learn what each variable means and how to correctly configure SMTP, database connection and security settings.

Where is the configuration?

APBoard uses two configuration files:

  • .env – environment variables. Contains all credentials and environment-specific settings (production vs. development). With Docker installations it lies in the APBoard root directory.
  • config/config.php – extended configuration block for settings that cannot be set via .env. With LAMP installations this file is created automatically by the web installer.
Security notice

The .env file contains passwords and credentials. It must never be publicly accessible. With LAMP installations ensure Apache does not serve this file. With Docker it is protected by the container setup.

All .env variables

Application

VariableDefaultDescription
APP_NAMEAPBoardApplication name. Appears in browser tab and email headers.
APP_URL(required)Full URL of the forum. E.g. https://forum.my-domain.com. No trailing slash.
APP_ENVproductionproduction for live operation, development for local development.
APP_DEBUGfalseAlways false in production! With true, detailed error messages including passwords are displayed.
APP_KEYgenerated automaticallyCryptographic key for sessions and encrypted data. Never change after installation!
APP_TIMEZONEEurope/BerlinTimezone for date/time values. Valid values: PHP timezones like UTC, America/New_York.
APP_LOCALEdeDefault language of the interface. de for German, en for English.

Database

VariableDefaultDescription
DB_CONNECTIONmysqlDatabase driver. Always mysql (applies to MariaDB too).
DB_HOSTdb (Docker) / localhost (LAMP)Database server hostname. With Docker always db, with LAMP usually localhost.
DB_PORT3306Database port. Default is 3306.
DB_DATABASEapboardDatabase name.
DB_USERNAMEapboardDatabase user.
DB_PASSWORD(required)Database password. Choose a long, random password (min. 20 characters).
MYSQL_ROOT_PASSWORD(Docker only)Root password for the MariaDB container. Only set once on first start.

Email / SMTP

VariableExampleDescription
MAIL_MAILERsmtpEmail sending method. smtp for external SMTP server, log for development, null to disable.
MAIL_HOSTsmtp.mailbox.orgSMTP server hostname.
MAIL_PORT587SMTP port. 587 = STARTTLS (recommended), 465 = SSL/TLS.
MAIL_ENCRYPTIONtlsEncryption. tls for port 587, ssl for port 465.
MAIL_USERNAMEforum@my-domain.comSMTP username (usually the email address).
MAIL_PASSWORD(your SMTP password)SMTP password. For Gmail: use an app password (not account password).
MAIL_FROM_ADDRESSforum@my-domain.comSender email address for all forum mails.
MAIL_FROM_NAMEMy ForumDisplay name of the sender.

SMTP configuration for common providers

mailbox.org

MAIL_HOST
smtp.mailbox.org
MAIL_PORT
587
MAIL_ENCRYPTION
tls

Gmail (with app password)

Google app password required

Gmail no longer supports direct SMTP connections with your account password. Create an app password at myaccount.google.com/apppasswords. 2-factor authentication must be enabled for this.

MAIL_HOST
smtp.gmail.com
MAIL_PORT
587
MAIL_ENCRYPTION
tls
MAIL_PASSWORD
xxxx xxxx xxxx xxxx (app password)

Admin account

VariableDescription
ADMIN_USERNAMEUsername of the first admin account. Created once on first start.
ADMIN_EMAILEmail address of the admin account.
ADMIN_PASSWORDInitial password. Change immediately in the admin panel after first login!

Security guidelines

Important security rules
  • APP_DEBUG=false in production – always
  • Secure, random passwords for database and admin account
  • Never commit .env to Git (already in .gitignore)
  • Never change APP_KEY after installation (invalidates all sessions)
  • Rotate SMTP passwords regularly, especially after security incidents