Zwölf Builds

Das Ganze, nicht die erste Hälfte.

Jeder Guide nimmt eine leere Instanz und macht daraus einen Dienst, auf den Sie echten Traffic lenken können. Befehle werden von oben nach unten in der Reihenfolge ausgeführt, in der sie gedruckt sind, Platzhalter sind als Platzhalter markiert, und der letzte Abschnitt ist immer ein Test. Kein Guide endet hier mit „und dann den Rest nach Geschmack konfigurieren“.

01

Ein Guide ist kein Wissensdatenbank-Eintrag

Beide Formate existieren, weil jedes für die Aufgabe des anderen ungeeignet ist. Mischt man sie, erhält man die Art von Dokumentation, die erklärt, was jedes Flag tut, ohne je zu sagen, welche Flags man braucht.

Die Wissensdatenbank beantwortet eine Frage in einer Minute. Ein Guide kostet Sie einen Nachmittag und hinterlässt am Ende einen laufenden Server.

Ein Wissensdatenbank-Eintrag beginnt mit etwas, das Sie bereits haben und das etwas falsch daran ist: ein Mount, der nach einem Neustart nicht zurückkommt, ein Zertifikat, das erneuert wurde, aber nicht neu geladen hat, eine Rettungskonsole, aus der Sie keine Eingabeaufforderung bekommen. Er ist kurz, weil der Kontext bereits in Ihrem Kopf ist. Sie kommen mit dem Problem und gehen mit der Antwort.

Eine Anleitung beginnt mit dem Nichts. Sie haben eine Rechnung bezahlt, Sie haben Root-Zugangsdaten, und die Maschine ist ein unkonfiguriertes Image in einer Stadt, die Sie aus eigenen Gründen gewählt haben. Am Ende haben Sie einen Mailserver, der Authentifizierungsprüfungen besteht, oder einen Hypervisor, der verschachtelte Gäste betreibt, oder zwei Terabyte, die in einem anderen Land liegen als noch am Morgen. Der Kontext wird währenddessen aufgebaut, weshalb diese Anleitungen ein paar tausend Wörter umfassen statt zweihundert.

So zu schreiben ist mehr Arbeit und fängt mehr Fehler ab. Jede Anleitung auf dieser Seite wurde vor der Veröffentlichung von Anfang bis Ende auf einer frisch bereitgestellten Instanz ausgeführt und erneut ausgeführt, wann immer das Upstream-Projekt etwas auslieferte, das sie brach. Das Datum oben auf jeder ist das Datum der letzten Ausführung, nicht das Datum, an dem jemand sie überflogen hat.

01

Eine vollständige Sache

Kein Überblick über sechs Optionen und ein Achselzucken. Jede Anleitung wählt einen Ansatz, begründet ihn und baut darauf auf. Wo eine echte Alternative existiert, bekommt sie einen Satz und einen Link, dann geht es weiter.

02

Befehle, die der Reihe nach laufen

Kopieren Sie sie in der angegebenen Reihenfolge auf ein frisches Image und sie funktionieren. Wenn Schritt neun ein Paket benötigt, das in Schritt zwei installiert wird, installiert Schritt zwei es. Nichts hängt von einem Zustand ab, dessen Erzeugung Ihnen nie aufgetragen wurde.

03

Eine benannte Maschine

Jeder Build gibt an, für welche Linie er geschrieben wurde und was passiert, wenn Sie etwas Kleineres verwenden. Postgres-Tuning, das 64 GB ECC voraussetzt, ist nutzloser Rat auf einer 16-GB-Box, also sagen wir das oben.

04

Die langweilige Mitte

Dateibesitz, Härtung von systemd-Units, Firewall-Regeln, Log-Rotation. Das ist der Teil, den die meisten Tutorials überspringen, und der Teil, der entscheidet, ob der Dienst im März noch läuft.

05

Ein Test am Ende

Jede Anleitung endet mit Befehlen, deren Ausgabe Ihnen eindeutig sagt, ob der Build funktioniert hat. Nicht „Sie sollten jetzt die Login-Seite sehen“. Etwas mit einem Exit-Code oder einem Header, den Sie lesen können.

Wenn die letzte Zeile der Seite „und dann konfigurieren Sie Ihre Firewall“ lautet, ist es keine Anleitung, sondern eine Einkaufsliste.
Punkt vier der internen Review-Checkliste
02

Wie man einer folgt, ohne einen Abend zu verlieren

Diese sind für Leute geschrieben, die die ganze Seite lesen, bevor sie etwas tippen. Diese Gewohnheit ist ungefähr eine Stunde pro Build wert.

Gehen Sie von einem frischen Debian 13 Image und einer Root-Shell aus, sofern die Anleitung nichts anderes sagt. Alles andere wird in den ersten beiden Absätzen angegeben.

  1. 01

    Etwas Neues bereitstellen

    Eine Anleitung auf eine Maschine zu übertragen, die bereits drei Dienste ausführt, ist der Weg herauszufinden, welcher davon still Port 8080 benutzte. Eine frische Instanz ist weniger als eine Minute entfernt und Sie können sie danach zerstören.

  2. 02

    Einmal durchlesen

    Besonders die DNS-Schritte. Die Hälfte der Builds hier benötigt, dass sich ein Eintrag verbreitet hat, bevor ein späterer Befehl erfolgreich sein kann, und der billigste Ort, das zu lernen, ist beim ersten Lesen statt bei Schritt elf.

  3. 03

    Die Platzhalter ersetzen

    Alles in der Form von example.com, 2001:db8: oder <Winkelklammern> ist zu ersetzen. Dokumentationsbereiche werden absichtlich verwendet, damit ein Copy-Paste-Fehler laut scheitert, statt still ein fremdes Netz zu erreichen.

  4. 04

    Snapshot vor dem irreversiblen Teil

    Neu partitionieren, dist-upgrades, alles mit dem Wort „wipe“. Ein Snapshot-Paket gibt Ihnen fünf Slots und eine Wiederherstellung in Sekunden, was billiger ist als Schritte eins bis neun zu wiederholen.

  5. 05

    Die Verifikation ausführen

    Sie ist der letzte Abschnitt jeder Anleitung und existiert, weil „schien zu starten“ nicht dasselbe ist wie „es funktioniert“. Zwei Minuten Prüfen sind besser, als es von einem Nutzer zu erfahren.

