DockerでPhotoPrismのインストール

提供:dococo.jp

PhotoPrismはAIによる写真画像の振りわけ(実際にはタグ付け)などが出来る高機能な画像管理サーバーです。これをAlmaLinux9で構築したいとおもいます。

この接続条件ですが、自宅のローカルサーバがAlmaLinux9で立ち上がっており固定IPアドレスで運用している事とします。

また、PhotoPrismは外部からのアクセスはしないという条件での設定です。

PhotoPrismとは

ExifやAIによる画像解析による分類で、写真を効率よく振りわけることが出来るフリーソフトウエアです。導入するのはLinixで立ち上がっているサーバーが必要になります。

AlmaLinux9でPhotoPrismを構築する

基本的にはDockerというディストリビューションを問わないオープンプラットフォームを用いるのでAlmaLinux9でなくでも大丈夫だと思います。そもそもDockerと言うのはディストリビューション(OS)やフレームワーク(システム構築環境)関係無しに目的とするソフトウエアを使えるようにするコンテナ型仮想環境用のプラットフォームです。簡単に言うとLinix用アプリケーションはWindowsでは動かせませんがDockerで提供されていればLinuxでもWindowsでも動かす事が可能という訳です。

Dockerのインストール

まずは、Dockerをインストールします。

#リポジトリの登録
[root@dell ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

#Dockerのインストール
[root@dell ~]# dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#バージョン確認
[root@dell ~]# docker --version

#Dockerの起動
[root@dell ~]# systemctl start docker

#dockerの再起動(これは飛ばしても良いです)
[root@dell ~]# systemctl restart docker

#Dockerの自動起動の設定
[root@dell ~]#systemctl enable docker

Docker Composeのインストール

#Docker Composeのインストール
[root@dell ~]# curl -L "https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#権限付与
[root@dell ~]# chmod +x /usr/local/bin/docker-compose

この時点で、Docker Composeを使用してインストールする環境が整いました

PhotoPrismのインストール

dockerの基礎知識

Dockerを使ってインストールするという意味が全くわからなかったのですが、簡単に説明すると

  1. インストールしたいサイトから、「docker-compose.yml」というテキストファイルをダウンロードする
  2. docker-compose.yml」にはインストールする内容が記載されているので自分の環境に合わせ適切に修正する
  3. docker-compose.yml」のあるディレクトリに移動して、「docker-compose up -d」と打つと必要なファイルをダウンロードして環境を構築してくれます

PhotoPrism導入先フォルダの指定

データ類が大きくなるので、以下の配下にPhotoPrismを構築することとします。

Linuxでは大文字&小文字を区別するので注意してください

/home/photoprism

以下のコマンドを打って、PhotoPrismの「docker-compose.yml」をダウンロードします

[root@dell ~]# mkdir -p /home/photoprism
[root@dell ~]# cd /home/photoprism
[root@dell ~]# wget https://dl.photoprism.app/docker/docker-compose.yml

これで、/home/photoprism配下にdocker-compose.ymlがダウンロードされると思います

docker-compose.ymlの編集

以下の様に修正します

34行目 コメントアウトを削除
# restart: unless-stopped
	restart: unless-stopped

110行目 以下の様に修正
volumes:
    - "./Pictures:/photoprism/originals"
    - "./Import:/photoprism/import" 
    - "./storage:/photoprism/storage"

■MariaDBのバージョン削除(最新版がインストールされる)
120行目
image: mariadb:11
	image: mariadb

以下のフォルダを作成します

[root@dell ~]# mkdir -p /home/photoprism/Pictures
[root@dell ~]# mkdir -p /home/photoprism/Import
[root@dell ~]# mkdir -p /home/photoprism/storage

そうしたら、PhotoPrismをインストールします。docker-compose.ymlのあるディレクトリに移動して以下のコマンドを打ちます

[root@dell ~]# docker-compose up -d

これで、PhotoPrismがインストールされますので、以下のURLにアクセスすればPhotoPrismのWebに接続されるはずです。

http://(自分のサーバーのIPアドレス):2342

PhotoPrismの使い方

いろいろな運用方法があるので、便利なのですがその反面汎用性が広すぎて使い方を悩んでしまいました。ここでは、使い方の一例を説明します。

Pictures配下

インポートした画像がここに保存される。直接好きなディレクトリ名で保存してもOK。

Import配下

FTPやSAMBA等で適当に画像ファイルを放り込んでもOK。PhotoPrismのインポートを実施すればExifを参照して自動的にPictures配下のフォルダに振り分けが行われる。

個人的な使い分け

自分のルールでフォルダを作成して画像データを管理している場合はPictures配下に保存することで、フォルダ構成を変えずに管理することが出来ます。

振り分けルールが面倒くさい(すでに何万枚も写真データが散らばっている)場合は、Import配下

に保存してライブラリ=>インポートを行うことでPictures配下に年/月で保存されます。

Dockerコマンド(備忘録)

■保存されているイメージの確認
[root@dell ~]# docker image

■イメージの削除
[root@dell ~]# docker rmi[イメージID]

■イメージの取得(ubuntuを取得する場合)
[root@dell ~]# docker pull ubuntu

■コンテナの作成(イメージ取得→コンテナ作成となる)
 上述のubuntuの場合
[root@dell ~]# docker run -it ubuntu

■動いているコンテナの確認
[root@dell ~]# docker ps

■全コンテナの確認
[root@dell ~]# docker ps -a

■停止しているコンテナをすべて削除する
[root@dell ~]# docker container prune

■コンテナの削除
[root@dell ~]# docker rm [CONTAINER ID]

■dockerの停止
[root@dell ~]# docker stop 0b5aad08487b

■全コンテナ停止
[root@dell ~]# docker stop $(docker ps -q)

■全コンテナ削除
[root@dell ~]# docker rm $(docker ps -q -a)

■全イメージ削除
[root@dell ~]# docker rmi $(docker images -q)