photoview is a free, open source photo & video editors project written in Go and released under AGPL-3.0. It has 6,528 GitHub stars, 485 forks and 189 open issues, and was last pushed 36 hours ago. On this registry it ranks #13 of 22 tracked projects in Photo & Video Editors, with 5 head-to-head comparisons available.

What is photoview?

Photoview is an AGPL-3.0-licensed photo and video gallery server written in Go that scans an existing folder of media on a self-hosted machine and serves it as a fast, browsable website built for photographers.

What it is

Photoview is a self-hosted photo gallery that you point at a directory on your file system. The scanner automatically picks up photos and videos found there and generates thumbnail images during the scan, so browsing stays fast even with thousands of high-resolution files. Once the media has been scanned, it appears on the website organised in the same way as on the file system: the folder hierarchy you already maintain becomes the album structure you browse. The project describes itself as simple and user-friendly, aimed at photographers who want an easy and fast way to navigate directories rather than a tool that demands a separate import step.

It lives in the Docker and self-hosted ecosystem, alongside the network-attached storage hardware its topic list points to, and it stores its state in PostgreSQL. The concrete problem it addresses is the gap between how photographers actually keep their libraries and how galleries usually present them. Media stays in place on disk, arranged in directories, and Photoview adds thumbnails and a web interface on top of that arrangement instead of copying files into an application-managed library. The practical result is that an existing collection on a home server or NAS becomes a browsable gallery without being reorganised, and the browsing layer is fast because the heavy image work happens once, at scan time, rather than on every page view.

Key capabilities

  • Points at a directory on the file system and automatically picks up photos and videos found there, with no manual upload step.
  • Generates thumbnail images as part of the scan, so that browsing thousands of high-resolution photos stays fast.
  • Presents media in the same organisation as the underlying file system, so existing folder structure becomes the gallery structure.
  • Carries the exif and raw topics, covering photographic metadata and camera raw file handling.
  • Ships as the photoview/photoview Docker image, previously published to one registry and now to a new registry for the master tag and future releases.
  • Runs against PostgreSQL, with PostgreSQL 18 used on the master branch and PostgreSQL 17 still supported.
  • Documents a Hardware Acceleration section for setups that want faster media processing.
  • Provides a public demo site at photos.qpqp.dk with the username demo and the password demo.

Who uses it and how

  • Photographers holding large libraries of high-resolution images who want to navigate them quickly rather than scroll through a file browser.
  • Home-server and NAS operators, reflected in the nas and selfhosted topics, who keep media on local storage and want a web front end over it.
  • Docker Compose users who deploy the example stack and maintain their own compose file, including the registry change for the photoview image.
  • Operators running PostgreSQL alongside the gallery, including those tracking the master branch and the move to PostgreSQL 18.
  • Contributors and testers, with the hacktoberfest topic and an active Discord server for setup and development questions.

Getting started

The documented path is Docker: deploy the photoview/photoview image using the example compose file from the docker-compose example directory, with PostgreSQL as the database. A demo instance is available for evaluation before committing to a deployment.

How it compares

No comparable gallery projects and no list of paid products it replaces are provided in the facts for this entry, so it stands alone in this registry and no like-for-like comparison can be drawn from the available material.

When to use it — and when not

Anyone self-hosting Photoview must also operate PostgreSQL, keep the compose file current, and follow the PostgreSQL 18 upgrade guidance, including backing up the database first; note that the database volume mount point moved from /var/lib/postgresql/data to /var/lib/postgresql in version 18. It is a poor fit for people who want a fully managed or hosted service with no database administration, and the 189 open issues suggest an active project where some rough edges remain visible. Recency is not a concern, since the last push was in September 2026.

project readme (upstream, from github) — read inline

License GitHub contributors Docker Pulls Docker builds codecov

screenshot

Photoview is a simple and user-friendly photo gallery that's made for photographers and aims to provide an easy and fast way to navigate directories, with thousands of high-resolution photos.

