Erste Schritte
Konfiguration
Alle Umgebungsvariablen von Annuva mit ihren Standardwerten. Jede Variable ist optional.
Annuva wird über Umgebungsvariablen konfiguriert – in der compose.yaml, mit docker run -e oder in der Entwicklung über eine .env-Datei. Jede Variable ist optional: Ohne Konfiguration startet Annuva als Einzelinstanz mit SQLite im Datenordner.
Ungültige Werte stoppen den Server beim Start mit einer Meldung, die die Variable nennt.
Anwendung
| Variable | Standard | Beschreibung |
|---|---|---|
APP_MODE |
single |
single: selbst gehostet mit Setup-Assistent. multi: mehrere Mandanten mit Selbstregistrierung (vorbereitet). |
APP_NAME |
Annuva |
Name in der Oberfläche und in E-Mails. |
APP_URL |
– | Öffentliche URL. Nur für Links in E-Mails nötig, die ohne Request verschickt werden; sonst wird sie aus dem Request gelesen. |
HOSTNAME |
0.0.0.0 |
Adresse, auf der der Server lauscht. |
PORT |
40100 |
Port, auf dem der Server lauscht. |
DATA_DIR |
./data |
Datenbank (SQLite), hochgeladene Dateien, Rechnungs-PDFs und erzeugte Secrets. Im Image: /var/www/data. |
DEFAULT_LOCALE |
en |
Sprache für neue Benutzer, wenn die Browsersprache nicht unterstützt wird (de, en). |
DEFAULT_TIMEZONE |
Europe/Berlin |
Zeitzone für neue Benutzer. |
UPLOAD_MAX_SIZE |
20MB |
Maximale Upload-Größe (B, KB, MB, GB). |
GRAVATAR_ENABLED |
true |
Gravatar nutzen, wenn ein Benutzer kein Profilbild hat. |
LOG_LEVEL |
info |
debug, info, warn oder error. |
Datenbank
| Variable | Standard | Beschreibung |
|---|---|---|
DB_DRIVER |
sqlite |
sqlite, mysql oder postgres. |
DB_SQLITE_FILE |
annuva.sqlite |
SQLite-Datei, relativ zu DATA_DIR. |
DB_HOST |
localhost |
Host von MySQL/Postgres. |
DB_PORT |
3306 / 5432 |
Port von MySQL/Postgres. |
DB_NAME |
annuva |
Name der Datenbank. |
DB_USER |
annuva |
Datenbankbenutzer. |
DB_PASSWORD |
– | Passwort der Datenbank. |
DATABASE_URL |
– | Alternative zu den DB_*-Werten, z. B. postgres://user:pass@host/db. |
Sicherheit
| Variable | Standard | Beschreibung |
|---|---|---|
AUTH_SECRET |
erzeugt | Secret für Sitzungs- und Token-Hashes. Wird bei leerem Wert in DATA_DIR/.auth-secret erzeugt. |
SETUP_TOKEN |
erzeugt | Schützt den Setup-Assistenten. Wird bei leerem Wert erzeugt und ins Log geschrieben. |
SESSION_MAX_AGE_DAYS |
30 |
Gültigkeit einer Anmeldung in Tagen. |
Wenn du
AUTH_SECRETselbst setzt, halte es stabil: Eine Änderung meldet alle ab und macht alle API-Tokens ungültig.
Ohne SMTP_HOST werden keine E-Mails verschickt – Passwort-Reset, Rechnungsversand und Mahnungen sind dann in der Oberfläche deaktiviert.
| Variable | Standard | Beschreibung |
|---|---|---|
SMTP_HOST |
– | SMTP-Server. |
SMTP_PORT |
587 |
SMTP-Port. |
SMTP_SECURE |
false |
true für implizites TLS (Port 465). |
SMTP_USER |
– | SMTP-Benutzer. |
SMTP_PASSWORD |
– | SMTP-Passwort. |
MAIL_FROM |
– | Absenderadresse. Mails gehen als "<Firma> via Annuva" <MAIL_FROM> raus, mit der Firmen-E-Mail als Reply-To. |
Beispiel
environment:
TZ: Europe/Berlin
DEFAULT_LOCALE: de
SMTP_HOST: smtp.example.com
SMTP_PORT: 587
SMTP_USER: annuva@example.com
SMTP_PASSWORD: secret
MAIL_FROM: annuva@example.com