PiGallery2

note: i don't use this service anymore, so this page might be uotdated.

PiGallery2 is a fast and efficient photo viewer for your photo collections.

Installing

Create a pigallery2 user belonging to group photos:

groupadd photos
useradd -d /data/daemons/pigallery2 -m -g photos pigallery2

Installing on bare-metal on Gentoo is not easy because some dependencies still require Python 2 (!!!) it seems. Going containers is currently the best approach. See Using Containers on Gentoo for more details on containers in Gentoo.

Grab the docker-compose file and start it, be sure to grab the one without NGINX:

su - pigallery2
wget https://github.com/bpatrik/pigallery2/raw/master/docker/docker-compose/pigallery2-only/docker-compose.yml

now edit it. Change the port from 80 to 3011 (of course, pick your preferred port!), and setup properly your folders.

Also, add the following lines to the end of the docker-compose file:

networks:
  pigallery2-net: {}
  

to segregate Pigallery2 to it's own subnetwork.

It's installation time:

podman compose pull

NGINX reverse proxy

The following NGINX config:

photos.conf
location /photos/ {
        proxy_pass http://127.0.0.1:3011/;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
}

You will be able to access your Pigallery2 on https://mydomain.com/photos. Add it to your NGINX config and restart it. See The Reverse Proxy concept page for more details.

Starting and autostart on boot

Following my Custom User Services approach for containers, you will need the following configuration file:

/etc/conf.d/user-containers.pigallery2
USER=pigallery2
DESCRIPTION="Pigallery2 Photo Gallery"

and create the link:

ln -s /etc/init.d/user-containers /etc/init.d/user-containers.pigallery2
rc-update add user-containers.pigallery2 default

To start it now:

rc-service user-containers.pigallery2 start

And then want to shut it down manually:

rc-service user-containers.pigallery2 stop

Remember you need to start it once and after you can edit the configuration file /data/daemons/pigallery2/pigallery2/config/config.json and change the following line to look like:

"urlBase": "/photos/"

to ensure Pigallery2 works with the new subpath.