1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux上にPiwigo写真管理サーバを構築

Last updated at Posted at 2024-10-29

環境

  • OS: Ubuntu 24.04.1 LTS

Dockerのインストール

Linux上で以下のコマンドを実行する。

sudo apt-get install docker.io
sudo apt-get install docker-compose

Piwigo Dockerコンテナの実行ユーザ作成

以下のコマンドを実行する。これにより、piwigoユーザが作成され、docker実行権限が付与される。

sudo useradd -m -s /bin/bash piwigo
sudo gpasswd -a piwigo docker

Piwigoの実行環境設定

以下のコマンドを実行し、Piwigo Dockerコンテナに必要なディレクトリを作成する。

sudo -u piwigo mkdir -p /home/piwigo/piwigo/gallery
sudo -u piwigo mkdir -p /home/piwigo/piwigo/config
sudo -u piwigo mkdir -p /home/piwigo/piwigo_mariadb
sudo -u piwigo mkdir -p /home/piwigo/docker

Piwigoで使用するデータベース(MariaDB)用に、以下の環境ファイルを作成する。

  • パス: /home/piwigo/piwigo_mariadb/env
  • 内容
    MYSQL_ROOT_PASSWORD=<任意のパスワード>
    MYSQL_DATABASE=piwigo
    MYSQL_USER=piwigo
    MYSQL_PASSWORD=<任意のパスワード>
    
  • 権限: piwigoユーザのみ読み書き可能
    • 以下のコマンドにより設定できる
    sudo chown piwigo:piwigo /home/piwigo/piwigo_mariadb/env
    sudo -u piwigo chmod 600  /home/piwigo/piwigo_mariadb/env
    

Piwigo DockerコンテナのDocker Compose作成

以下のDocker Composeファイルを作成する。

  • パス: /home/piwigo/docker/docker-compose.yml
  • 内容
    version: "3.8"
    services:
      mariadb:
        image: lscr.io/linuxserver/mariadb:10.11.8-r0-ls160
        container_name: piwigo_mariadb
        environment:
          - PUID=<piwigoユーザのUID> ※
          - PGID=<piwigoユーザのGIU> ※
          - TZ=Asia/Tokyo
        volumes:
          - /home/piwigo/piwigo_mariadb:/config
        ports:
          - 3306:3306
        restart: unless-stopped
      piwigo:
        image: lscr.io/linuxserver/piwigo:15.0.0-ls281
        container_name: piwigo
        environment:
          - PUID=<piwigoユーザのUID> ※
          - PGID=<piwigoユーザのGIU> ※
          - TZ=Asia/Tokyo
        volumes:
          - /home/piwigo/piwigo/config:/config
          - /home/piwigo/piwigo/gallery:/gallery
        ports:
          - 8080:80
        restart: unless-stopped
    
    • id piwigo コマンドを実行することで確認できる

Piwigo Dockerコンテナの起動・停止

Piwigo Dockerコンテナを起動する場合、以下のコマンドを実行する。

sudo su - piwigo
cd /home/piwigo/docker
sudo docker-compose up -d

停止する場合は、以下のコマンドを実行する。

sudo su - piwigo
cd /home/piwigo/docker
sudo docker-compose down

Piwigo Dockerコンテナのサービス化

以下の設定により、Piwigo Dockerコンテナをsystemdのサービスにして、システム起動時に自動実行させることができる。

まず、サービスの設定ファイルを作成する。

  • パス: /etc/systemd/system/piwigo_docker.service
  • 内容
    [Unit]
    Description=Piwigo Docker Container Service
    After=docker.service
    Requires=docker.service
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    WorkingDirectory=/home/piwigo/docker
    User=piwigo
    Group=piwigo
    ExecStart=/usr/bin/docker-compose up -d
    ExecStop=/usr/bin/docker-compose down
    TimeoutStartSec=0
    [Install]
    WantedBy=multi-user.target
    

以下のコマンドで、サービスを有効化する。

sudo systemctl enable piwigo_docker.service

なお、以下のコマンドで、サービスの起動・停止を確認できる。

  • 起動
    sudo systemctl start piwigo_docker
    
  • 停止
    sudo systemctl stop piwigo_docker
    
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?