A lightweight self-hosted photo gallery for low-power devices.
Find a file
2026-09-01 23:22:57 +05:30
.github/workflows Feat/github-actions: configure GitHub Actions for Go tests (#2) 2026-07-13 02:27:12 +05:30
cmd/galleryd refactor(watcher): remove debug logs from main 2026-07-17 11:03:51 +05:30
internal Revert "feat(gallery): add date range to gallery queries" 2026-09-01 23:22:57 +05:30
CHANGELOG.md chore(documentation): update CHANGELOG for v0.2.0 2026-07-17 11:15:17 +05:30
go.mod feat(watcher): watch configured directories 2026-07-14 12:03:34 +05:30
go.sum feat(watcher): watch configured directories 2026-07-14 12:03:34 +05:30
README.md chore(documentation): add readme 2026-07-13 20:26:15 +05:30
ROADMAP.md chore(documentation): add changelog and roadmap for the project 2026-07-13 20:23:51 +05:30

galleryd

Status Go License

A fast, lightweight photo gallery backend written in Go.

galleryd scans one or more image directories, extracts EXIF metadata, generates cached WebP thumbnails, and exposes a simple HTTP API for powering web, desktop, or mobile gallery applications.

Features

  • Scan multiple gallery directories
  • Extract EXIF metadata
  • Stable photo IDs
  • WebP thumbnail generation
  • Disk-backed thumbnail cache
  • In-memory gallery index
  • HTTP API
  • Configurable via command-line flags

Installation

git clone ...
cd galleryd

go build ./cmd/galleryd

Usage

galleryd \
  --dir ~/Pictures \
  --dir ~/Phone \
  --cache-dir ~/.cache/galleryd \
  --addr :8082

API

Method Endpoint Description
GET /health Health check
GET /api/photos List all photos
GET /photo/{id} Original image
GET /thumb/{id} Thumbnail

Architecture

Scanner

↓

Metadata Reader

↓

Gallery Builder

↓

Gallery Service

↓

HTTP API

Roadmap

  • Gallery reload
  • Filesystem watching
  • Search
  • Frontend

License

MIT