OpenSource-Hub
C

ChronoFrame

1.8k stars·File Management·SHA-256 checksum verified

ChronoFrame is a self-hosted photo gallery for photographers. It automatically extracts EXIF data, reverse geocodes locations, and displays photos on an interactive map. Supports local and S3 storage, CDN acceleration, and WebGL rendering. Easy Docker deployment.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Self-hosted photo gallery with smart EXIF, map view, and multiple storage backends.

Core Features

  • Smart EXIF parsing: automatically extracts capture time, geolocation, and camera settings
  • Reverse geocoding: identifies shooting location names from coordinates
  • Interactive map view: browse all photos by location on a map
  • Multiple storage backends: local filesystem or S3-compatible, with CDN support
  • Efficient thumbnails: uses ThumbHash for fast preview generation

What It Can't Do

  • Default admin password is weak (CF1234@!), change it in .env. Local storage users should monitor disk usage. Map features require free API tokens from MapTiler or Mapbox. Reverse geocoding needs a separate Mapbox token.

Use Cases

  • Personal photography portfolio: showcase your work on your own domain
  • Family photo archive: keep memories private and under your control
  • Travel photo diary: automatically organize photos by location on a map

Detailed Introduction

ChronoFrame is a modern, self-hosted photo gallery application designed for photographers and enthusiasts who want full control over their image collections. Built on Nuxt 4 with TypeScript and Drizzle ORM, it offers a smooth web interface for uploading, browsing, and managing photos. Key features include smart EXIF metadata extraction, reverse geocoding to identify shooting locations, an interactive map view, and support for multiple storage backends (local filesystem or S3-compatible). It uses ThumbHash for efficient thumbnails and WebGL for high-quality image rendering. Deployment is simple via Docker, with a prebuilt image available on GHCR and Docker Hub. The admin dashboard allows batch upload, drag-and-drop, and automatic thumbnail generation. ChronoFrame also supports CDN acceleration for faster delivery. With a clean, responsive UI and full type safety, it's a reliable alternative to cloud-based services like Google Photos or Flickr, giving users complete data ownership.

Tags

photo-galleryself-hostedexifmapnuxtdockerphotography

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Install Docker and Docker Compose on your server

4

Step 2: Create a .env file with admin email, password, and storage preference (local or S3)

5

Step 3: Run docker compose up -d to start the service

Install Guide
  1. Step 1: Install Docker and Docker Compose on your server
  2. Step 2: Create a .env file with admin email, password, and storage preference (local or S3)
  3. Step 3: Run docker compose up -d to start the service
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Stop the container: docker compose down; remove data: rm -rf ./data && docker rmi ghcr.io/hoshinosuzumi/chronoframe

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-06-04 06:15:39
GitHub RepositoryOfficial Website

Similar Projects