MinIO + PicList イメージホスティングソリューションを使用する前に、私は以前にランクウィンドウ、EasyImages2、Chevereto を自己構築しましたが、それらは他の人が一時的に使用するために公開されているものであり、自分自身が使用するためではないため、直感的ではありませんでした。
MinIO + PicList ソリューションのアイデアは非常にシンプルです:MinIO は画像を保存し、ダウンロード用の URL を公開し、PicList は画像をアップロードし、URL を構築するために使用されます。
MinIO を画像ホスティングとして使用する方法の紹介#
MinIO はオブジェクトストレージであり、ネットワークディレクトリであり、ファイルのアップロード、ダウンロード、および URL を介したファイルへのアクセスが可能です。
- MinIO に画像をアップロードし、正しい URL を構築すると、ウェブページにその画像を表示できます - イメージホスティング🎉
- ビデオをアップロードすると、ブラウザが再生形式(例:mp4)をサポートしている場合、ビデオを直接ウェブページで再生できます - ビデオホスティング🎉
- オーディオをアップロードすると、オーディオホスティングになります
- 一般的なファイルをアップロードすると、ファイルを共有するためのクラウドストレージとして使用できます
MinIO のインストール:自己ホストオブジェクトストレージ - 効率的で信頼性の高いデータストレージシステムの構築 - 技焉洲(vfly2.com)
手動でアップロードして URL を構築することもできます。アップロードされたファイルのダウンロードリンクの形式は次のとおりです(IP またはドメイン、バケット名 vfly2、およびファイル名 file.name を入力してください。ポートは 9000 であることに注意してください)。
http://ip:9000/vfly2/file.name
たとえば、MinIO のバックエンドで imagesbed というバケットを作成し、vfly2technique.png という名前の画像をアップロードした場合、この画像のウェブアドレスは次のようになります:http://imgbed.ahfei.blog:9000/imagesbed/vfly2technique.png。この URL にブラウザでアクセスすると、画像が表示されます。
md 形式の記事にこの画像を挿入する場合は、指定された形式を使用するだけです。

ツールを使用してアップロードと URL の構築を自動化すると、さらに便利です。オープンソースの PicList は、これを専門に行うツールです。
PicList#
PicList は、PicGo をベースにした効率的なクラウドストレージおよびイメージホスティングプラットフォーム管理ツールです。WebDAV、S3 API 互換プラットフォーム、Tencent COS V5、Github など、非常に豊富なストレージ方法をサポートしており、プラグイン機能も備えています。プラグインを使用することで、MinIO をサポートすることができます。
GitHub:Kuingsmile/PicList:画像のアップロードと管理ツール、PicGo をベースに(github.com)
PicList のインストール#
ダウンロードリンク:https://github.com/Kuingsmile/PicList/releases から必要なバージョンをダウンロードしてインストールします。
MacOS ユーザーは、Homebrew を使用して PicList をインストールできるようになりました。次のコマンドを実行するだけです。
brew install piclist --cask
アンインストールコマンド:
brew uninstall piclist
PicList を MinIO として使用する設定#
- 「プラグイン」画面で、「MinIO」を検索し、Herbertzz が作成したプラグインをインストールします。GitHub のアドレスはhttps://github.com/Herbertzz/picgo-plugin-minio です。([nodejs](https://nodejs.org/en/) をインストールし、コンピュータを再起動する必要がある場合があります)
- 「イメージホスティング」を選択し、「MinIO イメージホスティング」を編集します。次の点に注意が必要です。
- endPoint:サーバーのドメイン名または IP アドレス、ib.ahfei.blog
- port:443
- userSSL:SSL を有効にするかどうか、有効にするを選択します
- accessKey:Minio Server のインストール時に設定したユーザー名、vfly2
- secretKey:以前に設定したパスワード、pass_vfly2_word
- bucket:作成したバケット名、imagesbed
- 設定を保存します
- 「アップロード」で、イメージホスティングを選択し、画像をアップロードして成功するかどうかを試してみてください(実際の体験では、サーバーとのネットワークがあまり良くない場合、1 MB を超えると失敗する可能性が非常に高いです)
Obsidian との組み合わせ#
簡単な説明:Obsidian に画像をドラッグすると、自動的にイメージホスティングにアップロードされます
- Obsidian にプラグインをインストール:Image Auto Upload Plugin
- プラグインの設定ページに移動し、次のように設定します。
- デフォルトのアップローダーを
PicGo(app)
に変更します PicGo server 上传接口
をhttp://127.0.0.1:36677/upload
に設定します- このプラグインは PicList を使用してクラウド上で削除することもサポートしており、削除インターフェースに
http://127.0.0.1:36677/delete
を入力します - その他の設定は必要に応じて選択します
- デフォルトのアップローダーを
- 画像をドラッグしてテストします
ビデオホスティング#
前のセクションでも説明しましたが、ビデオファイルの URL を特定の形式で構築するだけです。$url
を実際の URL に置き換えます。
<video controls> <source src="$url"> not support video tag. </video>
たとえば、Obsidian では HTML タグがサポートされているため、このようなパラグラフを挿入すると、ビデオが挿入されます。
<video controls> <source src="https://ib.ahfei.blog/videobed/lightningrod-vid_wg_720p.mp4"> not support video tag. </video>
表示されない場合は、このウェブサイトプラットフォームがサポートされていないためです。ブログで結果を確認できます。
オーディオホスティング#
Anki の自作カードに使用できます。形式は次のとおりです。
<audio controls> <source src="$url" type="audio/mpeg"> not support audio tag </audio>
たとえば
<audio controls> <source src="https://ib.ahfei.blog/audiobed/indulge-23-09-54.mp3" type="audio/mpeg"> not support audio tag </audio>
表示されない場合は、このウェブサイトプラットフォームがサポートされていないためです。ブログで結果を確認できます。
一般的なファイルの共有#
URL の構築方法を学ぶだけです。形式は次のとおりです。
http://ip:9000/bucket_name/file.name
その後、直接ダウンロードできます。ここで、AhFei が作成したオープンソースの自動ダウンロードツールをお勧めします:定期的なソフトウェアの最新バージョンをチェックおよびダウンロードするための UpdateFetch のデプロイプロセス - 技焉洲(vfly2.com)、MinIO を使用してファイルを保存し、共有するのに便利です。
元の記事のリンク:https://technique.vfly2.com/2024/03/self-hosted-image-hosting-service/
著作権声明:このブログのすべての記事は、特に明記されていない限り、AhFei によるオリジナル作品であり、CC BY-NC-SA 4.0ライセンスの下で公開されています。転載する際は、出典を明記してください。技焉洲(technique.vfly2.com)