A self-hosted media flashback system. Crawls your a folder and surfaces your photos and videos as an Instagram Story-style "On This Day" experience.
Early development — Follow progress in Issues and Milestones.
- Daily flashbacks grouped by year.
- Live Photo support and burst grouping
- Star, like, or hide memories to personalise future flashbacks
- Monthly, seasonal, and yearly recap views
- Daily notifications with a deep link to today's memories
- Multi-user — each person keeps their own interaction state; family libraries supported
- GPU-accelerated transcoding (Intel QuickSync → NVENC → AMF → software fallback)
- No cloud dependency — your NAS, your data — AGPL-3.0
See the Self-Hosting guide for prerequisites, quick start, and multi-user setup.
Run from the repository root; the build context is src/:
docker build -f src/Anichron.API/Dockerfile -t anichron-api:local src
docker build --secret id=sixlabors_license,src=sixlabors.lic -f src/Anichron.Worker/Dockerfile -t anichron-worker:local srcThe Worker uses ImageSharp, which needs a Six Labors licence key at build time. Put the key, and nothing else, in sixlabors.lic at the repository root (it is gitignored); the Worker build takes it as the build secret sixlabors_license and fails with "No Six Labors license found" without it. To pass the key from an environment variable instead, use --secret id=sixlabors_license,env=SIXLABORS_LICENSE_KEY.
src/docker-compose.device.yml runs the latest master build (the edge images) on a laptop and serves it to your own phone over HTTPS through Tailscale, with a sample photo folder as one user's library. Its header lists the steps.
The wiki covers features, architecture, deployment decisions, and the release process.
Anichron is a solo project: bug reports are welcome, pull requests are not accepted. See CONTRIBUTING.md.