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

FreeScout auf dem Synology NAS installieren: Helpdesk-Postfach für Support-Teams

FreeScout bringt Shared Inbox, Ticket-Zuweisung und Auto-Reply auf dein Synology NAS – als selbst gehosteter HelpScout-Klon ohne SaaS-Abo. Diese Anleitung zeigt den vollständigen Compose-Stack mit MariaDB und IMAP/SMTP-Anbindung, inklusive Verifikation nach jedem Schritt.

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

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 löst dieses „CC-Chaos" durch eine Shared Inbox mit Ticket-Zuweisung, Kollisionserkennung und automatischen Antwortregeln – ohne monatliches SaaS-Abo (HelpScout kostet ab 50 USD/Monat). Das Projekt ist ein aktiv gepflegter Open-Source-HelpScout-Klon (MIT-Lizenz, PHP/Laravel, Version 1.8.224 vom Juni 2026, 4.300+ GitHub-Stars), läuft komplett in Docker und ist damit ideal für das Synology NAS als hausinterner Support-Server für 2–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 – lies zuerst Exchange Online: SPF, DKIM und DMARC für die eigene Domäne, bevor du IMAP einrichtest

Schritt 1: Ordnerstruktur anlegen

Öffne die File Station und lege folgende Ordner an. Falls du dir unsicher bist, wie Ordner und Berechtigungen auf dem Synology NAS funktionieren, hilft 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). Falls der erste Start mit einem Berechtigungsfehler abbricht, führe 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

Erstelle eine neue Datei compose.yaml im Ordner /volume1/docker/freescout. Das kannst du direkt im Container Manager (Projekt-Tab > Neues Projekt > YAML einfügen) tun – oder per SSH. Eine Einführung in den Compose-Workflow im Container Manager findest du unter Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren.

Passe mindestens folgende Werte an deine Umgebung an, bevor du den Stack startest:

  • APP_URL: deine externe HTTPS-URL, exakt 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 deines 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"
      # --- Reverse Proxy / SSL ---
      ENABLE_SSL_PROXY: "TRUE"
      # --- 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: Das korrekte aktuelle Image ist ghcr.io/nfrastack/container-freescout:latest. Das Projekt wurde vom ursprünglichen Maintainer an nfrastack übergeben. Das alte ghcr.io/tiredofit/docker-freescout:latest aus veralteten Anleitungen liefert noch v1 – nicht verwenden.
  • Stabiles Tag: Wenn du unkontrollierte Updates vermeiden willst, pin auf ghcr.io/nfrastack/container-freescout:2.1.0-php8.4.
  • 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.4, Alpine, ~220 MB, amd64 + arm64
Image (gepinnt)ghcr.io/nfrastack/container-freescout:2.1.0-php8.4Fü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

Starte das Projekt im Container Manager über den Button „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). Dieser Vorgang dauert je nach NAS-CPU 2–5 Minuten. Brich ihn nicht ab. Beobachte den Fortschritt live:

docker logs freescout -f

Die Installation ist abgeschlossen, sobald im Log die Zeile erscheint:

FreeScout is ready

Verifizieren: Rufe http://NAS-IP:5135 im Browser auf. Du solltest die FreeScout-Anmeldeseite sehen. Melde dich mit ADMIN_EMAIL und ADMIN_PASS an. Bei einem „502 Bad Gateway" oder weißem Bild warte weitere 1–2 Minuten und lade neu.

Schritt 4: Synology Reverse Proxy und HTTPS einrichten

Damit FreeScout unter https://support.firma.de erreichbar ist und der APP_URL-Wert stimmt, richtest du einen Reverse-Proxy-Eintrag ein. Gehe in der DSM-Systemsteuerung zu Anmeldeportal > Erweitert > Reverse-Proxy und lege eine neue Regel an:

  • 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)

Öffne außerdem unter Systemsteuerung > Sicherheit > Firewall Port 5135 für das lokale Netzwerk. Eine detaillierte Anleitung zur DSM-Firewall findest du unter DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben.

Warum ENABLE_SSL_PROXY=TRUE zwingend nötig ist: Ohne diesen Wert erkennt FreeScout intern nur HTTP, generiert aber absolute URLs mit HTTP. Der Reverse Proxy leitet jedoch auf HTTPS um – das Ergebnis ist ein endloser Redirect-Loop, der den Browser blockiert.

Verifizieren: Rufe https://support.firma.de auf. Das Schloss-Symbol im Browser zeigt ein gültiges Zertifikat. Die FreeScout-Anmeldeseite lädt vollständig ohne Redirect-Fehler (ERR_TOO_MANY_REDIRECTS).

Schritt 5: SMTP-Versand testen

Melde dich als Admin an und gehe zu Admin-Panel > Einstellungen > E-Mail. Klicke auf Test-E-Mail senden. FreeScout verwendet die in der compose.yaml eingetragenen FREESCOUT_MAIL_*-Variablen für den Ausgang. Diese werden beim Container-Start automatisch in die Laravel-.env-Konfiguration geschrieben.

VariableBeispielwertBedeutung
FREESCOUT_MAIL_DRIVERsmtpAusgehender Mailtreiber
FREESCOUT_MAIL_HOSTsmtp.ionos.deSMTP-Server deines 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. Im FreeScout-Admin-Panel erscheint die grüne Meldung „E-Mail wurde erfolgreich gesendet". Kommt keine Mail an, prüfe den 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. Gehe zu Admin-Panel > Mailboxen > Neue Mailbox anlegen und fülle 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: dein IMAP-Passwort

