A lightweight self-hosted photo gallery for low-power devices.
- Go 100%
|
|
||
|---|---|---|
| .github/workflows | ||
| cmd/galleryd | ||
| internal | ||
| CHANGELOG.md | ||
| go.mod | ||
| go.sum | ||
| README.md | ||
| ROADMAP.md | ||
galleryd
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