Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Synology / NAS 11.09.2026 · 10 min Lesezeit

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

FreeScout: Support bündeln. Gemeinsames Postfach, Tickets zuweisen, Antwortregeln. Illustration mit Laptop und NAS.

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_EMAIL und ADMIN_PASS: Zugangsdaten für den ersten Admin-Account
  • DB_PASS / MYSQL_PASSWORD: identische Passwörter in beiden Services
  • MYSQL_ROOT_PASSWORD: sicheres MariaDB-Root-Passwort
  • FREESCOUT_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 alte ghcr.io/tiredofit/docker-freescout liefert 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.
ParameterWertHinweis
Image (aktuell)ghcr.io/nfrastack/container-freescout:latestPHP 8.5, Alpine, amd64 und arm64
Image (gepinnt)ghcr.io/nfrastack/container-freescout:2.2.14Für reproduzierbare Deployments
Datenbankmariadb:11.4LTS bis Mai 2029, empfohlen
Port5135:80Extern 5135 → intern 80; HTTPS via Reverse Proxy
Volume App-Daten/volume1/docker/freescout/data:/dataSessions, Cache, Uploads, Module – Pflicht
Volume Logs/volume1/docker/freescout/logs:/logsNginx, PHP, Laravel-Scheduler; in v2: /logs (nicht /www/logs)
Volume Datenbank/volume1/docker/freescout/db:/var/lib/mysqlMariaDB-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, Port 5135
  • 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).

VariableBeispielwertBedeutung
FREESCOUT_MAIL_DRIVERsmtpAusgehender Mailtreiber
FREESCOUT_MAIL_HOSTsmtp.ionos.deSMTP-Server Ihres Providers
FREESCOUT_MAIL_PORT587587 = STARTTLS, 465 = SSL/TLS
FREESCOUT_MAIL_USERNAMEsupport@firma.deSMTP-Benutzername
FREESCOUT_MAIL_PASSWORDMailPasswortSMTP-Passwort
FREESCOUT_MAIL_ENCRYPTIONtlstls 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:

  1. Öffnen Sie die eingegangene Konversation in FreeScout.
  2. Verfassen Sie eine Antwort und klicken Sie auf Senden.
  3. Prüfen Sie im Postfach des Absenders, ob die Antwort ankommt.
  4. 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_URL passt 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:5 versucht FreeScout automatisch den Neustart. Bleibt der Fehler, prüfen Sie, ob freescout-db lä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 artisan zeigt einen artisan-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/data einmalig ausführen.
  • Altes tiredofit-Image verwendet: ghcr.io/tiredofit/docker-freescout liefert die nicht mehr gepflegte Serie 1.x. Ersetzen Sie es durch ghcr.io/nfrastack/container-freescout:latest und ändern Sie den Log-Pfad von /www/logs auf /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, mit https://.

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

Offizielle Quellen: nfrastack/container-freescout auf GitHub (README mit allen Umgebungsvariablen), freescout-helpdesk/freescout auf GitHub (Hauptprojekt, Versionshistorie), FreeScout Installation Guide (offizielles Wiki).