Opengist を使用して独自の GitHub Gist を作成する方法

Opengist を使用して独自の GitHub Gist を作成する方法
コンピュータコードが表示されたモニター画面の写真。

Opengist は、Linux 用の軽量でセルフホスト型の Github Gist サーバーです。他のソリューションとは異なり、Git 固有の機能を活用して、テキスト ファイルをすばやくアップロード、参照、修正できます。ここでは、Ubuntu Linux に独自の Opengist サーバーをインストールしてホストする方法を説明します。

Opengist で独自の Gist サーバーをホストする理由

Opengistの最大のセールスポイントの 1 つは、バックエンドに Git を使用する Pastebin のようなサービスであることです。これにより、Github や Gitlab などの Gist をサポートする Git のようなサービスに慣れている人なら誰でも、Opengist を簡単に入手して Linux 上でホストできます。

Opengist のもう 1 つの強みは、ユーザー固有の貼り付けを追跡し、貼り付けの可視性を管理するためのコントロールを提供できることです。

Opengist インスタンスから利用可能なすべての gist のスクリーンショット。

最後に、Opengist は実行にオーバーヘッドを必要としません。デフォルトの構成では、単一の Docker コンテナとデータ ストアのみに依存しており、内部ボリュームとして設定することも、ファイルシステムへのバインド マウントとして設定することもできます。つまり、余分なリソースをあまり必要としないローエンド システムでも Opengist を実行できます。

Opengist 用のシステムの準備

前提:このチュートリアルは、少なくとも 2 GB の RAM と 25 GB のディスク容量を備えた Ubuntu 24.04 VPS で実行されます。また、現在ドメイン名を所有しており、それに「A」DNS レコードを追加できることも前提としています。

Opengist をマシンにデプロイする最初のステップは、Docker、Nginx、Certbot を入手してインストールすることです。そのためには、まず Docker プロジェクトの署名キーを取得します。

「/etc/apt/sources.list.d/」の下に新しいリポジトリファイルを作成します。

新しいリポジトリ ファイル内に次のコード行を貼り付けます。

リポジトリ ファイルを保存し、システム内の既存のパッケージをすべて更新してアップグレードします。

Docker バイナリを Compose プラグインおよび依存関係とともに取得します。

Opengist の依存関係をインストールするプロセスを示すターミナル。

システムに「core」スナップ パッケージが存在することを確認します。

Electronic Frontier Foundation (EFF) から Certbot snap パッケージをインストールします。

Opengistのインストールと実行

現在のユーザーのホーム ディレクトリに Opengist 用の新しいフォルダーを作成し、そのフォルダー内に移動します。

お気に入りのテキスト エディターを使用して、Opengist フォルダー内に新しい「docker-compose.yml」を作成します。

新しい作成ファイル内に次のコード ブロックを貼り付けます。

「docker-compose.yml」ファイルを保存し、次のコマンドを実行して Opengist をビルドし、システムにインストールします。

マシン内のアクティブな Docker コンテナをすべて一覧表示して、Opengist が起動して実行されていることを確認します。

実行中の Opengist Docker コンテナを表示するターミナル。

Opengist 用の SSL リバース プロキシの作成

この時点で、ポート 6157 で部分的に動作する Opengist インスタンスが実行されています。インターネット経由で安全に使用するには、Nginx を使用して SSL リバース プロキシを通過させる必要があります。

これを行うには、Opengist マシンの IPv4 アドレスを指すドメイン名に新しい「A」DNS レコードを作成します。

Opengist VPS の DNS レコードを示すスクリーンショット。

サーバーのターミナルに戻り、Opengist 用の新しいサイト構成ファイルを作成します。

新しい設定ファイル内に次のコード ブロックを貼り付けます。

サイト設定ファイルを保存し、「/etc/nginx/sites-available/」から「/etc/nginx/sites-enabled/」へのシンボリック リンクを作成します。

Nginx の設定が正しく動作していることを確認し、systemctl を使用して Web サーバーを起動します。

サーバー上で実行されている Nginx リバース プロキシを表示するターミナル。

電子メール アドレスを使用して Opengist システムを EFF に登録します。

Certbot を使用してドメイン名の新しい SSL 証明書を生成します。

Web ブラウザを開いてドメイン名に移動し、Web サイトがインターネット経由でアクセスできることを確認します。

HTTPS 経由で実行されている Opengist を示すスクリーンショット。

Opengist で最初の Gist を作成する

デフォルトでは、Opengist は個人インスタンスの管理者アカウントを提供しません。管理者アカウントを作成するには、まずインスタンスの Web インターフェースから登録する必要があります。

まず、Opengist のサブドメインに移動し、ページの右上隅にある[登録]ボタンをクリックします。

Opengist の右上隅にある「登録」ボタンを強調表示したスクリーンショット。

管理者アカウントのユーザー名とパスワードを入力し、「登録」をクリックして作成します。

最初の Opengist アカウントの登録プロセスを示すスクリーンショット。

これを行うと、Opengist インターフェースに自動的にログインし、最初の gist ページのプロンプトが表示されます。入力ボックス内にテキストのスニペットを入力するか貼り付けてから、[ Create Public Gist]をクリックして最初の gist を生成します。

Opengist で新しい gist を作成するためのインターフェースを示すスクリーンショット。

ブラウザのアドレスバーからリンクをコピーして受信者に送信することで、新しい gist ファイルを誰とでも共有できるようになりました。

SSH を使用した Gist の作成と更新

Opengist は、Web インターフェースの他に、Git CLI クライアントからの gist の送信と編集も直接サポートしています。これは、ターミナルのみのセッションで作業していて、グラフィカル インターフェースにアクセスできない場合に役立ちます。

ユーザーのホーム ディレクトリに gist ページ用の新しいフォルダーを作成します。

gist データを含む新しいテキスト ファイルをコピーするか作成し、新しいフォルダー内に新しい Git リポジトリを初期化します。

gist ページ用の新しい Git リポジトリを作成するプロセスを示すターミナル。

フォルダーのファイルを新しい Git リポジトリに追加し、最初のコミットを作成します。

ローカル Git リポジトリのリモート エンドポイントを Opengist サーバーに設定します。

新しいリポジトリを Opengist サーバーに送信します。

Opengist の資格情報を入力し、 を押してEnterプッシュ コマンドを確認します。

Opengist サーバーの資格情報プロンプトを強調表示する端末。

Opengist がターミナル セッションに返す Git コマンドをコピーし、それを実行してリポジトリの新しいリモート オリジンを設定します。

Opengist ページの新しいリモート URL を強調表示するターミナル。

サーバーの Web インターフェースを見て、gist が適切に保存されていることを確認します。

Opengist Web インターフェース上の新しい gist ページを示すスクリーンショット。

Linux 上で独自の Opengist サーバーをホストし、Github のような gist ページを作成することは、セルフホスト可能なソフトウェアで実行できることのほんの一部です。今日の Github に代わる最高のセルフホスト型ソリューションをいくつか見て、セルフホスティングについてさらに詳しく調べてください。

画像クレジット: Joan Gamell (Unsplash 経由)。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です