====== 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"