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".
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) |
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)
- 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
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.mdfor some guidance)
