Interesting tool based on blocks to tag any document for photos you own. With app to allow access from any device. Blocks contains tags and links between them to organize all like a heap.
I haven’t installed the self-hosted version yet to see how it can interact with an existing Obsidian vault. Next step.
Site: https://heaper.de/


Some notes:
My compose file:
services: heaper-postgres: image: ghcr.io/janlunge/heaper-postgres:latest container_name: heaper-postgres environment: POSTGRES_USER: $POSTGRES_USER POSTGRES_PASSWORD: $POSTGRES_PASSWORD POSTGRES_DB: $POSTGRES_DB ports: - "5432:5432" volumes: - /path/to/heaper/postgres:/var/lib/postgresql/data networks: - heaper healthcheck: test: ["CMD-SHELL", "pg_isready -U heaper -d heaper || exit 1"] interval: 10s timeout: 5s retries: 5 start_period: 20s heaper: image: ghcr.io/janlunge/heaper:latest container_name: heaper platform: linux/amd64 environment: HOSTNAME: heaper.caruthers.us ENABLE_INTERNAL_POSTGRES: "false" DB_HOST: heaper-postgres:5432 DB_USER: $POSTGRES_USER DB_PASS: $POSTGRES_PASSWORD DB_NAME: $POSTGRES_DB ports: - "3000:443" - "4499:80" volumes: - /path/to/heaper/config:/usr/src/app/config - /path/to/heaper/thumbnails:/mnt/thumbnails - /path/to/heaper/storage:/mnt/storage networks: - heaper depends_on: heaper-postgres: condition: service_healthy healthcheck: # Docs show example health probes; adjust host/port if your container differs. test: ["CMD-SHELL", "curl -fsS http://localhost/api >/dev/null || exit 1"] interval: 15s timeout: 5s retries: 5 start_period: 30s networks: heaper: name: heaperI have the DB, config, and thumbnails on local NVME, and storage on NFS-mounted NAS. Working fine so far.
ETA: Correction in compose file.
Does it store uploaded files in plain text on the file system?
From what I can tell, notes are stored in the DB, but can be exported as JSON, or I think markdown. It sure about markdown. I’ve only been able to export JSON, and it didn’t include the image I had embedded in the note. Whatever isn’t a note (images, movies, pdf, doc, etc.) is stored on the file system in a directory structure that files them under heap -> asset checksum. Thumbnails are included there if applicable. In that regard, it kind of forces you to use its folder structure.