ChronoFrame is a free, open-source personal photo gallery that you host yourself and access through the web. It reads GPS information from photos and displays locations on maps, with MapLibre and Mapbox available as map providers. OpenStreetMap Nominatim is the default reverse-geocoding provider, while Mapbox Search API can be configured with an access token. The gallery supports Apple LivePhoto and Google-standard Motion Photo formats, including associated MOV files, and offers video backup. Storage options include a local filesystem, S3-compatible storage, and OpenList. Deployment uses Docker or Docker Compose, and SQLite3 means no separate database is required. GitHub OAuth is optional; without it, a default administrator account is provisioned at first start. Upload MIME validation is enabled by default and can be customized or disabled. A 32-character random session password is required for session encryption. The project is released under the MIT License by Timothy Yin, with community support through GitHub Issues, Discussions, and Discord.
Who it is for
ChronoFrame suits people who want to self-host an online personal gallery, map photo locations, and retain control over storage and deployment.
What is good
- Free and open source under MIT
- Self-hosted web gallery
- Supports LivePhoto and Motion Photo formats
- Multiple storage provider options
- Docker deployment with SQLite3
What to know first
- Self-hosting required
- Documentation may be incomplete
- Requires session-password configuration
- Map services may require tokens
Verdict
ChronoFrame provides a self-hosted gallery with location mapping, motion-photo support, and flexible storage. Its setup and still-in-progress documentation require users comfortable with configuration and deployment.
Compared on photo storage services
- Video backup
- Yes





