Ports und Rollen
| Port | Dienst | Erreichbarkeit | Hinweise |
|---|---|---|---|
| 80, 443 | Caddy | Öffentlich im öffentlichen Modus | Liefert die Web-Oberfläche aus, leitet /api/* per Reverse Proxy an api weiter, terminiert TLS (automatisches Let’s Encrypt für RESTOW_APP_DOMAIN). Leitet außerdem /agent/* und /install/* an api weiter (siehe Agent-Endpunkte). |
3000 (RESTOW_API_PORT) |
api |
Standardmäßig nur Loopback | Health-Checks und die REST-API; nur direkt auf dem Host oder öffentlich über Caddy erreicht. |
5432 (POSTGRES_PORT) |
postgres |
Im Quell-Stack nur Loopback; im Release-Stack nicht veröffentlicht | PostgreSQL. |
5173 (RESTOW_WEB_PORT) |
Vite-Dev-Server | Nur Entwicklung | docker compose --profile dev up -d; nicht Teil eines normalen Deployments. |
1025 / 8025 (MAILPIT_SMTP_PORT / MAILPIT_UI_PORT) |
Mailpit | Nur Entwicklung | docker compose --profile mail up -d; ein lokaler SMTP-Fänger zum Testen der Benachrichtigungs-Mail. |
25 (JOURNAL_SMTP_PORT) |
Archiv-Journal-Empfänger | Geschlossen, bis JOURNAL_SMTP_PORT gesetzt ist; TCP 25 eingehend aus dem Internet für das Exchange-Online-Journaling |
Empfängt Journal-Reports von Exchange Online per SMTP mit verpflichtendem STARTTLS; Teil des Archivs, Business und Service Provider. Exchange Online liefert ausschließlich an Port 25 und muss den Empfänger direkt erreichen, nicht über Caddy; lauscht der Empfänger auf einem anderen Port, leiten Sie Port 25 darauf weiter. Er startet nur mit einem eigenen TLS-Zertifikat. Im Release-Stack legt JOURNAL_SMTP_BIND die Adresse fest, auf der er veröffentlicht wird (Standard Loopback). Siehe Exchange-Journaling. |
| 8090 | updater |
Nur internes Docker-Netz, kein veröffentlichter Port | Läuft nur mit docker compose --profile updater up -d (Opt-in). Die api erreicht ihn unter RESTOW_UPDATER_URL (Standard http://updater:8090). Er bindet den Docker-Socket ein, und der ist auf dem Host gleichbedeutend mit root; siehe Updates. Caddy leitet nur ein schreibgeschütztes Status-Dokument (/_maintenance/status) an ihn weiter, für die Wartungsseite. |
worker und scheduler stellen keine eigenen Ports bereit.
Import-Ordner
Abschnitt betitelt „Import-Ordner“Beide Compose-Stacks binden einen Ordner des Hosts schreibgeschützt in die Container api und worker ein: RESTOW_IMPORT_DIR (Standard ./import neben der Compose-Datei) erscheint unter /var/lib/restow/import. Jeder Mandant nutzt seinen eigenen Unterordner. Restow schreibt nie hinein. Siehe Mail-Dateien importieren und exportieren.
Agent-Endpunkte
Abschnitt betitelt „Agent-Endpunkte“Rechner, die mit dem Restow-Agent gesichert werden, erreichen Ihre Instanz per HTTPS unter ihrer öffentlichen Adresse, über Caddy, und brauchen keinen weiteren Port. Caddy leitet diese Pfade an api weiter:
| Pfad | Zweck |
|---|---|
/agent/v1/... |
Die Agent-API: Enrollment, Konfiguration, Heartbeat, Läufe, Agent-Update. |
/agent/restic/<Endpoint-ID>/... |
Das restic-Repository eines Endpoints, für den Agent nur anhängend. |
/install/... |
Die Installationsskripte (linux.sh, macos.sh) und die Binärdateien von Agent und restic mit ihren SHA256SUMS. |
Der Agent verbindet sich nur nach außen; auf dem Rechner lauscht nichts. Siehe Endpoint-Backup.
Anwendungsrollen
Abschnitt betitelt „Anwendungsrollen“| Rolle | Umfang | Kann |
|---|---|---|
| Provider-Administration | Gesamte Installation | Verwaltet Mandanten, lädt Mandanten-Administrationen ein, hat Zugriff auf jeden Mandanten. Ergibt vor allem Sinn, sobald Sie mehr als einen Mandanten verwalten (Service-Provider-Edition). |
| Mandanten-Administration | Ein Mandant | Verwaltet dessen Quellen, Schutzregeln, Zeitpläne, Speicher, Mitglieder und Restores, einschließlich Wiederherstellung im Auftrag einer anderen Nutzerin oder eines anderen Nutzers (Impersonation, immer auditiert). |
| Mandanten-Nutzer | Nur eigene Daten | Meldet sich an, stellt nur das eigene Postfach/OneDrive/IMAP-Konto wieder her und lädt es herunter. |
Wie Mandanten und Rollen mit Editionen zusammenhängen, steht unter Mandantenfähigkeit.
Datenbankrollen
Abschnitt betitelt „Datenbankrollen“| Rolle | .env-Variable |
Rechte |
|---|---|---|
| Eigentümer | DATABASE_MIGRATION_URL |
Besitzt jede Tabelle; führt nur Migrationen aus. |
| Anwendung | DATABASE_URL |
NOSUPERUSER, NOBYPASSRLS, besitzt keine Tabelle. Die gesamte mandantenbezogene Arbeit zur Laufzeit. |
| Installation | DATABASE_PROVIDER_URL |
BYPASSRLS. Mandantenübergreifende Abfragen, installationsweite Einstellungen, der Scheduler, die Webhook-Zustellung, das Schema von pg-boss. |
Vollständige Erklärung: Erste Schritte → Die drei Datenbank-Rollen.