Royc30ne

Royc30ne

机器学习 | 联邦学习 | VPS | 摄影 | 日常

Dockerを使用してChevereto V4をインストールし、独自の画像ホスティングサービスを構築する。

文章は若绾 教你如何使用 Docker 安装 Chevereto V4 搭建属于自己的图床で最初に公開されました。転載する場合は出典を明記してください。

ブログを書く際には、画像の使用は欠かせません。画像は記事の内容を豊かにし、読者の閲覧体験を向上させることができます。自分自身の画像ホスティングを構築することで、画像リソースをより効果的に管理および利用することができます。画像ホスティングは画像の圧縮と最適化を行い、画像ファイルのサイズを減らしてページの読み込み速度を高速化することができます。高速な読み込みのページはユーザーエクスペリエンスを向上させ、跳躍率を低下させるのに役立ちます。さらに、画像をホスティングに保存することで、ブログサーバーの負荷を軽減し、ストレージスペースと帯域幅を節約することができます。これにより、サーバーはブログのコンテンツの処理により専念し、より良いパフォーマンスを提供することができます。

image

ここで、非常に使いやすい画像ホスティングプラットフォームである Chevereto を皆さんにおすすめします。他のオープンソースの画像ホスティングソフトウェア(例:兰空图床)も市場にはありますが、Chevereto は私が使用して最も成熟して安定しているソフトウェアであり、多くのサードパーティのプラグインもサポートしています。Chevereto は無料版と Pro 版に分かれており、Pro 版は一度の購入で 75 ドルかかりますが、実際には無料版でも十分に日常的な使用が可能です。今回、私は Pro 版をインストールする予定です。

準備作業#

!!まず、サーバーに Nginx がインストールまたは実行されていないことを確認してください。Chevereto の Docker バージョンは Nginx の Docker バージョンを実行し、既存の Nignx と競合するため実行できません(自身の経験に基づく)

  1. VPS を準備し、最適な構成は 1 コア 512M メモリ 10GB 以上の設定です(後の高度なチュートリアルでは、オブジェクトストレージを使用してストレージスペースを拡張する方法を説明しますので、ディスクが少し小さい場合でも問題ありません)。
  2. 自分自身のドメインを準備し、ドメインをサーバーの IP にポイントしてください。

ドメイン解析#

Cloudflare を使用してドメイン解析を行っている場合は、次の図のようにドメインに新しい A レコードを追加してください。ここでは、私は p.2cu.icu を画像ホスティングのドメインとして使用します。私が構築した Chevereto 画像ホスティングを使用したい場合は、V50 图床をご利用ください。

image

環境の準備#

基本環境#

サーバーをコマンドラインで管理し、SSH でサーバーにアクセスした後、サーバーに make、unzip、curl、git がインストールされているかどうかを確認します。インストールされていない場合は、次のコマンドを使用してインストールできます。

sudo apt install make unzip curl git

Docker のインストール(既にインストールされている場合はスキップしてください)#

Ubuntu を使用している場合、次の方法で Docker をインストールできます(他のシステムの場合は、Docker公式ウェブサイトを参照してください):

リポジトリの設定#

  1. aptパッケージインデックスを更新し、HTTPS を使用してリポジトリを使用できるようにします。
 sudo apt-get update
 sudo apt-get install ca-certificates curl gnupg
  1. 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
  1. 以下のコマンドを使用してリポジトリを設定します。
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 のインストール#

  1. aptパッケージインデックスを更新します。
 sudo apt-get update
  1. Docker Engine、containerd、Docker Compose をインストールします。最新バージョンをインストールするには、次のコマンドを実行します。
 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 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 版を購入した場合は、ここでライセンスキーを見つけることができます(以下の図を参照)。
image

ライセンスキーを提供しなかった場合、または無効なライセンスキーを入力した場合、システムは無料のイメージを作成します。

ドメインの設定#

次のコマンドを使用して、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 画像ホスティングにアクセスするためにドメインを使用できます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。