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 形式の記事にこの画像を挿入する場合は、指定された形式を使用するだけです。
![](http://imgbed.ahfei.blog:9000/imagesbed/vfly2technique.png)
ツールを使用してアップロードと URL の構築を自動化すると、さらに便利です。オープンソースの PicList はそのために特化したツールです。
PicList#
PicList は、PicGo をベースにした効率的なクラウドストレージおよびイメージホスティングプラットフォームの管理ツールです。WebDAV、S3 API 互換プラットフォーム、Tencent COS V5、Github など、非常に多様なストレージ方法をサポートしており、プラグイン機能もあり、MinIO をサポートするためのプラグインもあります。
GitHub: Kuingsmile/PicList: An image upload and manage tool, base on 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
- useSSL:SSL を有効にするかどうか、有効にするを選択します
- accessKey:Minio Server のインストール時に設定したユーザー名、vfly2
- secretKey:以前に設定したパスワード、pass_vfly2_word
- bucket:作成したバケットの名前、imagesbed
- 設定を保存します
- 「アップロード」で、イメージホスティングを選択し、画像をアップロードして成功するかどうかを試してみてください(実際の体験では、サーバーとのネットワーク接続が不安定な場合、1MB を超えるとアップロードが失敗する可能性が非常に高いです)
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 のデプロイプロセス、MinIO を使用してファイルを保存し、共有するのに便利です。
元の記事のリンク:https://technique.vfly2.com/2024/03/self-hosted-image-hosting-service/
著作権声明:このブログのすべてのコンテンツは、特に明記されていない限り、AhFei によるオリジナル作品であり、CC BY-NC-SA 4.0ライセンスの下で公開されています。転載する際は、出典を明記してください:技焉洲 (technique.vfly2.com)。