Piwigoを試す

2025年6月15日
2 分

Piwigo という画像管理webアプリを試してみた。

docker-compose.yml ファイル

services:
  piwigo:
    image: lscr.io/linuxserver/piwigo:latest
    container_name: piwigo
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Tokyo
    volumes:
      - ./appdata/config:/config
      - ./appdata/gallery:/gallery
    ports:
      - 8801:80
    restart: unless-stopped

  piwigodb:
    image: linuxserver/mariadb
    container_name: piwigo_db
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Tokyo
      - MYSQL_ROOT_PASSWORD=rootpass
      - MYSQL_DATABASE=piwigo_db
      - MYSQL_USER=piwigo
      - MYSQL_PASSWORD=piwigopass
    volumes:
      - ./appdata/piwigodb:/config
    ports:
      - 3307:3306
    restart: unless-stopped

フォルダを作る。

takatoh@apostrophe:~/w/piwigo$ mkdir -p appdata/config  
takatoh@apostrophe:~/w/piwigo$ mkdir -p appdata/gallery  
takatoh@apostrophe:~/w/piwigo$ mkdir -p appdata/piwigodb

コンテナを起動。

takatoh@apostrophe:~/w/piwigo$ docker compose up -d  
[+] Running 3/3  
 ✔ Network piwigo_default  Created                                         0.0s   
 ✔ Container piwigo_db     Started                                         0.4s   
 ✔ Container piwigo        Started

データベースのコンテナ(piwigo_db)の中に入って初期設定をする。

takatoh@apostrophe:~/w/piwigo$ docker exec -it piwigo_db bash

mariadb コマンド。

root@990e1f9f4383:/# mariadb -u root  
Welcome to the MariaDB monitor.  Commands end with ; or \g.  
Your MariaDB connection id is 7  
Server version: 11.4.5-MariaDB-log Alpine Linux  
  
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.  
  
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  
  
MariaDB [(none)]>

データベースの確認。docker-compose.yml に記述した piwigo_db というデータベースが作られている。

MariaDB [(none)]> show databases;  
+--------------------+  
| Database           |  
+--------------------+  
| information_schema |  
| mysql              |  
| performance_schema |  
| piwigo_db          |  
| sys                |  
+--------------------+  
5 rows in set (0.002 sec)

ユーザーも確認。こっちも同様に piwigo ユーザーが作られている。

MariaDB [(none)]> SELECT user,host FROM mysql.user;  
+-------------+--------------+  
| User        | Host         |  
+-------------+--------------+  
| piwigo      | %            |  
| root        | %            |  
| root        | 127.0.0.1    |  
| root        | 990e1f9f4383 |  
| root        | ::1          |  
| mariadb.sys | localhost    |  
| root        | localhost    |  
+-------------+--------------+  
7 rows in set (0.004 sec)

piwigo に権限を設定する。

MariaDB [(none)]> GRANT ALL ON piwigo_db.* TO 'piwigo'@'%' IDENTIFIED BY 'piwigopass';  
Query OK, 0 rows affected (0.009 sec)

FLUSH で反映。

MariaDB [(none)]> FLUSH PRIVILEGES;  
Query OK, 0 rows affected (0.002 sec)

これでデータベースの準備は完了。

ブラウザで http://localhost:8801/ にアクセスすると、Piwigo のインストール画面になる。

データベース設定のセクションでは、ホストに docker-compose.yml に記述したサービス名、ユーザーとパスワードもそれぞれ入力。

管理設定のセクションでは、管理者のユーザー名ほかを設定する。オプションのチェックは外した。

さて、一応これで使えるようになった。

参考にしたページ。