Damselfly
Note: since i don't use this service anymore, this page might be not updated.
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 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 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 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 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 here) which should be enabled by default in Gentoo.
Podman installation
Create the following docker-compose.yml:
- 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:
- damselfly.conf
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"