Skip to content

AndrewFreemantle/OSPhoto

Repository files navigation

OSPhoto

OSPhoto's logo - a flat, 2-dimensional design depicting a large sun in the top left over 2 mountain peaks with a rounded-square border

OSPhoto is an open source replacement for Synology's PhotoStation, a photo and video storage gallery that you self-host on your own server.

About

This project aims to be a simple, private (and privacy-focussed) photo album that is compatible with Synology's DS photo mobile apps and desktop apps for browsing and uploads, with a future aim of a simple web interface too.

It works as a simple interface (or API) over your existing curated folders of photos and videos.

Installation

Installation is a Docker container running on a Network Attached Storage server:

docker run \
  -d \
  --name='os-photo' \
  --net='bridge' \
  -e 'USERS'='SomeUser=TheirPassword;SomeOtherUser=AndTheirPassword' \
  -p '5000:5000/tcp' \
  -v '/path/to/a/photo-collection/':'/Media':'rw' \
  -v '/path/to/some/persistent/location/for/os-photos/metadata':'/AppData':'rw' \
  'andrewfreemantle/os-photo'

Once running, OSPhoto will accept http connections on port 5000 using any of the credentials specified in "USERS".

Configuration options

OSPhoto's configuration options can be altered by environment variables. These can be added to the docker run command with -e:

  -e 'ALLOW_COMMENTS`='true' \
Environment Variable Description Default
ALLOW_COMMENTS Enables commenting threads on media. Set any value to enable disabled
APPDATA_PATH Path to store metadata (such as photo titles, comments, tags, etc) /AppData
DATABASE_CONNECTION_STRING Full database connection string {DATABASE_PATH}/osphoto.db
DATABASE_PATH Path to store the database file (SQLite by default) {APPDATA_PATH}/database
IMPORT_PATH Path to find import files {APPDATA_PATH}/import
IMPORT_TIMEZONE_CULTURE Timezone culture to use when importing data CultureInfo.CurrentCulture (list)
MEDIA_PATH Path to your photo and media collection /Media
SYNO_SHARE_PATH_PREFIX Synology PhotoStation media location (used when importing) /volume1/photo/
THUMB_WIDTH_PX Image and video thumbnail size, in pixels 500
USERS Authenticated user accounts in format User1=Pass2;User2=Pass2 empty (allows any user/password)

Rationale

There are a few reasons for this project, the main one being that Synology's PhotoStation has been superseded by a Photos application, which requires a version of their Disk Station Manager (DSM) which some older Synology hardware doesn't support.

Progress

  • Initial project creation
  • Basic DS photo app support (login, browse) - API ref
  • Docker installable with a read-only volume of photos
  • Import descriptions, titles and metadata from Synology's PhotoStation
  • HEIC/HEIF photo file support
  • Photo uploads, move and delete (via apps)
  • Album management (via apps)
  • Video uploads, thumbnails, preview/play, edit (title & description), move and delete (via apps)
  • Comments (importable from Photo Station)
  • Tags (importable from Photo Station)
  • Basic web browser interface: folders as albums, navigation, etc
  • Web interface administration (uploads, tagging, user accounts, etc)
  • Plugin support

Contributing

Any help is very welcome!

  • 💬 Raise an issue to request a feature or report a bug
  • 🥤 Support the development by buying me a coffee
  • 👨‍💻 Fellow developers can pick up any issue (please see CONTRIBUTING.md for some guidance)

About

OSPhoto is an open source replacement for Synology's Photo Station, a photo and video storage gallery that you self-host on your own server

Resources

License

Contributing

Stars

Watchers

Forks

Contributors