A self-hosted photo gallery that mirrors your server's folder structure as albums, built for photographers with large RAW libraries.
- Stars
- 87
- Forks
- 13
- Open issues
- 4
- Last commit
- 2 days ago
What is it?
Lumio is a self-hosted gallery for photographers and studios. Photographers upload photos and videos, share a gallery link with clients, and clients select favorites, assign color tags, rate images, and leave comments. Videos can be reviewed at specific timestamps, and annotations can be drawn directly on photos and video frames.
The studio side covers gallery design with layouts, slideshows, and whitelabel branding, plus a print shop for selling prints, canvases, and photo books with your own providers and optional Stripe payments. Images are tagged automatically with a CLIP model, and the tags can be filtered by confidence threshold.
The stack is Next.js, Fastify, Postgres, Redis, and a Python worker, deployed with Docker Compose. Storage can be the bundled S3-compatible service or an external provider such as R2, B2, or Wasabi.
Key features
- 01Client proofing with likes, color tags, star ratings, comments, and drawn annotations
- 02Video review with time-anchored annotations and filmstrip scrubbing
- 03RAW support for common camera formats via LibRaw
- 04Print shop for selling prints, canvases, and photo books from galleries
- 05AI auto-tagging with CLIP and confidence-based filtering
- 06Whitelabel branding with custom logos, colors, and domains
- 07Signed URLs, two-factor authentication, audit log, and GDPR data processing agreement
Use cases
- A photographer delivering proof galleries to clients who choose their final images
- A studio that wants to keep client photos and personal data on its own server for GDPR reasons
- An agency hosting galleries for several photographer clients on one instance
- A photographer selling prints and photo books to clients directly from their gallery
Quick start
- 1
Get the repo
git clone https://github.com/markusthiel/lumio.git - 2
Start the containers (first start takes 3–5 min)
docker compose up -d - 3
Create an admin user
docker compose exec api npm run create-admin -- --email=you@example.com --password=atleast12chars --name="Your Studio" - 4
Open http://localhost in your browser and log in
Things to know
- Licensed under the source-available FSL-1.1-ALv2, not OSI open source, and offering it as a competing hosted SaaS to third parties is not permitted.
- Requires Docker with Compose v2 and self-hosting effort, including opening ports 80 and 9000 on your server.
In collections
Topics
FAQ
- What is lumio?
- Self-hosted photo and video gallery for photographers, with client proofing, print shop, and AI auto-tagging. Lumio is a self-hosted gallery for photographers and studios. Photographers upload photos and videos, share a gallery link with clients, and clients select favorites, assign color tags, rate images, and leave comments. Videos can be reviewed at specific timestamps, and annotations can be drawn directly on photos and video frames.
- Is lumio free to use? What license does it have?
- lumio is open source under the Other license. Check the license terms before using it in commercial products.
- Is lumio still maintained?
- Actively maintained. The last commit to lumio was on Nov 5, 2026.
- What can I use lumio for?
- A photographer delivering proof galleries to clients who choose their final images A studio that wants to keep client photos and personal data on its own server for GDPR reasons An agency hosting galleries for several photographer clients on one instance A photographer selling prints and photo books to clients directly from their gallery
- How do I install lumio?
- Get the repo: git clone https://github.com/markusthiel/lumio.git Start the containers (first start takes 3–5 min): docker compose up -d Create an admin user: docker compose exec api npm run create-admin -- --email=you@example.com --password=atleast12chars --name="Your Studio" Open http://localhost in your browser and log in
- Where can I get lumio?
- The source code and installation instructions are on GitHub: https://github.com/markusthiel/lumio
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Piwigo is a self-hosted open source photo gallery web application for managing and sharing a photo library.
Privacy-first, cookieless web analytics that bundles error tracking, performance monitoring and session replays, self-hostable with Docker.
A self-hosted photo management system for uploading, organizing and sharing photos from your own server or web space.
A fast, directory-first photo gallery website that shows your folder structure as-is, designed for low-resource servers such as Raspberry Pi.
Self-hosted photo gallery that extracts EXIF, identifies shooting locations, plays Live Photos and offers albums and a map explore view.