OSPhoto is an open source replacement for Synology's PhotoStation, a photo and video storage gallery that you self-host on your own server.
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 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"
.
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.
- 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)
- Tags and comments (importable from Photo Station)
- Basic web browser interface: folders as albums, navigation, etc
- Web interface administration (uploads, tagging, user accounts, etc)
- Plugin support
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)