banner
stmoonar

stmoonar

无心而为
github
telegram
email
zhihu
x

minioオブジェクトストレージの構築(docker)

以前、Markdown の画像はローカルフォルダーに存在しており、時間が経つにつれてフォルダーが非常に膨大になり、多くのスペースが画像に占められ、同期するのに非常に時間がかかり、オンラインプラットフォームにアップロードする際にはローカル画像が自動的にアップロードされず、手動で一つ一つ処理してアップロードする必要がありました。しかし、クラウドに存在すれば、ローカルには URL を一つ保存するだけでプレビューでき、各プラットフォームでも互換性があり、無意味なローカルパスが表示されることはありません。

そこで、ノートの画像をクラウドにアップロードすることを試みました。できれば、貼り付けるときに自動的にアップロードできると良いです。実際、私が使用しているtyporaobsidianにはこの機能がありますが、OSS(オブジェクトストレージ)が必要で、アリババクラウドやこれらのクラウドプロバイダーが販売しています。しかし、私は自分のサーバーを持っているのに、わざわざ OSS を購入する必要があるのでしょうか?

そこで、オープンソースの OSS プラットフォームを構築する方法を探し、minioを見つけました。非常に強力な機能を持ち、docker を使用した構築手順も非常に簡単です。

1. 準備#

まず、クラウドサーバー / VPS が必要です。アリババクラウドやテンセントクラウドでも大丈夫です。持っていない場合は、私が推奨するコストパフォーマンスの高い海外のものを見てください:https://www.stmoonar.me/?p=6

次に docker をインストールします。

curl -fsSL https://get.docker.com | bash -s docker

2. docker デプロイ#

次に、minio のデータを保存するためのディレクトリを作成します。必要に応じて保存場所を選択できます。

mkdir -p ~/minio/data

これで、コンテナを直接起動できます。

docker run \
   -p 9000:9000 \
   -p 9001:9001 \
   --name minio \
   -v ~/minio/data:/data \
   -e "MINIO_ROOT_USER=ROOTNAME" \
   -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
   quay.io/minio/minio server /data --console-address ":9001"

-p 9000:9000 -p 9001:9001 これはコンテナポートをサーバーポートにマッピングするもので、前者はサービスバックエンドのポート、後者はクライアント、つまり API インターフェースへのアクセスポートです。

-v ~/minio/data:/data これは作成したディレクトリと異なる場合は変更してください。

-e "MINIO\_ACCESS\_KEY=minioadmin" ユーザー名、-e "MINIO\_SECRET\_KEY=minioadmin" パスワード、これらの 2 つは手動で変更してください。

3. アクセス#

前のステップが完了したら、直接アクセスできます。ip:9000を使用してバックエンドに入ることができ、先ほど設定したユーザー名とパスワードを入力してログインします。

image

ログイン後、Buckets を作成したり、Access Keys を作成したりする操作は通常の OSS バックエンドとほぼ同じで、手動でファイルをアップロードできます。

image

今、クライアントソフトウェア(ここでは私たちの Markdown ノートソフトウェア)にこれらの設定を入力すれば、ブラウザを使わずにファイルをアップロードできるようになります。

4. ドメイン#

現在返される画像リンクはすべて ip+port をホストとして使用しています。見た目が悪いと感じる場合は、自分のドメインを使用したい場合、nginx 設定ファイルリバースプロキシを設定し、DNS 解決されたドメインを 9001 ポートにプロキシする必要があります。

さらに SSL 証明書を設定することで、https プロトコルを使用して保存されたファイルにアクセスできるようになります。

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