Nichts auf dieser Seite leitet ein Remote-Skript in eine Shell. Wo ein Upstream-Projekt nur einen Installer auf diese Weise ausliefert, zeigt die Anleitung, wie Sie es holen, lesen und als Datei ausführen – Sie sollten wissen, was auf Ihre Maschine gelangt ist, und wir auch.

03

Welche Maschine jeder Build möchte

Die meisten davon laufen problemlos auf der kleinsten Ryzen-Instanz. Vier tun das nicht, und wenn Sie bei diesen vieren die falsche Zeile wählen, verschwenden Sie einen Nachmittag, bevor Sie zum interessanten Teil kommen.

Wenn eine Anleitung einen Tarif nennt, dann ist das der Tarif, auf dem sie getestet wurde. Kleiner zu wählen ist meist in Ordnung und wird dort vermerkt, wo es nicht geht. Größer ändert nichts außer den Zahlen in den Konfigurationsdateien, und die Anleitungen, die sich um diese Arithmetik kümmern, zeigen die Arithmetik.

SetupProduktlinieWarum dieser
WireGuard, Tor-Relay, Matrix, MonitoringRyzen R-4Einzelthread, netzwerkgebunden, winzige Arbeitsmenge. Mehr Kerne ändern nichts.
Mailserver, CI-Runner, NextcloudRyzen R-8Build-Schritte und Antispam mögen beide schnelle Kerne. Image-Builds sind das Schwerste hier.
PostgresEPYC E-8 aufwärtsDas Tuning in dieser Anleitung setzt 64 GB ECC-Speicher und NUMA-bewusstes Pinning voraus.
Lokale InferenzGPU G-L40SAchtundvierzig Gigabyte VRAM, direkt durchgereicht. Eine geteilte Karte ist die Warteschlange von jemand anderem.
SeedboxStorage S-50Fünfzig Terabyte Bulk hinter einer NVMe-Write-Stufe, auf einem Port, der dick genug ist, um das zu leeren.
Proxmox mit verschachtelten GästenBare Metal BM-EVerschachtelte Virtualisierung braucht die physische Maschine. Es gibt keinen Hypervisor von uns im Weg.
Zwei Terabyte zwischen Standorten verschiebenBeliebige zwei InstanzenGeschrieben gegen einen Storage-Node und eine Ryzen-Box, aber die Methode ist bei jeder Größe gleich.

Jede Anleitung setzt das geroutete IPv6 /64 voraus, das mit jeder Instanz geliefert wird. Zwei von ihnen verlangen stattdessen das /48, weil das Verteilen von kundenspezifischen Subnetzen aus einem einzelnen /64 das Proxying der Neighbour Discovery bedeutet, und geproxytes IPv6 ist etwas, das man als Lebensunterhalt debuggt, nicht betreibt.

Privatsphäre

03

Infrastruktur

04

Entwicklung

02

Medien

01

Netzwerk

02
04

Fragen zu den Anleitungen, nicht zu den Builds

Meistens ja. Was uns gehört, sind die Panel-Schritte, das geroutete Präfix und die Annahme dedizierter Kerne. Alles andere ist Stock-Debian und Upstream-Software, daher lassen sich die Befehle sauber auf alles übertragen, wo man Root hat und die CPU nicht überverkauft ist.

Weil zwölf Anleitungen fünfmal zu schreiben der Weg ist, wie Dokumentation veraltet. Debian 13 ist unser Standard-Image, die Paketnamen sind jahrelang stabil, und ein Schritt auf AlmaLinux oder Alpine zu übertragen ist eine Paketmanager-Substitution und keine Neufassung. Die vollständige Image-Liste finden Sie auf der Seite Betriebssysteme.

Sagen Sie es uns. Anleitungen werden gegen ein sauberes Image erneut ausgeführt, wenn wir von einem Bruch hören, und die korrigierte Version wird in derselben Woche mit aktualisiertem Datum oben ausgeliefert. Ein Ticket mit dem Befehl und der Fehlermeldung reicht; Sie müssen es nicht für uns diagnostizieren.

Wir unterstützen die Maschine, das Netzwerk und den Speicher darunter. Das Debuggen Ihrer Postfix-Map-Dateien um drei Uhr morgens gehört nicht dazu, und wir wären darin sowieso schlecht. Verwaltetes Härtung gibt es als Add-on, wenn Sie die Grundlage von jemand anderem warten lassen möchten.

Bei acht der zwölf ja, und die R-4 ist die, auf der mehrere geschrieben wurden. Die Postgres-, Inferenz-, Seedbox- und Proxmox-Builds benötigen die in der obigen Tabelle genannte Zeile; der Rest ist komfortabel auf vier dedizierten Kernen und 16 GB.

Bereit, wenn Sie es sind

Wählen Sie eine Stadt, deployen Sie, folgen Sie.

Die Instanz, die Sie für die meisten davon brauchen, kostet weniger als der Kaffee, den Sie während des Builds trinken. Zahlen Sie in Coins, warten Sie etwa siebenundvierzig Sekunden und beginnen Sie bei Schritt eins.