All Projects → photoview → Photoview

photoview / Photoview

Licence: agpl-3.0
Photo gallery for self-hosted personal servers

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Photoview

meiupic
简洁好用的多用户图片社区。
Stars: ✭ 165 (-70.16%)
Mutual labels:  gallery, photography, photo
Aphotomanager
Manage local photos on Android: gallery, geotag with photomap, privacy, tags, find, sort, view, copy, send, ... .
Stars: ✭ 164 (-70.34%)
Mutual labels:  exif, gallery, photo-gallery
librephotos
A self-hosted open source photo management service. This is the repository of the backend.
Stars: ✭ 3,827 (+592.04%)
Mutual labels:  selfhosted, exif, photo
Photonix
This is a new web-based photo management application. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, location awareness, color analysis and other ML algorithms.
Stars: ✭ 592 (+7.05%)
Mutual labels:  photo, photography, gallery
Exiftool Vendored.js
Fast, cross-platform Node.js access to ExifTool
Stars: ✭ 200 (-63.83%)
Mutual labels:  photo, photography, exif
Stfalconimageviewer
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures
Stars: ✭ 1,734 (+213.56%)
Mutual labels:  photo, gallery, photo-gallery
Chevereto Free
Self-hosted Image Hosting solution. Start your own Flickr/imgur alternative with your own rules.
Stars: ✭ 2,275 (+311.39%)
Mutual labels:  photography, gallery, photo-gallery
envadrouille
Fast and customizable photo gallery.
Stars: ✭ 18 (-96.75%)
Mutual labels:  gallery, photography, photo-gallery
Resizer
An image resizing library for Android
Stars: ✭ 406 (-26.58%)
Mutual labels:  photo, photography, photo-gallery
horcrux
Generate you own online gallery easily. Photo is the horcrux of memory.
Stars: ✭ 34 (-93.85%)
Mutual labels:  gallery, photo-gallery
librephotos-frontend
A self-hosted open source photo management service. This is the repository of the frontend.
Stars: ✭ 19 (-96.56%)
Mutual labels:  exif, photo
Rxgalleryfinal
图片选择库,单选/多选、拍照、裁剪、压缩,自定义。包括视频选择和录制。
Stars: ✭ 2,798 (+405.97%)
Mutual labels:  photo, gallery
picsort
Organize your photos by date in one click 👏
Stars: ✭ 22 (-96.02%)
Mutual labels:  photography, exif
QuickRawPicker
📷 QuickRawPicker is a free and open source program that lets you cull, pick or rate raw photos captured by your camera. It is also compatible with the XMP sidecar file used by Adobe Bridge/Lightroom/Darktable or PP3 sidecar file used by Rawtherapee.
Stars: ✭ 26 (-95.3%)
Mutual labels:  photography, photo-gallery
Photini
An easy to use digital photograph metadata (Exif, IPTC, XMP) editing application.
Stars: ✭ 113 (-79.57%)
Mutual labels:  photography, exif
Photo Booth
A multi-platform photo booth software using Electron and your camera
Stars: ✭ 324 (-41.41%)
Mutual labels:  photo, photography
Pickphotosample
Photo Picker Of Android Library
Stars: ✭ 457 (-17.36%)
Mutual labels:  gallery, photo-gallery
cgallery
an easy to use, minimalistic image gallery script for your website
Stars: ✭ 17 (-96.93%)
Mutual labels:  gallery, photography
Photoflare
Quick, simple but powerful Cross Platform image editor.
Stars: ✭ 260 (-52.98%)
Mutual labels:  photo, photography
Axphotoviewer
An iOS/tvOS photo gallery viewer, useful for viewing a large (or small!) number of photos.
Stars: ✭ 544 (-1.63%)
Mutual labels:  photo, gallery
photoview logo

License GitHub contributors Docker Pulls Docker Build Status

screenshot

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

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

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 optinally 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.

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 based approach that automatically organises my photos
  • Support RAW and EXIF parsing
  • Have support for multiple users and ways to share albums and photos also publicly
  • Be simple and fast to use

All of the photo galleries can do a lot of what I need, but no single one can do it all.

Getting started - Setup with Docker

This section describes how to get Photoview up and running on your server with Docker. Make sure you have Docker and docker-compose installed and running on your server

  1. Make a new docker-compose.yml file on your computer, and copy the content of docker-compose.example.yml to the new file.
  2. Edit docker-compose.yml, find the comments starting with Change This:, and change the values, to properly match your setup. If you are just testing locally, you don't have to change anything.
  3. Start the server by running the following command
$ docker-compose up -d

If the endpoint or the port hasn't been changed in the docker-compose.yml file, Photoview can now be accessed at http://localhost:8000

Initial Setup

If everything is setup correctly, you should be presented with an initial setup wizard, when accessing the website the first time.

Initial setup

Enter a new username and password.

For the photo path, enter the path in the docker container where your photos are located. This can be set from the docker-compose.yml file under api -> volumes. The default location is /photos

A new admin user will be created, with access to the photos located at the path provided under the initial setup.

The photos will have to be scanned before they show up, you can start a scan manually, by navigating to Settings and clicking on Scan All

Setup development environment

Local setup

  1. Install a local mysql server, and make a new database
  2. Rename /api/example.env to .env and update the MYSQL_URL field
  3. Rename /ui/example.env to .env

Start API server

Make sure golang is installed.

Some C libraries are needed to compile the API, see go-face requirements for more details. They can be installed as shown below:

# Ubuntu
sudo apt-get install libdlib-dev libblas-dev liblapack-dev libjpeg-turbo8-dev
# Debian
sudo apt-get install libdlib-dev libblas-dev liblapack-dev libjpeg62-turbo-dev
# macOS
brew install dlib

Then run the following commands:

cd ./api && go run server.go

Start UI server

Make sure node is installed. In a new terminal window run the following commands:

cd ./ui && npm start

The site can now be accessed at localhost:1234. And the graphql playground at localhost:4001

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].