FreeScout pollt das Postfach automatisch über den eingebauten Cron-Scheduler – kein externer Cronjob auf dem NAS nötig. Eingehende Mails werden nach dem Fetch als gelesen markiert; achte darauf, dass kein anderer E-Mail-Client dasselbe IMAP-Konto gleichzeitig verwendet, da das den Fetch-Mechanismus stört.

Microsoft-365-Nutzer: Klassisches IMAP mit Benutzername/Passwort ist bei M365 seit Oktober 2022 deaktiviert. Du benötigst das FreeScout OAuth-Modul (im Marketplace) oder einen eigenen IMAP-Server. Mehr dazu in der Anleitung Exchange Online: SPF, DKIM und DMARC für die eigene Domäne.

Verifizieren: Klicke in der Mailbox-Konfiguration auf Verbindung testen – FreeScout meldet „Verbindung erfolgreich". Schicke 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

Nach dem erfolgreichen IMAP-Test prüfst du den vollständigen Roundtrip:

  1. Öffne die frisch eingegangene Konversation in FreeScout.
  2. Verfasse eine Antwort über den Antwort-Editor und klicke auf Senden.
  3. Prüfe im Postfach des ursprünglichen Absenders, ob die Antwort ankommt (SMTP-Weg).
  4. Antworte auf diese Antwort – 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. Aktiviere sie unter Admin-Panel > Mailboxen > [Mailbox bearbeiten] > Auto-Reply. Für erweiterte Regelwerke (z. B. Abwesenheitszeiten) gibt es die kostenlosen Module „Office Hours" und „Noreply Emails" im FreeScout-Marketplace.

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: ENABLE_SSL_PROXY=TRUE fehlt oder ist falsch geschrieben. Trage es in der compose.yaml ein und starte 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. Beobachte docker logs freescout -f bis „FreeScout is ready" erscheint. Kein Abbruch.
  • „SQLSTATE[HY000] [2002] Connection refused" im Log: FreeScout hat vor MariaDB gestartet. Durch restart: on-failure:5 versucht FreeScout automatisch den Neustart. Falls der Fehler dauerhaft bleibt, prüfe ob freescout-db läuft: docker ps | grep freescout-db.
  • E-Mail-Fetch funktioniert nicht: Prüfe, ob der Scheduler im Container läuft: docker exec freescout ps aux | grep artisan. Es sollte ein artisan schedule:run-Prozess sichtbar sein. 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üfe 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: Falls du ghcr.io/tiredofit/docker-freescout:latest aus einer alten Anleitung kopiert hast, bekommst du v1 ohne aktuellen Support. Ersetze es durch ghcr.io/nfrastack/container-freescout:latest und passe den Logs-Volume-Pfad von /www/logs auf /logs an.
  • 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 pollt das Postfach dann automatisch alle paar Minuten über den eingebauten Cron-Scheduler – kein externer Cronjob auf dem NAS nötig.

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. Ein Container, eine Datenbank, beliebig viele Postfächer – ideal für support@, sales@, billing@ in einem KMU.

Was ist der Unterschied zu Chatwoot und GLPI?

FreeScout ist rein E-Mail-fokussiert – die ideale Einstiegslösung als HelpScout-Ersatz für KMU mit 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?

Setze FREESCOUT_APP_LOCALE=de in der compose.yaml – das greift beim Container-Start automatisch. Alternativ nach dem Login: Admin-Panel > Einstellungen > Sprache > Deutsch auswählen. Das deutsche Sprachpaket ist im FreeScout-Marketplace kostenlos verfügbar.

Wie migriere ich vom alten tiredofit-Image auf nfrastack?

Lege zuerst ein Backup von /volume1/docker/freescout/data und /volume1/docker/freescout/db an. Aktualisiere dann die compose.yaml: Image auf ghcr.io/nfrastack/container-freescout:latest ändern, Logs-Volume-Pfad von /www/logs auf /logs anpassen. Container stoppen (docker compose down), neu starten (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. Mit TRUE lädt der Container bei jedem Neustart die neueste FreeScout-Version, führt Datenbank-Migrationen aus und verzögert den Start unkontrolliert. Führe Updates stattdessen kontrolliert durch: docker compose pull && docker compose up -d, wenn du Zeit hast das Ergebnis zu prüfen.

Fazit

FreeScout ist der pragmatische E-Mail-Helpdesk für KMU, die sofort produktiv werden wollen, ohne ein teures SaaS-Abo. Der Compose-Stack mit MariaDB ist in unter 35 Minuten aufgesetzt, der SMTP-Ausgang läuft über Umgebungsvariablen, und die IMAP-Konfiguration in der Web-UI dauert keine fünf Minuten. Wer bisher mit einer geteilten Mailbox in Outlook oder Thunderbird gearbeitet hat, wird die Kollisionserkennung, die Ticket-Zuweisung und die internen Notizen von FreeScout sofort zu schätzen wissen. Für Teams, die über E-Mail hinausgehen wollen, ist Chatwoot (Multichannel) oder GLPI (ITSM) der nächste Schritt – die Links dazu findest du 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).