全体であって、前半ではない。
各ガイドは1つの空のインスタンスを取り、実際のトラフィックを向けられるサービスに変えます。コマンドは印刷された順に上から下に実行され、プレースホルダはプレースホルダとしてマークされ、最後のセクションは常にテストです。ここで“あとは好みに合わせて設定してください”で終わるガイドはありません。
ガイドはナレッジベースのエントリではない
両方の形式が存在するのは、それぞれが相手の仕事が苦手だからです。それらを混ぜると、どのフラグが何をするかを説明しながら、必要なフラグがどれかを決して教えないドキュメントになります。
ナレッジベースは1分で質問に答えます。ガイドは午後を費やし、最後にサーバーを稼働させたままにします。
ナレッジベースのエントリは、既に持っているものと、それに関する問題から始まります。再起動後に戻ってこないマウント、更新されたがリロードされなかった証明書、プロンプトを取得できないレスキューコンソールなどです。コンテキストがすでに頭の中にあるため、短いのです。問題を抱えて到着し、答えを持って去ります。
ガイドは何もないところから始まります。請求書を支払い、root 認証情報を入手し、マシンは自分自身の理由で選んだ都市にある未設定のイメージです。最後には、認証チェックを通過するメールサーバー、ネストされたゲストを実行するハイパーバイザー、または今朝とは別の国にある2テラバイトのデータが手に入ります。コンテキストは進めながら構築されるため、これらのガイドは200語ではなく数千語になります。
このように書くのはより手間がかかり、より多くの間違いを捕捉します。このページのすべてのガイドは、公開前に新しくデプロイされたインスタンスで最初から最後まで実行され、上流プロジェクトがそれを壊すようなものをリリースするたびに再実行されます。各ガイドの上部にある日付は、最後に実行した日付であり、誰かがざっと目を通した日付ではありません。
完全な一つのもの
6つの選択肢の調査と肩すかしではありません。各ガイドはアプローチを選び、その理由を述べ、それを構築します。実際の代替案がある場合は、1文とリンクを得て、ガイドは続行します。
順番に実行するコマンド
新しいイメージに印刷された順序でコピーすると、動作します。ステップ9がステップ2でインストールされたパッケージを必要とする場合、ステップ2がそれをインストールします。作成するように指示されたことのない状態に依存するものはありません。
名前付きマシン
各ビルドは、どのラインで書かれたか、そしてより小さいものを使うとどうなるかを述べています。64 GBのECCを前提としたPostgresチューニングは、16 GBのボックスでは役に立たないアドバイスなので、先頭にその旨を明記しています。
退屈な中間部分
ファイルの所有権、systemdユニットのハードニング、ファイアウォールルール、ログローテーション。これはほとんどのチュートリアルが省く部分であり、3月にサービスがまだ稼働しているかどうかを決定する部分です。
最後のテスト
すべてのガイドは、ビルドが成功したかどうかを曖昧さなく示す出力を持つコマンドで終わります。「ログインページが表示されるはずです」ではありません。終了コードや読めるヘッダーを持つものです。
“ページの最後の行が「あとはファイアウォールを設定してください」なら、それはガイドではなく買い物リストです。”
夜を無駄にせずに従う方法
これらは、何かを入力する前にページ全体を読む人向けに書かれています。その習慣は、ビルド1回あたりおよそ1時間の価値があります。
ガイドが特に指定しない限り、新しいDebian 13イメージとrootシェルを想定してください。それ以外はすべて最初の2段落に記載されています。
- 01
新しいものをデプロイする
すでに3つのサービスが稼働しているマシンにガイドを後付けするのは、そのうちのどれが静かにポート8080を使用していたかを発見する方法です。新しいインスタンスは1分以内に作成でき、後で破棄できます。
- 02
一度全部読む
特にDNSの手順。ここでのビルドの半分は、後のコマンドが成功する前にレコードが伝播している必要があります。それを学ぶ最も安い方法は、ステップ11ではなく最初の読みでです。
- 03
プレースホルダーを置き換える
example.com、2001:db8:、<山括弧>のような形をしたものはすべて、あなたが置き換えるものです。ドキュメントレンジは意図的に使用されており、コピーペーストの間違いが静かに見知らぬ人のネットワークに到達するのではなく、大きな音を立てて失敗するようになっています。
- 04
取り返しのつかない部分の前にスナップショット
再パーティショニング、dist-upgrade、「ワイプ」という言葉を含むもの。スナップショットパックは5つのスロットと数秒で完了するリストアを提供し、ステップ1から9を繰り返すよりも安価です。
- 05
検証を実行する
それはすべてのガイドの最後のセクションであり、「起動したように見えた」と「機能する」は同じではないため存在します。確認に2分かけることは、ユーザーから知るよりもましです。
このページの何も、リモートスクリプトをシェルにパイプしません。上流プロジェクトがその方法でしかインストーラーを提供しない場合、ガイドはそれをフェッチし、読み、ファイルとして実行する方法を示します。あなたは自分のマシンに何が入ったかを知るべきであり、私たちも同様です。
各ビルドが必要とするマシン
これらのほとんどは最小のRyzenインスタンスで問題なく動作します。4つは動作せず、それらの4つに間違ったプランを選ぶと、興味深い部分に到達する前に半日を無駄にします。
ガイドでプランが指定されている場合、それはテストされたプランです。より小さいプランでも通常は問題なく、問題がある場合はその旨が記載されています。大きいプランでは、設定ファイルに入力する数値が変わるだけで、その計算に関係するガイドでは計算方法を示しています。
| 構築内容 | 項目 | 選択理由 |
|---|---|---|
| WireGuard、Torリレー、Matrix、監視 | Ryzen R-4 | シングルスレッド、ネットワーク依存、作業セットが小さい。コアを増やしても変わりません。 |
| メールサーバー、CIランナー、Nextcloud | Ryzen R-8 | ビルド手順とスパム対策はどちらも高速なコアを好みます。イメージビルドがここで最も重い処理です。 |
| Postgres | EPYC E-8以上 | そのガイドのチューニングは、64 GBのECCメモリとNUMA対応のピニングを前提としています。 |
| ローカル推論 | GPU G-L40S | 48 GBのVRAMを直接パススルーします。共有カードは他人の待ち行列です。 |
| シードボックス | Storage S-50 | NVMe書き込み層の背後に50 TBの大容量ストレージを、それを排出できる十分な帯域のポートで接続します。 |
| ネストされたゲストを持つProxmox | Bare metal BM-E | ネスト仮想化には物理マシンが必要です。私たちのハイパーバイザーが邪魔をすることはありません。 |
| サイト間で2 TBを移動 | 任意の2インスタンス | ストレージノードとRyzenボックスに対して作成しましたが、方法はどのサイズでも同じです。 |
すべてのガイドは、すべてのインスタンスに付属するルーティングされたIPv6 /64を前提としています。2つは代わりに/48を要求します。これは、単一の/64からクライアントごとのサブネットを配布すると、近隣探索をプロキシする必要があり、プロキシされたIPv6は、実行するものではなく、生計を立ててデバッグするものだからです。
プライバシー
03インフラストラクチャ
04開発
02構築ではなくガイドに関する質問
はい、ほとんど機能します。私たち独自の部分は、パネルの手順、ルーティングされたプレフィックス、専用コアの前提です。それ以外はすべて標準のDebianとアップストリームソフトウェアなので、コマンドはrootを提供しCPUを過剰販売しない任意の場所にそのまま移植できます。
12のガイドを5回書くことは、ドキュメントが古くなる方法だからです。Debian 13はデフォルトイメージであり、パッケージ名は何年も安定しており、ステップをAlmaLinuxやAlpineに変換するのは、書き直しではなくパッケージマネージャーの置換です。完全なイメージリストはオペレーティングシステムのページにあります。
お知らせください。ガイドは、破損の報告を受けたときにクリーンなイメージで再実行され、修正版は同じ週に公開され、上部の日付が更新されます。コマンドとエラーを含むチケットで十分です。診断する必要はありません。
マシン、ネットワーク、その下のストレージをサポートします。午前3時にPostfixマップファイルをデバッグすることはそのリストには含まれておらず、仮にやっても下手でしょう。ベースラインを誰か他の人に管理してもらいたい場合は、管理強化がアドオンとして存在します。
12のうち8つは可能で、R-4はいくつかのガイドで使用されています。Postgres、推論、シードボックス、Proxmoxの構築には、上記の表で指定されたプランが必要です。残りは4つの専用コアと16 GBで快適に動作します。
都市を選び、デプロイし、ガイドに従ってください。
これらのほとんどに必要なインスタンスは、構築中に飲むコーヒーよりも安価です。コインで支払い、約47秒待って、ステップ1から始めてください。