FreeScout auf dem Synology NAS installieren: Helpdesk-Postfach für Support-Teams
FreeScout bringt ein gemeinsames Postfach, Ticket-Zuweisung und automatische Antworten auf Ihr Synology NAS, als selbst gehostete Help-Scout-Alternative. Die Anleitung zeigt den Compose-Stack mit MariaDB und IMAP/SMTP-Anbindung mit Prüfung nach jedem Schritt.
Geprüft am 30.09.2026 · für freescout 2.2.14
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Wer im KMU einen support@-E-Mail-Account mit dem Team teilt, kennt das Problem: doppelte Antworten, übersehene Mails, kein Überblick wer gerade an welcher Anfrage arbeitet. FreeScout ersetzt dieses „CC-Chaos“ durch ein gemeinsames Postfach (Shared Inbox) mit Ticket-Zuweisung, Kollisionserkennung und automatischen Antwortregeln, ohne SaaS-Abo. Das Projekt ist eine aktiv gepflegte Open-Source-Alternative zu Help Scout (AGPL-3.0, PHP/Laravel, Version 1.8.243 im September 2026) und läuft in Docker, auf dem Synology NAS etwa als interner Support-Server für 2 bis 20 Agenten.
Voraussetzungen
- Synology NAS mit DSM 7.2 oder höher, x86_64- oder ARM64-CPU
- Mindestens 2 GB RAM (empfohlen: 4 GB), mindestens 5 GB freier Speicher auf
/volume1 - Container Manager aus dem Synology Package Center installiert
- Eigene Domain mit SSL-Zertifikat, z. B.
support.firma.de(Let's Encrypt über DSM-Zertifikatsverwaltung) - E-Mail-Konto mit IMAP- und SMTP-Zugang, dediziert für FreeScout (z. B.
support@firma.de) - SMTP-Zugangsdaten des Ausgangsservers (Host, Port, Benutzername, Passwort)
- Internetzugang des NAS für den Image-Download (~220 MB von ghcr.io)
- Hinweis für Microsoft-365-Nutzer: M365 hat klassisches IMAP mit Passwort seit Oktober 2022 deaktiviert – siehe Schritt 6 und Exchange Online: SPF, DKIM und DMARC für die eigene Domäne
Schritt 1: Ordnerstruktur anlegen
Öffnen Sie die File Station und legen Sie folgende Ordner an. Ordner und Berechtigungen erklärt die Grundanleitung Docker-Ordner und Berechtigungen auf dem Synology NAS.
/volume1/docker/freescout/
/volume1/docker/freescout/data
/volume1/docker/freescout/logs
/volume1/docker/freescout/db
Der Container läuft als www-data (UID 33). Bricht der erste Start mit einem Berechtigungsfehler ab, führen Sie einmalig in der DSM-Aufgabenplanung als root aus:
chmod 777 /volume1/docker/freescout/data
Verifizieren: Alle drei Unterordner (data, logs, db) erscheinen in der File Station unter /volume1/docker/freescout.
Schritt 2: compose.yaml erstellen
Erstellen Sie die Datei compose.yaml im Ordner /volume1/docker/freescout, direkt im Container Manager (Projekt > Erstellen > YAML einfügen) oder per SSH. Einführung: Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren.
Passen Sie vor dem Start mindestens folgende Werte an:
APP_URL: Ihre externe HTTPS-URL, ohne abschließendes/ADMIN_EMAILundADMIN_PASS: Zugangsdaten für den ersten Admin-AccountDB_PASS/MYSQL_PASSWORD: identische Passwörter in beiden ServicesMYSQL_ROOT_PASSWORD: sicheres MariaDB-Root-PasswortFREESCOUT_MAIL_HOST,FREESCOUT_MAIL_USERNAME,FREESCOUT_MAIL_PASSWORD: SMTP-Zugangsdaten Ihres Ausgangsservers
services:
freescout-db:
image: mariadb:11.4
container_name: freescout-db
restart: on-failure:5
environment:
MYSQL_ROOT_PASSWORD: "RootPassSicher99"
MYSQL_DATABASE: "freescout"
MYSQL_USER: "freescoutuser"
MYSQL_PASSWORD: "DbPass_Sicher42"
volumes:
- /volume1/docker/freescout/db:/var/lib/mysql
networks:
- freescout-net
freescout:
image: ghcr.io/nfrastack/container-freescout:latest
container_name: freescout
restart: on-failure:5
depends_on:
- freescout-db
ports:
- "5135:80"
environment:
# --- Pflicht ---
APP_URL: "https://support.firma.de"
ADMIN_EMAIL: "admin@firma.de"
ADMIN_PASS: "SicheresPasswort123!"
DB_TYPE: "mariadb"
DB_HOST: "freescout-db"
DB_NAME: "freescout"
DB_USER: "freescoutuser"
DB_PASS: "DbPass_Sicher42"
# --- App-Einstellungen ---
SETUP_TYPE: "AUTO"
ENABLE_AUTO_UPDATE: "FALSE"
TZ: "Europe/Berlin"
ADMIN_FIRST_NAME: "Support"
ADMIN_LAST_NAME: "Admin"
# --- Ausgehende E-Mail (SMTP) ---
FREESCOUT_MAIL_DRIVER: "smtp"
FREESCOUT_MAIL_HOST: "smtp.ionos.de"
FREESCOUT_MAIL_PORT: "587"
FREESCOUT_MAIL_USERNAME: "support@firma.de"
FREESCOUT_MAIL_PASSWORD: "MailPasswort"
FREESCOUT_MAIL_ENCRYPTION: "tls"
FREESCOUT_APP_LOCALE: "de"
FREESCOUT_APP_TIMEZONE: "Europe/Berlin"
volumes:
- /volume1/docker/freescout/data:/data
- /volume1/docker/freescout/logs:/logs
networks:
- freescout-net
networks:
freescout-net:
driver: bridge
Wichtige Hinweise zur compose.yaml:
- Image: Aktuell ist
ghcr.io/nfrastack/container-freescout:latest(Serie 2.x). Das alteghcr.io/tiredofit/docker-freescoutliefert die Serie 1.x und wird nicht mehr gepflegt. - Festes Tag: Um unkontrollierte Updates zu vermeiden, schreiben Sie die Version fest, z. B.
ghcr.io/nfrastack/container-freescout:2.2.14(Stand September 2026). - ENABLE_AUTO_UPDATE=FALSE: Verhindert, dass bei jedem Container-Neustart automatisch die neueste FreeScout-Version gezogen wird – wichtig für den Produktivbetrieb.
- restart: on-failure:5: MariaDB und FreeScout starten beim ersten Hochfahren u. U. nicht perfekt synchronisiert. Fünf automatische Neustarts reichen, damit FreeScout nach dem DB-Start eine Verbindung bekommt.
| Parameter | Wert | Hinweis |
|---|---|---|
| Image (aktuell) | ghcr.io/nfrastack/container-freescout:latest | PHP 8.5, Alpine, amd64 und arm64 |
| Image (gepinnt) | ghcr.io/nfrastack/container-freescout:2.2.14 | Für reproduzierbare Deployments |
| Datenbank | mariadb:11.4 | LTS bis Mai 2029, empfohlen |
| Port | 5135:80 | Extern 5135 → intern 80; HTTPS via Reverse Proxy |
| Volume App-Daten | /volume1/docker/freescout/data:/data | Sessions, Cache, Uploads, Module – Pflicht |
| Volume Logs | /volume1/docker/freescout/logs:/logs | Nginx, PHP, Laravel-Scheduler; in v2: /logs (nicht /www/logs) |
| Volume Datenbank | /volume1/docker/freescout/db:/var/lib/mysql | MariaDB-Datenbankdateien – Pflicht |
Verifizieren: Die YAML-Syntax ist fehlerfrei, wenn der Container Manager beim Anlegen des Projekts keine roten Fehlermeldungen zeigt und beide Services (freescout und freescout-db) im Projekt-Tab aufgelistet sind.
Schritt 3: Container starten und Erstinstallation abwarten
Starten Sie das Projekt im Container Manager über „Starten“ oder per SSH:
docker compose -f /volume1/docker/freescout/compose.yaml up -d
Beim allerersten Start führt FreeScout automatisch alle Datenbank-Migrationen durch (SETUP_TYPE=AUTO). Das dauert je nach CPU 2 bis 5 Minuten. Brechen Sie den Vorgang nicht ab. Den Fortschritt zeigt:
docker logs freescout -f
Die Installation ist abgeschlossen, sobald im Log die Zeile erscheint:
FreeScout is ready
Verifizieren: http://NAS-IP:5135 zeigt die FreeScout-Anmeldeseite, die Anmeldung mit ADMIN_EMAIL und ADMIN_PASS gelingt. Bei „502 Bad Gateway“ oder weißer Seite 1 bis 2 Minuten warten und neu laden.
Schritt 4: Synology Reverse Proxy und HTTPS einrichten
Damit FreeScout unter https://support.firma.de erreichbar ist und zu APP_URL passt, richten Sie einen Reverse-Proxy-Eintrag ein: Systemsteuerung > Anmeldeportal > Erweitert > Reverse Proxy, neue Regel:
- Quellprotokoll: HTTPS, Port 443, Hostname:
support.firma.de - Ziel: HTTP,
localhost, Port5135 - Zertifikat: Let's Encrypt-Zertifikat für
support.firma.de(DSM-Zertifikatsverwaltung)
Öffnen Sie außerdem unter Systemsteuerung > Sicherheit > Firewall Port 5135 für das lokale Netzwerk. Details: DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben.
FreeScout erzeugt absolute Links aus APP_URL. Steht dort nicht exakt die HTTPS-Adresse des Reverse Proxy, entstehen gemischte Inhalte oder Weiterleitungsschleifen.
Verifizieren: https://support.firma.de zeigt ein gültiges Zertifikat, und die Anmeldeseite lädt ohne Weiterleitungsfehler (ERR_TOO_MANY_REDIRECTS).
Schritt 5: SMTP-Versand testen
Melden Sie sich als Admin an, öffnen Sie Admin-Panel > Einstellungen > E-Mail und klicken Sie auf Test-E-Mail senden. Die FREESCOUT_MAIL_*-Variablen schreibt der Container beim Start ohne Präfix in die FreeScout-Konfiguration (/data/config/config).
| Variable | Beispielwert | Bedeutung |
|---|---|---|
| FREESCOUT_MAIL_DRIVER | smtp | Ausgehender Mailtreiber |
| FREESCOUT_MAIL_HOST | smtp.ionos.de | SMTP-Server Ihres Providers |
| FREESCOUT_MAIL_PORT | 587 | 587 = STARTTLS, 465 = SSL/TLS |
| FREESCOUT_MAIL_USERNAME | support@firma.de | SMTP-Benutzername |
| FREESCOUT_MAIL_PASSWORD | MailPasswort | SMTP-Passwort |
| FREESCOUT_MAIL_ENCRYPTION | tls | tls für STARTTLS, ssl für SSL/TLS |
Verifizieren: Die Test-E-Mail kommt innerhalb von 1–2 Minuten im Empfängerpostfach an. Kommt keine Mail an, prüfen Sie das Container-Log (docker logs freescout) auf SMTP-Fehlermeldungen wie Connection refused oder Authentication failed.
Schritt 6: Mailbox anlegen und IMAP einrichten
Im Gegensatz zum SMTP-Ausgang wird der IMAP-Eingang nicht per Compose-Variable konfiguriert, sondern nach dem ersten Login in der Web-UI. Öffnen Sie Admin-Panel > Mailboxen > Neue Mailbox anlegen und füllen Sie die Felder aus:
- Name: z. B. „Support“
- E-Mail-Adresse:
support@firma.de - IMAP-Server: z. B.
imap.ionos.de - IMAP-Port: 993 (SSL/TLS) oder 143 (STARTTLS)
- Benutzername:
support@firma.de - Passwort: Ihr IMAP-Passwort
FreeScout ruft das Postfach über den eingebauten Scheduler ab, ein externer Cronjob ist nicht nötig. Abgerufene Mails werden als gelesen markiert; greifen Sie deshalb nicht parallel mit einem anderen E-Mail-Programm auf dasselbe Konto zu.
Microsoft-365-Nutzer: Klassisches IMAP mit Benutzername/Passwort ist bei M365 seit Oktober 2022 deaktiviert. Sie benötigen OAuth (in FreeScout unter den Mailbox-Verbindungseinstellungen bzw. per Modul) oder einen anderen IMAP-Server. Mehr dazu in der Anleitung Exchange Online: SPF, DKIM und DMARC für die eigene Domäne.
Verifizieren: Der Verbindungstest in der Mailbox-Konfiguration meldet Erfolg. Senden Sie dann eine Test-E-Mail an support@firma.de. Nach maximal 2 Minuten erscheint die Mail als neue Konversation unter Konversationen.
Schritt 7: Antwort-Roundtrip und Auto-Reply testen
Prüfen Sie nun den vollständigen Ablauf:
- Öffnen Sie die eingegangene Konversation in FreeScout.
- Verfassen Sie eine Antwort und klicken Sie auf Senden.
- Prüfen Sie im Postfach des Absenders, ob die Antwort ankommt.
- Antworten Sie darauf. FreeScout soll die Folge-Mail der bestehenden Konversation zuordnen (Thread-Erkennung via
In-Reply-To-Header).
Die Auto-Reply-Funktion (automatische Eingangsbestätigung) ist im FreeScout-Core enthalten. Sie aktivieren sie in den Einstellungen der Mailbox unter Auto-Reply. Für weitere Regeln, etwa Geschäftszeiten, gibt es Module im FreeScout-Modulverzeichnis.
Verifizieren: Der Absender erhält die Antwort aus FreeScout. Die Folge-Mail des Absenders erscheint in derselben Konversation (nicht als neue). Ist Auto-Reply aktiviert, kommt bei der ersten eingehenden Mail eine automatische Eingangsbestätigung an.
Troubleshooting / Typische Fehler
- „ERR_TOO_MANY_REDIRECTS“ nach dem Login:
APP_URLpasst nicht zur Adresse des Reverse Proxy (HTTP statt HTTPS, anderer Hostname). Korrigieren Sie den Wert und erstellen Sie den Container neu:docker compose up -d --force-recreate freescout. - Container startet, aber Web-UI lädt nicht (502): Der erste Start dauert 2–5 Minuten. Beobachten Sie
docker logs freescout -f, bis „FreeScout is ready“ erscheint. - „SQLSTATE[HY000] [2002] Connection refused“ im Log: FreeScout hat vor MariaDB gestartet. Durch
restart: on-failure:5versucht FreeScout automatisch den Neustart. Bleibt der Fehler, prüfen Sie, obfreescout-dbläuft:docker ps | grep freescout-db. - E-Mail-Abruf funktioniert nicht: Prüfen Sie, ob der Scheduler läuft:
docker exec freescout ps aux | grep artisanzeigt einenartisan-Prozess. Außerdem darf das IMAP-Konto nicht gleichzeitig von Outlook, Thunderbird o. Ä. geöffnet sein. - IMAP-Verbindung schlägt bei Microsoft 365 fehl: Basic Auth für IMAP ist bei M365 deaktiviert. Entweder OAuth-Modul aus dem FreeScout Marketplace oder einen separaten IMAP/SMTP-Server nutzen.
- „FreeScout is ready“ erscheint nie: Prüfen Sie die Berechtigungen:
ls -la /volume1/docker/freescout/data. Der Container braucht Schreibzugriff (UID 33). Falls nötig,chmod 777 /volume1/docker/freescout/dataeinmalig ausführen. - Altes tiredofit-Image verwendet:
ghcr.io/tiredofit/docker-freescoutliefert die nicht mehr gepflegte Serie 1.x. Ersetzen Sie es durchghcr.io/nfrastack/container-freescout:latestund ändern Sie den Log-Pfad von/www/logsauf/logs(siehe FAQ). - APP_URL mit abschließendem Schrägstrich oder als HTTP: FreeScout generiert dann falsche Asset-URLs. Korrekt:
https://support.firma.de– ohne/am Ende, mithttps://.
Häufige Fragen
Wie richte ich den IMAP-Empfang für support@firma.de ein?
Die IMAP-Konfiguration erfolgt ausschließlich in der Web-UI, nicht per Compose-Variable. Nach dem ersten Login: Admin-Panel > Mailboxen > Neue Mailbox anlegen, dort IMAP-Host, Port (993/SSL oder 143/STARTTLS), Benutzername und Passwort eintragen. FreeScout ruft das Postfach danach automatisch über den eingebauten Scheduler ab.
Kann ich mehrere Postfächer in einer Installation betreiben?
Ja. FreeScout unterstützt beliebig viele Mailboxen in einer Installation. Jede bekommt eigene IMAP/SMTP-Einstellungen und kann unterschiedlichen Agenten oder Teams zugewiesen werden. So verwalten Sie etwa support@, sales@ und billing@ in einer Installation.
Was ist der Unterschied zu Chatwoot und GLPI?
FreeScout konzentriert sich auf E-Mail und eignet sich als Ersatz für Help Scout bei einem bestehenden support@-Postfach. Chatwoot bietet zusätzlich Live-Chat, WhatsApp und weitere Kanäle und eignet sich für Multichannel-Support. GLPI ist ein vollständiges ITSM-System mit Asset-Management, CMDB und Change-Management für IT-Abteilungen.
Wie aktiviere ich die deutschsprachige Oberfläche?
Setzen Sie FREESCOUT_APP_LOCALE=de in der compose.yaml; der Wert greift beim Container-Start. Jeder Benutzer kann die Sprache zusätzlich in seinem Profil wählen. Deutsch ist in FreeScout enthalten.
Wie migriere ich vom alten tiredofit-Image auf nfrastack?
Sichern Sie zuerst die Datenbank (docker exec freescout-db mariadb-dump -u freescoutuser -p freescout > freescout.sql) und den Ordner /volume1/docker/freescout/data. Ändern Sie dann in der compose.yaml das Image auf ghcr.io/nfrastack/container-freescout:latest und den Log-Pfad von /www/logs auf /logs. Einige 1.x-Variablen brauchen jetzt das Präfix FREESCOUT_ (z. B. APP_TRUSTED_PROXIES), SITE_URL heißt APP_URL. Danach docker compose down und docker compose up -d. Der Container migriert die Konfigurationsdatei beim ersten Start automatisch.
Soll ich ENABLE_AUTO_UPDATE auf TRUE oder FALSE setzen?
Für den Produktivbetrieb: FALSE. Der Standardwert ist TRUE: Dann aktualisiert der Container beim Neustart den FreeScout-Code, sobald die Image-Version abweicht, und führt Migrationen aus. Aktualisieren Sie lieber gezielt mit docker compose pull && docker compose up -d, wenn Sie Zeit für die Kontrolle haben.
Fazit
FreeScout ist ein pragmatischer E-Mail-Helpdesk für KMU ohne SaaS-Abo. Der Compose-Stack mit MariaDB ist in etwa 35 Minuten aufgesetzt, der SMTP-Ausgang läuft über Umgebungsvariablen, der IMAP-Eingang wird in der Weboberfläche eingerichtet. Gegenüber einem geteilten Postfach in Outlook oder Thunderbird bringen Kollisionserkennung, Zuweisung und interne Notizen Ordnung. Für Kanäle über E-Mail hinaus eignet sich Chatwoot, für ITSM GLPI (Links im nächsten Abschnitt).
Weiterführende Anleitungen und Quellen
- Container Manager auf dem Synology NAS: Docker-Compose-Projekt anlegen, starten und aktualisieren
- DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben
- Exchange Online: SPF, DKIM und DMARC für die eigene Domäne – wichtig bei Microsoft 365 und IMAP-OAuth
- Chatwoot auf dem Synology NAS: Kundensupport mit Live-Chat (Multichannel)
- GLPI auf dem Synology NAS: Helpdesk und IT-Asset-Management für KMU
Offizielle Quellen: nfrastack/container-freescout auf GitHub (README mit allen Umgebungsvariablen), freescout-helpdesk/freescout auf GitHub (Hauptprojekt, Versionshistorie), FreeScout Installation Guide (offizielles Wiki).


