Bevor du beginnst
Vier Dinge. Drei davon kannst nur du bereitstellen.
Die Maschine
Abschnitt betitelt „Die Maschine“Ubuntu 26.04 LTS ist das, worauf der Installer abgestimmt ist; alles ab 22.04 funktioniert. 2 vCPU, 4 GB RAM, mindestens 20 GB Speicher.
3,7 GB RAM reichen — der Installer legt eine 4-GB-Swapdatei an. Darunter scheitern Oberflächen-Builds: Ein mit Signal 137 abgebrochener Build bedeutet, dass der Box der Speicher ausging. Der Knoten installiert sich trotzdem und läuft, auch wenn ein Oberflächen-Build fehlschlägt; nur dieses Portal wird übersprungen, und ein erneuter Installationslauf versucht es erneut.
Das 4-GB-Profil betreibt die Datenbank, die Anmeldung, REST, die Edge Functions, das Gateway, den Speicher und Realtime. Studio, Analytics, Bild-Proxying und der Connection Pooler sind standardmäßig aus.
Du musst Docker, Node.js oder pnpm nicht selbst installieren. Der Installations-Preflight erledigt das und konfiguriert die Firewall so, dass sie 22, 80 und 443 zulässt.
Die Domain
Abschnitt betitelt „Die Domain“Eine Domain, die du für den Knoten kontrollierst — zum Beispiel
node1.example.com — und die Möglichkeit, einen A-Record zu setzen, der auf die
öffentliche IP der Box zeigt.
Jede Web-Oberfläche, die du aktivierst, braucht ebenfalls einen eigenen A-Record
(admin.node1.example.com, my.node1.example.com und so weiter). Der Installer
gibt jeden benötigten Eintrag aus.
Der E-Mail-Provider
Abschnitt betitelt „Der E-Mail-Provider“Für den Livebetrieb erforderlich. Ein SMTP-Provider trägt die gesamte Post des Knotens: Anmeldelinks, Registrierungsbestätigung und Passwort-Zurücksetzungen vom Auth-Dienst, sowie Einladungen, Benachrichtigungen und Verifizierungscodes von den Edge Functions.
Der Installer fragt nach Host, Port, Nutzer und Passwort, prüft die Konfiguration gegen den lebenden Provider, bevor irgendetwas installiert wird, und bietet an, dir eine Testnachricht zu senden.
| Provider | Host | Port | Nutzer | Passwort |
|---|---|---|---|---|
| Resend | smtp.resend.com | 465 | resend | dein API-Schlüssel |
| Postmark | smtp.postmarkapp.com | 465 | Server-Token | Server-Token |
| Eigener | je nach Provider | 465 | je nach Provider | je nach Provider |
Nutze Port 465, das ist implizites TLS. Das ist keine Vorliebe. Auf Port 587 schließt die Function-Laufzeitumgebung des Knotens das STARTTLS-Upgrade nicht ab. Der Versand hängt, läuft ab und schlägt fehl, sodass Einladungen, Benachrichtigungen und Verifizierungscodes nicht hinausgehen.
Zwei Prüfungen bestehen trotzdem, was das schwer aufzuspüren macht. Die Installationsprüfung verwendet einen anderen Mail-Client und verbindet sich auf 587 ohne Probleme. Anmeldelinks und Passwort-Zurücksetzungen kommen weiter an, weil der Anmeldedienst ein eigenes Programm mit einem eigenen Mail-Client ist — dir also selbst einen Anmeldelink zu schicken, der Test, den die Checkliste verlangt, gelingt auf einem Knoten, dessen Anwendungs-E-Mail kaputt ist.
Port 25 ausgehend ist bei den meisten Hosting-Providern gesperrt.
Die Absenderadresse muss zu einer verifizierten Domain gehören. Der Knoten
sendet standardmäßig als noreply@<home_server>, und Provider lehnen jeden
Versand von einer Domain ab, die sie nicht für SPF und DKIM verifiziert haben.
Das ist nicht deine admin_email — das ist deine eigene Anmelde- und
Kontaktadresse, und ihre Domain ist nicht verifiziert. Ist dein Knoten eine
Subdomain in einem Konto, in dem nur die übergeordnete Domain verifiziert ist,
setze smtp.sender_email auf diese verifizierte übergeordnete Domain. Die
Testmail bei der Installation fängt das ab, bevor du live gehst.
Ohne E-Mail ist der Knoten fast reglos. Nutzer treten über E-Mail-gebundene
Einladungslinks bei, ein Knoten, der keine Post versenden kann, kann also
niemanden an Bord holen. Der Installer schaltet auch jede
Föderations-Schnittstelle zwangsweise ab, wenn kein Transport konfiguriert ist,
und sagt dir das. Der einzige Knoten, der berechtigterweise ohne E-Mail läuft,
ist einer, der auf registration_mode: closed gesetzt ist und keine neuen
Nutzer akzeptiert. Registrierungen werden auf einem Knoten nie automatisch
bestätigt.
Die Software
Abschnitt betitelt „Die Software“tc-operator läuft aus einem vollständigen Quellbaum. Du erhältst von Trusted
Codes das Operator-Distributionsarchiv — ein Tarball mit dem vollständigen,
baubaren Baum, ohne Versionskontroll-Historie und ohne interne Dokumente.
Hast du ein Einschreibungs-Token erhalten, holst du das Archiv gar nicht selbst; der Einzeiler-Installer erledigt das für dich und prüft den Download gegen das veröffentlichte, signierte Release-Manifest. Siehe Einen Knoten installieren.
Was du nicht konfigurierst
Abschnitt betitelt „Was du nicht konfigurierst“Die Föderations-Vertrauenswurzel — die zentrale Registry-URL und ihr öffentlicher Wurzelschlüssel — ist fest im Installer verankert. Sie ist ein einziger Wert für das gesamte Mesh, identisch auf jedem Knoten, und du stellst ihn weder bereit noch änderst du ihn.
Jedes knotenspezifische Geheimnis (das JWT-Secret, der Anon- und der
Service-Key, das Postgres-Passwort, der Verschlüsselungsschlüssel, der
Föderations-Signaturschlüssel) wird für dich in /etc/trusted-codes/secrets.env
erzeugt, mit dem Modus 0600. Du kopierst nie ein Geheimnis von Hand. Die eine
Ausnahme ist dein SMTP-Passwort, das du in operator.yaml einträgst.
Eine Generalprobe, wenn du eine willst
Abschnitt betitelt „Eine Generalprobe, wenn du eine willst“Auf einer Mac- oder Linux-Workstation mit Docker kannst du den gesamten Container-Ablauf ohne jede Host-Bereitstellung und ohne TLS durchlaufen:
scripts/tc-operator/tc-operator install --local --config operator.yaml--local startet den Knoten in einem isolierten Loopback-Projekt und
überspringt apt, die Firewall, die Swapdatei und TLS vollständig. Bau es wieder
ab mit tc-operator uninstall --local --config operator.yaml --purge.