====== LibrePhotos ======
**NOTE:** i don't use LibrePhotos anymore, this page might get outdated over time.
[[https://docs.librephotos.com/|LibrePhotos]] is an open-source solution for your own photos management, backup and organization. To be honest, it feels neglected and kind-of-abandoned.
There are other solutions out there like:
* [[https://immich.app/|Immich]], which i covered [[services:immich|here]], which i am currently preferring to LibrePhotos since they enabled to import existing photo collections, it's actively developed and they have great UIs. It's also really snappy.
* [[https://www.photoprism.app/|PhotoPrism]], which i have no tried yet, but it requires a paid recurrent membership to access some features, and i don't like that.
LibrePhotos seems a fine solution while providing a good web UI and nice Android apps both official [[https://github.com/akshay9/librephotos-mobile|LibrePhotos]] and third party [[https://uhuru.photos/|Uhuru Photos]] that //just works//.
The biggest drawback to LibrePhotos is that is does not support sub-paths in the Web UI, so you need to expose a port over your tunnels at this time, bypassing NGINX reverse proxy, it's authentication ans HTTPS (this could probably be set-up for LibrePhotos manually).
The base-url issue can be tracked [[https://github.com/LibrePhotos/librephotos/issues/757|here]].
You will be using //Podman// because base-metal install is pretty complex. Refer to [[gentoo:containers|Using Containers on Gentoo]] for more info on using Podman.
The composer YAML is here:
useradd -d /data/daemons/librephotos -m librephotos
su - librephotos
git clone https://github.com/LibrePhotos/librephotos-docker.git
cd librephotos-docker
cp librephotos.env .env
now edit your **.env** and at very least set:
scanDirectory=/data/Photos
data=/data/daemons/librephotos/data
httpPort=2283
set any port you like. 2283 is just an example. Then start the containers:
cd /data/daemons/librephotos/librephotos-docker
podman compose up -d
Refer to the above linked page on containers on Gentoo to find out how to restart the containers on boot.
===== Reverse Proxy =====
Since LibrePhotos does not support subpaths, you cannot use NGINX to serve it. The best solution you cna use is to add a tunnel for port **2283** from your server to your external server, and maybe also add an automatic recirect in NGINX:
location /photos {
auth_pam off;
return 301 http://$host:2283/;
}
Refer to [[selfhost:nginx|The Reverse Proxy concept]] on how to enable this config and restart the Reverse Proxy.