TiloBox
Back to directory
Photoview project preview

Photoview

Simple, user-friendly, and lightweight self-hosted photo gallery with facial recognition.

LicenseAGPL-3.0
GitHub stars6.5k
Last commit1 weeks ago
Tags6 topics
LightweightFace DetectionGallerySelf HostedPhotosGolang
Overview

Why consider Photoview?

Photoview is an open-source, lightweight photo gallery server designed for speed and navigation. It features fast thumbnail generation, facial recognition, and RAW image support.

Guided learning

Learn Photoview by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 10 sections
In this guide10 sections

What is Photoview?

Photoview is a lightweight, high-performance open-source photo and video gallery server written in Go and Vue.js. It operates as a fast, resource-efficient alternative to heavier photo management platforms, emphasizing swift browsing, rapid thumbnail generation, and directory-based album organization.

Photoview scans existing file directory trees non-destructively, generates progressive WebP thumbnails, clusters faces using local machine learning algorithms, and provides smooth, responsive navigation across high-resolution image libraries on low-power devices like Raspberry Pi.

Who Is It For?

  • Raspberry Pi & Low-Power Server Owners: Running a responsive photo gallery without high memory consumption or database overhead.
  • Directory-First Organizers: Browsing photos according to existing filesystem folder structures without forced database imports.
  • Family Homelabbers: Setting up individual user accounts with private or shared albums and password-protected sharing links.

Key Features

  • High-speed thumbnail caching using modern WebP formats for fluid photo scrolling.
  • Non-destructive folder scanning that respects existing filesystem directory structures.
  • Local facial recognition and clustering powered by dlib machine learning libraries.
  • Geographic EXIF map view plotting images on interactive world map tiles.
  • Support for RAW camera formats (via Darktable) and common video formats (via FFmpeg).

Deploying Photoview with Docker Compose

yaml
1version: '3'
2
3services:
4 db:
5 image: mariadb:10.5
6 container_name: photoview_db
7 restart: unless-stopped
8 environment:
9 - MYSQL_DATABASE=photoview
10 - MYSQL_USER=photoview
11 - MYSQL_PASSWORD=secure_photoview_pass
12 - MYSQL_ROOT_PASSWORD=root_secure_pass
13 volumes:
14 - ./db_data:/var/lib/mysql
15
16 photoview:
17 image: viktorstrate/photoview:latest
18 container_name: photoview
19 restart: unless-stopped
20 ports:
21 - "8000:80"
22 environment:
23 - PHOTOVIEW_DATABASE_DRIVER=mysql
24 - PHOTOVIEW_MYSQL_URL=photoview:secure_photoview_pass@tcp(db:3306)/photoview
25 - PHOTOVIEW_LISTEN_PORT=80
26 volumes:
27 - ./photos_cache:/app/cache
28 - /media/photos:/photos:ro
29 depends_on:
30 - db

Start the container:

bash
1docker compose up -d

Open http://localhost:8000 in your browser to complete initial administrator setup and initiate your initial library scan.

Practical Use Cases

1. Lightweight Raspberry Pi Photo Server

A homelabber deploys Photoview on a single-board computer connected to an external USB hard drive, browsing 50,000 photos smoothly without freezing.

A photographer points Photoview to an existing network share in read-only mode (:ro), generating beautiful web galleries while guaranteeing original raw files cannot be altered.

3. Password-Protected Public Album Sharing

A user shares vacation albums with distant relatives by generating a secure, expiring public web link with full-resolution download permissions.

Troubleshooting and Limitations

  • Thumbnail Generation Cache Space: For large photo libraries, allocate several gigabytes of fast SSD storage for /app/cache to ensure instantaneous thumbnail rendering.
  • EXIF Timestamp Accuracy: Ensure camera clocks are synchronized; Photoview groups timeline items strictly based on EXIF capture dates.

Official Resources

Related tools

More options with a similar category or technology profile.

Photoview FAQs

Photoview is listed as a Media tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Photoview is listed under the AGPL-3.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Photoview is listed as an alternative to Google Photos. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.