~krystianch/photobrowser

Web photo and video browser
Fix null bytes in session file

refs

master
browse  log 
v0.1.18
release notes 

clone

read-only
https://git.sr.ht/~krystianch/photobrowser
read/write
git@git.sr.ht:~krystianch/photobrowser

You can also use your local clone with git send-email.

#Photo Browser

Web photo and video browser with a focus on link sharing and remote access to your albums.

Live demo: https://photobrowser.krystianch.com/

#Features

  • Uses your existing directory structure,
  • supports link sharing with multiple albums per link,
  • generates thumbnails and proxy clips on the fly,
  • simple and fast web user interface,
  • no database.

#Requirements

  • Python 3,
  • a few python packages (listed in pyproject.toml),
  • ffmpeg for video thumbnails and proxy clips,
  • a media library, where directory name corresponds to the desired album name.

#Quick start

Download the latest release from https://codeberg.org/krystianch/photobrowser/tags. Copy config.toml to ~/.config/photobrowser/photobrowser.toml and open it. Edit SECRET_KEY, ROOT and [ACCOUNTS] according to instructions in the comments.

Run flask --app photobrowser thumbs to generate thumbnails and exit, or run flask --app photobrowser thumbs --watch in the background to generate them on the fly as photos are added to your library.

If your library includes videos, also run flask --app photobrowser clips or flask --app photobrowser clips --watch to generate proxy clips.

Run flask --app photobrowser run and visit http://localhost:5000 in your web browser. Do not expose Photo Browser like this to the internet. For that, please see the deployment section.

Log into your account that you've created in the config file. You may now browse your library.

To share albums via a link, edit the [SHARES] section and restart photobrowser. Shares can be accessed like this: http://localhost:5000/shares/link1.

#Running (development)

See Quick start but run the app with the --debug flag like this:

flask --app photobrowser run --debug

This enables debug logs and automatic reload on source changes. However, changes in the config file will not trigger a reload.

#Deployment

We recommend using Gunicorn behind a reverse proxy to serve Photo Browser in production environments.

gunicorn -b localhost:8000 'photobrowser:create_app()'

#Contributing

Send patches to the mailing list, report bugs on the issue tracker.

#License

AGPLv3, see LICENSE.

Copyright (C) 2024 Krystian Chachuła