Ga naar inhoud

Voordat je begint

Vier dingen. Drie ervan kun alleen jij leveren.

Ubuntu 26.04 LTS is waarop de installer is afgestemd; alles vanaf 22.04 werkt. 2 vCPU, 4 GB RAM, minstens 20 GB schijfruimte.

3,7 GB RAM is prima — de installer regelt een swapbestand van 4 GB. Daaronder mislukken oppervlaktebuilds: een build die met signaal 137 wordt afgebroken is de doos die zonder geheugen komt te zitten. De node installeert en draait nog steeds als een oppervlaktebuild mislukt; alleen dat portaal wordt overgeslagen, en de installatie opnieuw draaien probeert het opnieuw.

Het 4 GB-profiel draait de database, auth, REST, edge-functies, de gateway, opslag en realtime. Studio, analytics, beeldproxying en de verbindingspooler staan standaard uit.

Je hoeft zelf geen Docker, Node.js of pnpm te installeren. De installatie-preflight doet dat, en stelt de firewall in om 22, 80 en 443 toe te staan.

Een domein dat je zelf beheert voor de node — bijvoorbeeld node1.example.com — en de mogelijkheid om een A-record te zetten dat naar het publieke IP-adres van de doos wijst.

Elk weboppervlak dat je aanzet heeft ook zijn eigen A-record nodig (admin.node1.example.com, my.node1.example.com, enzovoort). De installer print elk record dat nodig is.

Vereist om live te gaan. Eén SMTP-provider draagt alle post van de node: aanmeldlinks, bevestiging van registratie en wachtwoordherstel vanuit de aanmelddienst, en uitnodigingen, meldingen en verificatiecodes vanuit de edge-functies.

De installer vraagt om host, poort, gebruiker en wachtwoord, verifieert de configuratie tegen de live provider voordat er iets wordt geïnstalleerd, en biedt aan een testbericht te sturen.

ProviderHostPoortGebruikerWachtwoord
Resendsmtp.resend.com465resendjouw API-sleutel
Postmarksmtp.postmarkapp.com465server-tokenserver-token
Eigen keuzeper provider465per providerper provider

Gebruik poort 465, dat is impliciete TLS. Dit is geen voorkeur. Op poort 587 voltooit de functieruntime van de node de STARTTLS-upgrade niet. Het versturen blijft hangen, loopt vast en mislukt, dus gaan uitnodigingen, meldingen en verificatiecodes niet uit.

Twee controles slagen toch, en dat maakt het lastig te vinden. De installatiecontrole gebruikt een andere mailclient en verbindt zonder problemen op 587. Aanmeldlinks en wachtwoordherstel blijven aankomen, omdat de aanmelddienst een apart programma is met zijn eigen mailclient — dus lukt het sturen van een aanmeldlink naar jezelf, de test die de checklist vraagt, op een node waarvan de applicatiemail kapot is.

Poort 25 uitgaand is bij de meeste hostingproviders geblokkeerd.

Het afzenderadres moet een geverifieerd domein zijn. De node stuurt standaard als noreply@<home_server>, en providers weigeren elke verzending vanaf een domein dat ze niet hebben geverifieerd voor SPF en DKIM. Dit is niet je admin_email — dat is je eigen inlog- en contactadres, en het domein daarvan is niet geverifieerd. Als jouw node een subdomein is op een account waar alleen het hoofddomein geverifieerd is, zet smtp.sender_email op dat geverifieerde hoofddomein. De testmail bij installatie vangt dit op voordat je live gaat.

Zonder e-mail is de node bijna inert. Gebruikers sluiten zich aan via uitnodigingslinks die aan e-mail gebonden zijn, dus kan een node die geen mail kan versturen niemand aan boord nemen. De installer zet ook elk federatieoppervlak gedwongen uit als er geen transport is geconfigureerd, en vertelt je dat. De enige node die legitiem zonder e-mail draait, is er een die op registration_mode: closed staat, die helemaal geen nieuwe gebruikers accepteert. Registraties worden nooit automatisch bevestigd op een node.

tc-operator draait vanuit een complete broncodeboom. Je ontvangt het operatordistributiearchief van Trusted Codes — een tarball met de volledige bouwbare boom, zonder versiebeheergeschiedenis en zonder interne documenten.

Als je een inschrijvingstoken hebt gekregen, haal je het archief niet zelf met de hand op; de eenregelige installer doet dat voor je en verifieert de download tegen het gepubliceerde, ondertekende release-manifest. Zie Een node installeren.

De federatie-vertrouwensroot — de centrale registry-URL en zijn publieke rootsleutel — zit ingebakken in de installer. Het is één waarde voor de hele mesh, identiek op elke node, en jij levert of wijzigt hem niet.

Elk sleutelgeheim per node (het JWT-geheim, de anon- en service-sleutels, het Postgres-wachtwoord, de versleutelingssleutel, de federatie-ondertekeningssleutel) wordt voor je gegenereerd in /etc/trusted-codes/secrets.env, modus 0600. Je kopieert nooit met de hand een geheim. De enige uitzondering is je SMTP-wachtwoord, dat je in operator.yaml zet.

Op een Mac- of Linux-werkstation met Docker kun je de hele containerstroom draaien zonder host-provisioning of TLS:

Terminal window
scripts/tc-operator/tc-operator install --local --config operator.yaml

--local start de node op een geïsoleerd loopback-project en slaat apt, de firewall, het swapbestand en TLS helemaal over. Breek het af met tc-operator uninstall --local --config operator.yaml --purge.