From 12afc11f9a95c7fcbdb4a91e9b846fe13804752c Mon Sep 17 00:00:00 2001 From: RushLana Date: Fri, 1 Aug 2025 15:26:49 +0200 Subject: [PATCH 1/6] Add root quadlet --- podman-quadlet/README.md | 2 ++ podman-quadlet/piwigo-db.container | 12 ++++++++++++ podman-quadlet/piwigo.container | 14 ++++++++++++++ podman-quadlet/piwigo.network | 2 ++ 4 files changed, 30 insertions(+) create mode 100644 podman-quadlet/README.md create mode 100644 podman-quadlet/piwigo-db.container create mode 100644 podman-quadlet/piwigo.container create mode 100644 podman-quadlet/piwigo.network diff --git a/podman-quadlet/README.md b/podman-quadlet/README.md new file mode 100644 index 0000000..a9f32ec --- /dev/null +++ b/podman-quadlet/README.md @@ -0,0 +1,2 @@ +# Piwigo podman (Quadlet) + diff --git a/podman-quadlet/piwigo-db.container b/podman-quadlet/piwigo-db.container new file mode 100644 index 0000000..d937df4 --- /dev/null +++ b/podman-quadlet/piwigo-db.container @@ -0,0 +1,12 @@ +# piwigo-db.container +[Container] +Environment=MARIADB_RANDOM_ROOT_PASSWORD=true MARIADB_USER=piwigodb_user MARIADB_DATABASE=piwigodb MARIADB_PASSWORD=PASSWORD +Image=docker.io/library/mariadb:lts +Network=piwigo.network +Volume=./piwigo-data/mysql:/var/lib/mysql:z + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/podman-quadlet/piwigo.container b/podman-quadlet/piwigo.container new file mode 100644 index 0000000..8094c88 --- /dev/null +++ b/podman-quadlet/piwigo.container @@ -0,0 +1,14 @@ +# piwigo.container +[Unit] +Requires=piwigo-db.service +After=piwigo-db.service + +[Container] +Image=docker.io/rushlana/piwigo-test:latest +Network=piwigo.network +PublishPort=8080:80 +Volume=./piwigo-data/piwigo:/var/www/html/piwigo:z +Volume=./piwigo-data/scripts:/usr/local/bin/scripts:z + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/podman-quadlet/piwigo.network b/podman-quadlet/piwigo.network new file mode 100644 index 0000000..614b356 --- /dev/null +++ b/podman-quadlet/piwigo.network @@ -0,0 +1,2 @@ +# piwigo.network +[Network] \ No newline at end of file From 5ce6af363132f4dc2c8faca4951aeb033c3dac9d Mon Sep 17 00:00:00 2001 From: RushLana Date: Thu, 14 Aug 2025 08:20:35 +0200 Subject: [PATCH 2/6] Add piwigo data podman quadlet dir in .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2923ed2..df34d04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -/piwigo-data/ +/piwigo-data +/podman-quadlet/piwigo-data /.env \ No newline at end of file From 757dc1ba20d6046e8171ea4c3ec8ba2e74f48dae Mon Sep 17 00:00:00 2001 From: RushLana Date: Thu, 14 Aug 2025 12:25:40 +0200 Subject: [PATCH 3/6] Add podman readme --- README.md | 2 ++ podman-quadlet/README.md | 73 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) diff --git a/README.md b/README.md index ba08f58..ba139b2 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ An alpine based container to easily deploy piwigo ! +Check the [podman README](./podman-quadlet/README.md) if you would rather use podman. + ## Usage ### Starting the container diff --git a/podman-quadlet/README.md b/podman-quadlet/README.md index a9f32ec..1000901 100644 --- a/podman-quadlet/README.md +++ b/podman-quadlet/README.md @@ -1,2 +1,75 @@ # Piwigo podman (Quadlet) +## Requirements + +- systemd +- podman + +## Usage + +Create `/etc/containers/systemd/piwigo/` and copy each quadlet units files in it. + +``` +/etc/containers/systemd/piwigo/ + ├── piwigo-db.container + ├── piwigo.container + └── piwigo.network +``` + +Reload systemd units and start the service : + +```sh +sudo systemctl daemon-reload +sudo systemctl start piwigo.service +``` + +### Changing the exposed port : + +Edit `piwigo.container` : + +```diff +- PublishPort=8080:80 ++ PublishPort=12345:80 +``` + +### Changing bind-mounts + +Bind mounts are links between the host filesystem and the containers. +System placeholder are valid in quadlets, `%h` is match the container user home (`/root/`) + +Edit `piwigo.container` : + +```diff +- Volume=./piwigo-data/piwigo:/var/www/html/piwigo:z +- Volume=./piwigo-data/scripts:/usr/local/bin/scripts:z ++ Volume=%h/PiwigoPod/piwigo:/var/www/html/piwigo:z ++ Volume=%h/PiwigoPod/scripts:/usr/local/bin/scripts:z +``` + +And edit `piwigo-db.container` : + +```diff +- Volume=./piwigo-data/mysql:/var/lib/mysql:z ++ Volume=%h/PiwigoPod/mysql:/var/lib/mysql:z +``` + +### Updating + +Stop and restart your containers, podman should pull an updated image automatically. + +```sh +sudo systemctl stop piwigo.service piwigo-db.service +sudo systemctl daemon-reload +sudo systemctl start piwigo.service +``` + +### Diagnosing errors + +Access the systemd journal `journalctl --user -eu piwigo.service`, most common errors are permision issues. +Ensure that your volume is in a valid location and has read and write permisions. + +### Podman documenation + +- [Quadlet unit documentation](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) +- [Volume documentation](https://docs.podman.io/en/v4.4/markdown/options/volume.html) +- [System unit placeholder table](https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Specifiers) \ No newline at end of file From eed835ab7f13c825089c8558b323a1181e1e4bc9 Mon Sep 17 00:00:00 2001 From: RushLana Date: Thu, 14 Aug 2025 12:26:18 +0200 Subject: [PATCH 4/6] Minor comment change and match main repo image source (Github) --- podman-quadlet/piwigo-db.container | 2 +- podman-quadlet/piwigo.container | 4 ++-- podman-quadlet/piwigo.network | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/podman-quadlet/piwigo-db.container b/podman-quadlet/piwigo-db.container index d937df4..33a39c3 100644 --- a/podman-quadlet/piwigo-db.container +++ b/podman-quadlet/piwigo-db.container @@ -1,4 +1,4 @@ -# piwigo-db.container +# Piwigo database container [Container] Environment=MARIADB_RANDOM_ROOT_PASSWORD=true MARIADB_USER=piwigodb_user MARIADB_DATABASE=piwigodb MARIADB_PASSWORD=PASSWORD Image=docker.io/library/mariadb:lts diff --git a/podman-quadlet/piwigo.container b/podman-quadlet/piwigo.container index 8094c88..a0a617f 100644 --- a/podman-quadlet/piwigo.container +++ b/podman-quadlet/piwigo.container @@ -1,10 +1,10 @@ -# piwigo.container +# Piwigo NGINX PHP-FPM container [Unit] Requires=piwigo-db.service After=piwigo-db.service [Container] -Image=docker.io/rushlana/piwigo-test:latest +Image=ghcr.io/piwigo/piwigo:latest Network=piwigo.network PublishPort=8080:80 Volume=./piwigo-data/piwigo:/var/www/html/piwigo:z diff --git a/podman-quadlet/piwigo.network b/podman-quadlet/piwigo.network index 614b356..3cf20be 100644 --- a/podman-quadlet/piwigo.network +++ b/podman-quadlet/piwigo.network @@ -1,2 +1,2 @@ -# piwigo.network +# Piwigo Network [Network] \ No newline at end of file From b8e1de576a404cd7b3b7706e3836c4348f9b3cca Mon Sep 17 00:00:00 2001 From: RushLana Date: Thu, 14 Aug 2025 12:29:36 +0200 Subject: [PATCH 5/6] Fix typo and link documentation --- podman-quadlet/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/podman-quadlet/README.md b/podman-quadlet/README.md index 1000901..9046c40 100644 --- a/podman-quadlet/README.md +++ b/podman-quadlet/README.md @@ -34,8 +34,8 @@ Edit `piwigo.container` : ### Changing bind-mounts -Bind mounts are links between the host filesystem and the containers. -System placeholder are valid in quadlets, `%h` is match the container user home (`/root/`) +Bind mounts are links between the host filesystem and the containers. +Systemd placeholder are valid in quadlets, `%h` is match the container user home (`/root/`) see [the documentation](#documentation) Edit `piwigo.container` : @@ -65,10 +65,10 @@ sudo systemctl start piwigo.service ### Diagnosing errors -Access the systemd journal `journalctl --user -eu piwigo.service`, most common errors are permision issues. +Access the systemd journal `journalctl --user -eu piwigo.service`, most common errors are permision issues. Ensure that your volume is in a valid location and has read and write permisions. -### Podman documenation +### Documentation - [Quadlet unit documentation](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) - [Volume documentation](https://docs.podman.io/en/v4.4/markdown/options/volume.html) From 29d3b82ae12ff9a09aface7de9534ed6ba4384c0 Mon Sep 17 00:00:00 2001 From: RushLana Date: Thu, 14 Aug 2025 12:31:15 +0200 Subject: [PATCH 6/6] Remove --user from journalctl since it's not on a rootless quadlet --- podman-quadlet/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/podman-quadlet/README.md b/podman-quadlet/README.md index 9046c40..c999982 100644 --- a/podman-quadlet/README.md +++ b/podman-quadlet/README.md @@ -65,7 +65,7 @@ sudo systemctl start piwigo.service ### Diagnosing errors -Access the systemd journal `journalctl --user -eu piwigo.service`, most common errors are permision issues. +Access the systemd journal `sudo journalctl -eu piwigo.service`, most common errors are permision issues. Ensure that your volume is in a valid location and has read and write permisions. ### Documentation