====== Damselfly ======
**Note:** since i don't use this service anymore, this page might be not updated.
[[https://damselfly.info|Damselfly]] is a digital asset management tool to manage huge collections of photos. Still testing, i love the concept.
===== Installation =====
Installing Damselfly can be done on bare-metal, but the dev does not support it, so i will show you both ways.
In general you can find more installation information [[https://github.com/Webreaper/Damselfly/blob/master/docs/Installation.md|here]].
==== Common installation steps ====
Create a damselfly user and make it member of the //photos// group:
groupadd photos
useradd -d /data/daemons/damselfly -m -g photos damselfly
Since Damselfly uses INotify triggers, you need to increase defaults or it will be unable to monitor large collections of photos (see [[https://github.com/Webreaper/Damselfly/blob/master/docs/Installation.md#filewatcher-inotify-limits|here]]).
Create the file **/etc/sysctl.d/damselfly.conf**:
fs.inotify.max_user_instances=524288
And for it to be applied without a reboot:
sysctl -p /etc/sysctl.d/damselfly.conf
==== Bare Metal Installation (not recomended) ====
Non-containerized install instructions [[https://github.com/Webreaper/Damselfly/blob/master/docs/Installation.md#can-i-run-damselfly-without-docker|here]]
Download and decompress the release:
su - damselfly
wget https://github.com/Webreaper/Damselfly/releases/download/4.1.0/damselfly-server-linux-4.1.0.zip
mkdir damselfly
cd damselfly
unzip damselfly-server-linux-4.1.0.zip
(the release zip file requires a sub-folder to store neatly all files)
In order for Damselfly to work you need to install some dependencies, which can be found in the [[https://github.com/Webreaper/Damselfly-Base-Image/blob/main/Dockerfile|Docker file]].
There you go:
emerge -s media-fonts/liberation-fonts dev-dotnet/libgdiplus media-gfx/dcraw media-libs/exiftool
The supposed //libgmp1// dependency is satisfied by adding **openmp** useflag to GCC (see [[https://forums.gentoo.org/viewtopic-p-5039135.html#6577903|here]]) which should be enabled by default in Gentoo.
==== Podman installation ====
Create the following //docker-compose.yml//:
version: "3.8"
name: damselfly
services:
damselfly:
container_name: damselfly
image: webreaper/damselfly
ports:
- 6363:6363/tcp
volumes:
- /data/daemons/damselfly/config:/config
- /data/daemons/damselfly/thumbs:/thumbs
- /data/Photos:/pictures
restart: unless-stopped
networks:
damselfly-net: {}
And install it:
su - damselfly
podman compose pull
===== Reverse Proxy =====
Damselfly do not support sub-paths, so you __must__ spin your own subdomain for it to work. Here is the relevant NGINX configuration file:
TBD
===== Startup =====
==== Bare Metal running ====
Start:
./Damselfly.Web /path/to/my/photos
You will need the usual script & /etc/local.d/damselfly.start script for automatic start on boot.
==== Podman running ====
Running is, as usual:
su - damselfly
podman compose up
To run at boot, add the following lines to your **/etc/local.d/80-containers.start**:
podman network create damselfly-net
su - damselfly -c "podman compose up -d"
and the following lines to **/etc/local.d/80-containers.stop**:
su - damselfly -c "podman compose down"