Understand, enrich, and curate your entire library.
Pictaria Server is a single self-hosted container that sits beside Immich and makes decades of photos make sense — free, source-available, and incapable of phoning home.
The modules
One container. Five superpowers.
Insights
Your library, finally legible. Who you photograph, where you've been, and when — every stat is clickable and lands on the actual photos.
- A constellation graph of the people in your life
- A "where you were" timeline of 25+ years, week by week
- Records: busiest day, longest quiet spell, furthest from home
Enrich
AI captions, tags, and quality scores for every photo — searchable in Pictaria and, if you choose, written back to Immich descriptions.
- Runs fully local with LM Studio or Ollama — photos never leave home
- Or bring your own OpenAI / OpenRouter key
- Budgeted runs, resumable, with a live progress strip
Curate
Thirty thousand photos of "which of these five is the keeper?" answered at keyboard speed — with an optional AI referee that pre-picks the best shot in every burst.
- Burst and near-duplicate stacks with side-by-side compare
- Keep the best, skip the rest — one keystroke
- Works with or without AI
Smart Albums
Rule-based albums that maintain themselves: people, places, dates, cameras, even AI-judged "best of" collections — recomputed on your schedule.
- "Alicia and David in San Francisco" stays current forever
- Filters compose: people ∩ places ∩ time ∩ camera
- Writes real Immich albums you can use anywhere
Frame hub
The command center for every Pictaria Frame in the house: remote control from any phone browser, voice command routing, and per-device stats.
- See and control all frames from one Remote page
- Weather, ambient, and voice services for the frames
- Works entirely on your LAN
Quickstart
Two files. One command.
If you run Immich, you already know the drill: a
docker-compose.yml, a .env with three values,
and docker compose up.
services:
pictaria:
image: ghcr.io/pictaria-ai/pictaria-server:latest
restart: unless-stopped
ports:
- "4080:4080"
environment:
IMMICH_BASE_URL: ${IMMICH_BASE_URL} # your Immich URL
IMMICH_API_KEY: ${IMMICH_API_KEY} # an Immich API key
APP_PASSWORD: ${APP_PASSWORD} # protects the web UI
volumes:
- ./data:/data
Then open
http://your-server:4080. Full walkthrough in the
documentation — AI providers, voice, weather,
and backups are all configured from the web UI afterwards. And once
it's running, the Server guide
explains every tab for whoever uses it day to day.
Free & open
Free to run. Yours to inspect.
Pictaria Server is free — no license keys, no feature gates, no telemetry. The source is on GitHub; the container is on GHCR. If it earns a place in your home, there's a supporter badge waiting — but it gates nothing, because that's the point.