文章は若绾 教你如何使用 Docker 安装 Chevereto V4 搭建属于自己的图床で最初に公開されました。転載する場合は出典を明記してください。
ブログを書く際には、画像の使用は欠かせません。画像は記事の内容を豊かにし、読者の閲覧体験を向上させることができます。自分自身の画像ホスティングを構築することで、画像リソースをより効果的に管理および利用することができます。画像ホスティングは画像の圧縮と最適化を行い、画像ファイルのサイズを減らしてページの読み込み速度を高速化することができます。高速な読み込みのページはユーザーエクスペリエンスを向上させ、跳躍率を低下させるのに役立ちます。さらに、画像をホスティングに保存することで、ブログサーバーの負荷を軽減し、ストレージスペースと帯域幅を節約することができます。これにより、サーバーはブログのコンテンツの処理により専念し、より良いパフォーマンスを提供することができます。
ここで、非常に使いやすい画像ホスティングプラットフォームである Chevereto を皆さんにおすすめします。他のオープンソースの画像ホスティングソフトウェア(例:兰空图床)も市場にはありますが、Chevereto は私が使用して最も成熟して安定しているソフトウェアであり、多くのサードパーティのプラグインもサポートしています。Chevereto は無料版と Pro 版に分かれており、Pro 版は一度の購入で 75 ドルかかりますが、実際には無料版でも十分に日常的な使用が可能です。今回、私は Pro 版をインストールする予定です。
準備作業#
!!まず、サーバーに Nginx がインストールまたは実行されていないことを確認してください。Chevereto の Docker バージョンは Nginx の Docker バージョンを実行し、既存の Nignx と競合するため実行できません(自身の経験に基づく)
- VPS を準備し、最適な構成は 1 コア 512M メモリ 10GB 以上の設定です(後の高度なチュートリアルでは、オブジェクトストレージを使用してストレージスペースを拡張する方法を説明しますので、ディスクが少し小さい場合でも問題ありません)。
- 自分自身のドメインを準備し、ドメインをサーバーの IP にポイントしてください。
ドメイン解析#
Cloudflare を使用してドメイン解析を行っている場合は、次の図のようにドメインに新しい A レコードを追加してください。ここでは、私は p.2cu.icu を画像ホスティングのドメインとして使用します。私が構築した Chevereto 画像ホスティングを使用したい場合は、V50 图床をご利用ください。
環境の準備#
基本環境#
サーバーをコマンドラインで管理し、SSH でサーバーにアクセスした後、サーバーに make、unzip、curl、git がインストールされているかどうかを確認します。インストールされていない場合は、次のコマンドを使用してインストールできます。
sudo apt install make unzip curl git
Docker のインストール(既にインストールされている場合はスキップしてください)#
Ubuntu を使用している場合、次の方法で Docker をインストールできます(他のシステムの場合は、Docker公式ウェブサイトを参照してください):
リポジトリの設定#
apt
パッケージインデックスを更新し、HTTPS を使用してリポジトリを使用できるようにします。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
- Docker の公式 GPG キーを追加します。
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
- 以下のコマンドを使用してリポジトリを設定します。
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker Engine のインストール#
apt
パッケージインデックスを更新します。
sudo apt-get update
- Docker Engine、containerd、Docker Compose をインストールします。最新バージョンをインストールするには、次のコマンドを実行します。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- Docker Engine のインストールが成功したかどうかを確認するために、
hello-world
イメージを実行します。
sudo docker run hello-world
このコマンドはテストイメージをダウンロードし、コンテナ内で実行します。コンテナが実行されると、確認メッセージが表示され、コンテナが終了します。
chevereto/docker をクローンする#
基本的な Docker プロジェクトのコピーを取得するためにgit
を使用します。次のコマンドを実行すると、現在の作業ディレクトリにdocker
フォルダが作成されます。
git clone https://github.com/chevereto/docker.git
新しく作成されたdocker
フォルダに移動します。
cd docker
docker
フォルダ内では、Chevereto の基本設定を構成または変更することができます。
(オプション)Chevereto の基本設定のカスタマイズ#
Chevereto は、最大 64M の画像のアップロードと 512M のメモリ使用量をデフォルトでサポートしていますが、Dockerfile でこれらを変更することができます。以下は Dockerfile のいくつかの基本的な設定です。
Dockerfile をvim
で編集します。
vim Dockerfile
以下はDockerfile
の関連フィールドです。いくつかのコメントを追加して、要件に応じて調整できるようにしています。
CHEVERETO_MAX_MEMORY_SIZE=512M \ #Cheveretoの最大メモリ使用量
CHEVERETO_MAX_POST_SIZE=64M \ #POSTリクエストの最大制限、最大アップロードサイズと同じにすることをお勧めします
CHEVERETO_MAX_UPLOAD_SIZE=64M \ #最大アップロードサイズ
バックグラウンドジョブの設定#
Chevereto は、期限切れの画像、未確認のユーザー、または更新のチェックなど、定期的なシステムタスクをバックグラウンドで実行する必要があります。次のコマンドを実行して、すべてのウェブサイトに対してバックグラウンド処理を設定します。
make cron
HTTPS プロキシの作成#
Chevereto の Docker には、すべての Chevereto ウェブサイトへのアクセスを転送し、自動更新される HTTPS 証明書を提供する NGIX ネットワークサーバーが含まれています。
プロキシサーバーを設定するには、次のコマンドを実行します。
make proxy [email protected]
EMAIL_HTTPS
オプションでメールアドレスを設定します。これは HTTPS 証明書通知に必要なものです。
Chevereto イメージの作成(無料版の場合はスキップしてください)#
このプロセスでは、Chevereto コンテナイメージが作成されます。
💡 無料版を使用する場合は、この手順を省略して、イメージをGHCRで確認できます。
make image
このプロセスでは、ライセンスキーを入力するように求められます。Pro 版を購入した場合は、ここでライセンスキーを見つけることができます(以下の図を参照)。
ライセンスキーを提供しなかった場合、または無効なライセンスキーを入力した場合、システムは無料のイメージを作成します。
ドメインの設定#
次のコマンドを使用して、p.v50.tools
ドメインにimagehost
という名前の名前空間を作成します(名前空間はカスタマイズできますが、HOSTNANE は以前にホストの IP アドレスを解析したドメインである必要があります)。
make namespace NAMESPACE=imagehost HOSTNAME=`p.v50.tools`
名前空間ファイルは
./namespace
フォルダーで確認できます。
Chevereto ウェブサイトの実行#
Pro 版:新しいウェブサイトを作成するには、make spawn
コマンドを NAMESPACE オプションとともに実行します。
make spawn NAMESPACE=imagehost
無料版:無料版を使用している場合は、EDITION=free
を使用して次のコマンドを実行します。
make spawn NAMESPACE=example EDITION=free
🎉 Chevereto が正常に実行されるようになりました。これで、独自の Chevereto 画像ホスティングにアクセスするためにドメインを使用できます。