You configure Photoview to look for photos and videos within a directory on your file system. The scanner automatically picks up your media and starts to generate thumbnail images to make browsing super fast.

When your media has been scanned, they show up on the website, organised in the same way as on the filesystem.

If you have questions regarding setup or development, feel free to join the Discord server https://discord.gg/jQ392948u9

ATTENTION to Docker users !!!

We migrated to the new Docker registry , and all new images for the master tag as well as future releases will be published there instead of the previously used registry. Old images will still be accessible in the old registry , so if you want to use one of those older images, revert to the old registry.

Please update your docker-compose.yml file to use the new registry for the photoview image, as shown in the corresponding example of the compose file:

ATTENTION to PostgreSQL users !!!

We switched to PostgreSQL 18 on the master branch. PostgreSQL 18 will be the default recommended version for the next release (PostgreSQL 17 remains supported). If you follow master, please check the official PostgreSQL upgrade guide, and:

  • For Docker users: please update your docker-compose.yml to match docker-compose.example.yml.
  • Please pay attention to the DB volume mount point change inside the container: starting from version 18, the DB is mounted to the /var/lib/postgresql, while in earlier versions it was the /var/lib/postgresql/data.
  • For direct host installations or external/shared PostgreSQL instances: please upgrade your PostgreSQL server and database manually to version 18 following PostgreSQL guidance.

Don't forget to back up your database before upgrading.

Demo site

Visit https://photos.qpqp.dk/

Username: demo

Password: demo

Contents

Main features

  • Closely tied to the file system. The website presents the images found on the local filesystem of the server; directories are mapped to albums.
  • User management. Each user is created along with a path on the local filesystem, photos within that path can be accessed by that user.
  • Sharing. Albums, as well as individual media, can easily be shared with a public link, the link can optionally be password protected.
  • Made for photography. Photoview is built with photographers in mind, and thus supports RAW file formats, and EXIF parsing.
  • Video support. Many common video formats are supported. Videos will automatically be optimized for web.
  • Face recognition. Faces will automatically be detected in photos, and photos of the same person will be grouped together.
  • Performant. Thumbnails are automatically generated and photos first load when they are visible on the screen. In full screen, thumbnails are displayed until the high-resolution image has been fully loaded.
  • Secure. All media resources are protected with a cookie-token, all passwords are properly hashed, and the API uses a strict CORS policy.

Supported platforms

We provide limited support for the standard deployment scenarios on the platforms above. The project team has no testing environments for all of them, so assistance is based on user-provided logs and traces. Highly customized setups may further limit our ability to help.

Supported databases

  • SQLite: built-in DBMS, no additional service or maintenance required; lowest performance and no scalability.
  • MariaDB LTS version: default choice. Runs as an additional service; good balance between performance and maintenance effort.
  • PostgreSQL 18 and 17: typically the best performance. Runs as an additional service; requires slightly more maintenance.

We support running Photoview with one of these DBMSs when used as a dedicated instance for Photoview only. If you share a DBMS among multiple services, our support is limited to SQL issues. DB management and connection-related issues are the user’s responsibility due to the variability of shared configurations.

Why yet another self-hosted photo gallery

There exists a lot of open-source self-hosted photo galleries already. Here are some, just to mention a few.

So why another one? I love taking photos, and I store all of them on my local fileserver. This is great because I can organize my photos directly on the filesystem, so it's easy to move them or take backups. I want to be able to control where and how the photos are stored.

The problem is, however, that RAW images are extremely tedious to navigate from a fileserver, even over the local network.

My server holds a lot of old family pictures that I would like my family to have access to as well. And some of the pictures I would like to easily be able to share with other people without the hassle of them having to make an account first.

Thus, I need a solution that can do the following:

  • A scan-

readme truncated — read the full docs on github

Frequently asked questions

Is photoview free to use?

photoview is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does photoview do?

Photo gallery for self-hosted personal servers

What is photoview written in?

photoview is primarily written in Go. Its source is publicly available at https://github.com/photoview/photoview, and it has 6,528 GitHub stars.