ばすにっきTipsプログラミングのTipsを紹介しています。コピー2021.09.262021年6月、長らくお世話になっていたGoogleフォトの無料プランが終了してしまいました。代替となる画像管理プラットフォームを探していたところ、PhotoPrismというよさげなOSSを発見したので、紹介したいと思います。目次PhotoPrismとは?【PhotoPrismのココがすごい1】豊富な検索機能!【PhotoPrismのココがすごい2】高いカスタマイズ性・Nextcloudと連携できる【PhotoPrismのココがすごい3】軽い!PhotoPrismをインストールしようPhotoPrismを起動しよう!日本語化しよう!写真をインデックスしてみよう!取り込んだ写真をみてみよう!まとめスポンサーリンクPhotoPrismとは?PhotoPrismはサーバー向け画像管理アプリケーションです。自宅サーバーやNASに構築することで、自分専用の画像管理サーバーを構築することができ、全世界どこからでも自分の写真にアクセスできるようにすることができます。Webphotoprism.appソースコードはGitHubで公開されており、誰でも無料で入手することができます。Dockerに対応しているので、わずか数コマンドで立ち上げることが可能です。TensorFlowを活用した高度な検索機能にあります。TensorFlowとは、Googleが開発したオープンソースのディープラーニングプラットフォームのこと。PhotoPrismはTenserFlowをベースとした機械学習(AI)を内蔵しています。Googleフォトと同じように、写真の色合いや彩度・輝度などを分析し、自動でカテゴリー分けしたり、タグ付けしてくれます。大量に写真を所有している方でも、あとからかんたんに写真を検索できるので、たいへん便利です。「car」と検索すると、ちゃんと車の写真がヒットする実際に使ってみてですが、精度はGoogleフォトのほうがまだまだ上でした。今後の進展に期待します!【PhotoPrismのココがすごい2】高いカスタマイズ性・Nextcloudと連携できるPhotoPrismは、たくさんのカスタマイズ項目を備えています。ユーザーごとに好みの配色を選択できます。ツールバーから使わないボタンを削除したり、アニメーションの有無や速さも好みに設定できます。ツールバーに表示するアイコンを選択できるアニメーションの設定も可能また、標準で日本語表示に対応しています。Languageから日本語を選択すれば、追加プラグインなしで日本語化できます。バックエンドに関しても、詳細に設定を行うことが可能です。インデックス時のJPEGの圧縮率や解像度など、ブラウザから容易に設定することができます。コマンドラインからは、さらに細かく設定が可能。利用できるコンフィグについては、次の公式サイトにまとめられています。Documentationdocs.photoprism.appさらに、PhotoPrismはNextcloudと連携できます。NextcloudはOSSのクラウドストレージプラットホーム。自宅サーバーやNASに手軽に構築でき、大量のファイルを効率よく管理できるため、自分も長らく使わせてもらっています。PhotoPrismはNextcloudにある写真をインデックスすることができます。その他、WebDAVに対応したサービスであれば、かんたんに連携できます。写真ファイル自体はデバイス同期ができるNextcloud、画像閲覧は高機能なPhotoPrismというように組み合わせて使うと便利です。【PhotoPrismのココがすごい3】軽い!個人的には、ここがPhotoPrismの最大の強みだと思っています。高機能であるにもかかわらず、PhotoPrismはサクサク動きます。Googleフォトがよかったのは、スマホでサクサク写真を閲覧できたこと。写真を見たくなったり、誰かに見せたくなったとき、すぐに写真を表示できたのが魅力でした。現時点では、PhotoPrismのネイティブアプリは提供されていません。試してみたところ、ブラウザでもGoogleフォトにほぼ遜色ないスピードで閲覧できました。Duo+RAM2GBですが、難なく動作しています。似たアプリケーションに「LibrePhotos(旧ownphotos)」がありますが、間違いなくPhotoPrismのほうが速いです。古いサーバーを使用している方にも、胸を張っておすすめできます。サーバーの性能が極端に非常に低い場合は、TensorFlowを無効に設定することもできます。写真を見れればよいという場合は、ディープラーニングを無効にして、リソースの消費を抑えるようにすることも可能です。PhotoPrismをインストールしよう前置きはこのくらいにして、早速PhotoPrismをインストールしてみましょう。適当にインストール先のディレクトリをつくってください。~/photoprism次に、作成したディレクトリに移動して、PhotoPrism公式からdocker-compose.ymlをダウンロードしてきます。https://dl.photoprism.org/docker/docker-compose.ymlymlファイルのダウンロードリンクはこちらです。Documentationdocs.photoprism.appそのままでも動作はしますが、環境に合わせた設定を行うため、ダウンロードしてきたdocker-compose.ymlをエディタで開きます。docker-compose.ymlまずは、「volumes」のところ。PhotoPrismから画像が保存されているディレクトリにアクセスできるようにします。"./storage:/photoprism/storage"ここでは例として、/hogehogeにある画像を認識できるようにしてみました。上のコードのように、サーバーのディレクトリをマウントするときは、/photoprism/originalsのサブディレクトリとして、マウントさせます。必要に応じて、管理者パスワードも変更しておきましょう。characters)これで設定は完了です。PhotoPrismを起動しよう!あとはコンテナを立ち上げるだけです。かんたんですよね~次のコマンドを実行してください。doneしばらくすると、構築が完了します。構築の完了とともに、サービスが起動します。doneと表示されたら、ブラウザからサーバーにアクセスしてみましょう。デフォルトのアドレスは、http://サーバーのIPアドレス:2342です。ブラウザからアクセスしてみてください。IN」をクリックします。見事、PhotoPrismに入ることができました。日本語化しよう!PhotoPrismは標準で日本語に対応しています。メニューから「Settings」をクリックしてください。Languageをクリック。「日本語」を選択します。これで日本語化終了です。写真をインデックスしてみよう!さっそく写真をPhotoPrismに取り込んでみましょう。PhotoPrismに取り込む場合、大きく分けて、2つの方法があります。サーバーにあるファイルをインデックスする直接PhotoPrismにアップロードするほかのサーバー(Nextcloudなど)と連携させる自宅サーバーやNASで実行しているのであれば、すでにあるファイルをインデックスさせるのがベストです。デフォルトでは、~/Picturesにある画像がインデックスされる。sudoでコンテナを立ち上げているので、/root/Picturesがインデックスされることになります。インデックス作成はコマンドから行うこともできます。ファイル数が多いと時間がかかるので、最初のインデックスはコマンドラインから行うことをおすすめします。connection時間がかかる処理を行う際は、Screenコマンドがおすすめです。仮想シェルを作成し、バックグラウンドで処理を実行することができます。topコマンドでインデックス中のサーバーの負荷を表示してみました。E7200+RAM2GBというオンボロサーバーですが、ロードアベレージはそれほど高くならずに済んでいました。CPUが100%を超えているのは、2コア並列処理しているからです。リソースに合わせて、最適な方法で処理を行ってくれるようです。ちなみにLibrePhotosだとこうは行きません。自分の環境ではロードアベレージが20まで跳ね上がってしまい、慌てて強制終了するハメに。LibrePhotosはラズパイもサポートしていなかったりで、まともに動かすなら、かなり高性能なサーバーが必要となります。取り込んだ写真をみてみよう!まとめいかがでしたか?Googleフォトのよかった点として、(1)手軽さ(2)豊富な検索機能があげられると思います。過去に撮った大量の写真をサクサク閲覧できたのは大きな魅力でした。今回紹介したPhotoPrismを使えば、(1)の「手軽さ」については完全無料で実現できてしまいます。今のところアプリはリリースされていないようですが、ブラウザからでもサクサク写真を確認でき、大変使い勝手が良い印象でした。(2)については今後の開発に期待したいところですね。PhotoPrism、Googleフォトの無料プランが終了してしまい、困っている方におすすめです。お買い物はこちらからAmazonでのお買い物は▼こちらのリンク▼からがおすすめです♪Amazonでお買いものする!上記リンクからAmazonギフト券をチャージしてお買い物すると、最大2.5%のポイント還元が受けられます。【Nextcloud】クライアントアプリの設定ファイルはどこにある?nextcloudクライアントアプリの設定ファイルの場所をメモしておきます。【Nextcloud】自宅サーバーで5年使って感じたメリットをまとめてみたオンプレミスで運用できる完全OSSなクラウドストレージ「nextcloud」のいいところをまとめてみました!サーバーApacheで使用するPHPのバージョンを切り替えるには?a2enmodコマンドを使うとかんたん!Apache2.4で使用するPHPのバージョンを切り替える方法をメモしておきます。a2enmodコマンドを使うとかんたんです。【Apache】リバースプロキシにアクセス制限をかける方法Apacheで構築したリバースプロキシにIPアドレスなどのアクセス制限をかける方法を紹介します。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ホームサーバースポンサーリンクスポンサーリンクおすすめ【VPNって意味あるの?】フリーWi-Fiを盗聴して、VPNの効果を検証してみた!「VPNってホントに意味あるの?」安全にインターネットを使う上で欠かせないサービスがVPNです。今回はVPNの仕組み・安全と言われる理由を解説し、実際にフリーWi-Fiを盗聴してVPNの効果を検証してみました。効果はあるのか?IoTや産業分野でも大注目のラズベリーパイで使えるVPNについても紹介していきます。takabus.com2022.12.21今週のトップ10【楽天銀行】キャッシュカードが無くても入金できる?2022.09.272023.01.18【楽天カード】マイナポイントの付与はいつ?利用額が少ない方は要注意。ばすにっきTips.メニューレッツノートサーバーLaravelホーム検索トップサイドバースポンサーリンクスポンサーリンクおすすめ【VPNって意味あるの?】フリーWi-Fiを盗聴して、VPNの効果を検証してみた!「VPNってホントに意味あるの?」安全にインターネットを使う上で欠かせないサービスがVPNです。今回はVPNの仕組み・安全と言われる理由を解説し、実際にフリーWi-Fiを盗聴してVPNの効果を検証してみました。効果はあるのか?IoTや産業分野でも大注目のラズベリーパイで使えるVPNについても紹介していきます。takabus.com2022.12.21今週のトップ10【楽天銀行】キャッシュカードが無くても入金できる?2022.09.272023.01.18【楽天カード】マイナポイントの付与はいつ?利用額が少ない方は要注意。楽天銀行もろもろ未分類タイトルとURLをコピーしました。