Replacement for Synology Photos/Photostation?

Currently reading
Replacement for Synology Photos/Photostation?

18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
Looks like the UI is pretty configurable. Never bothered to look at geotagging (DSLR shooter here).
 

NAS Newbie

Subscriber
441
89
NAS
DS220+, DS918+, RS1219+
Operating system
  1. Windows
Mobile operating system
  1. Android
Looks like the UI is pretty configurable. Never bothered to look at geotagging (DSLR shooter here).
There are several apps that will geotag your DSLR photos for you. From what I understand, you open the phone app before shooting pics and take a photo of a barcode or something it displays. From then on the app takes timestamped geotags independently of your DSLR photos until you tell it to stop. When you get home, you run your photos through the apps desktop version where it pulls the timestamps off your photos, compares it to the timestamped geotag library from your phone, and then loads the corresponding geotag info into the exif data of your photos. So, you end up with geotagged photos without adding a gps to your camera. I haven't had the chance to play with these apps at all, but they look interesting.
 
18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
I'm aware of the apps, just never found geotagging worth the effort, never thought they'd be more useful than the other tags I use. YMMV of course.
 

NAS Newbie

Subscriber
441
89
NAS
DS220+, DS918+, RS1219+
Operating system
  1. Windows
Mobile operating system
  1. Android
gotcha. I'm experimenting with photoprism. It is kind of cool to take a virtual tour of past trips based on the map, but you could probably accomplish the same thing with your tags. Personally I like having the map as a background as it gives reference to where a photo was taken without having to add a bunch of tags. I don't use it all the time but it is fun to take a virtual trip down memory lane sometimes.
 
18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
gotcha. I'm experimenting with photoprism. ...
Do you have it installed in Docker? Which image did you use? Did it have some kind of how-to? I'm something of a docker noob. Got homeassistant installed & it seems to be working, but HA had a how-to for their container.
 

NAS Newbie

Subscriber
441
89
NAS
DS220+, DS918+, RS1219+
Operating system
  1. Windows
Mobile operating system
  1. Android
Yes, it is in docker. Below is my compose file. I'm very green to docker too, but have a BIL who works with it daily. He helped me set it up. We did have some big problems initially, but finally realized that we didn't have the firewall rules set up correctly on the NAS and now it works. replace all the XXXX's with your own data. They also do fairly frequent updates on github, so you might start there too.

version: '3.5'

# Example Docker Compose config file for PhotoPrism (Linux / AMD64)
#
# Documentation : PhotoPrism - Docker Compose
# Docker Hub URL: Docker Hub
#
# Please run behind a reverse proxy like Caddy, Traefik or Nginx if you need HTTPS / SSL support
# e.g. when running PhotoPrism on a public server outside your home network.
#
# ------------------------------------------------------------------
# DOCKER COMPOSE COMMAND REFERENCE
# ------------------------------------------------------------------
# Start | docker-compose up -d
# Stop | docker-compose stop
# Update | docker-compose pull
# Logs | docker-compose logs --tail=25 -f
# Terminal | docker-compose exec photoprism bash
# Help | docker-compose exec photoprism photoprism help
# Config | docker-compose exec photoprism photoprism config
# Reset | docker-compose exec photoprism photoprism reset
# Backup | docker-compose exec photoprism photoprism backup -a -i
# Restore | docker-compose exec photoprism photoprism restore -a -i
# Index | docker-compose exec photoprism photoprism index
# Reindex | docker-compose exec photoprism photoprism index -a
# Import | docker-compose exec photoprism photoprism import
# -------------------------------------------------------------------
# Note: All commands may have to be prefixed with "sudo" when not running as root.
# This will change the home directory "~" to "/root" in your configuration.

services:
photoprism:
# Use photoprism/photoprism:preview instead for testing preview builds:
image: photoprism/photoprism:latest
# Only enable automatic restarts once your installation is properly
# configured as it otherwise may get stuck in a restart loop:
# PhotoPrism - FAQ
# restart: unless-stopped
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- XXXXXX:2342 # [local port]:[container port]
environment:
PHOTOPRISM_ADMIN_PASSWORD: "XXXXX" # PLEASE CHANGE: Your initial admin password (min 4 characters)
PHOTOPRISM_HTTP_PORT: 2342 # Built-in Web server port
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # Improves transfer speed and bandwidth utilization (none or gzip)
PHOTOPRISM_DEBUG: "false" # Run in debug mode (shows additional log messages)
PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection)
PHOTOPRISM_READONLY: "false" # Don't modify originals directory (reduced functionality)
PHOTOPRISM_EXPERIMENTAL: "true" # Enables experimental features
PHOTOPRISM_DISABLE_WEBDAV: "false" # Disables built-in WebDAV server
PHOTOPRISM_DISABLE_SETTINGS: "false" # Disables Settings in Web UI
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # Disables using TensorFlow for image classification
PHOTOPRISM_DARKTABLE_PRESETS: "false" # Enables Darktable presets and disables concurrent RAW conversion
PHOTOPRISM_DETECT_NSFW: "false" # Flag photos as private that MAY be offensive (requires TensorFlow)
PHOTOPRISM_UPLOAD_NSFW: "true" # Allow uploads that MAY be offensive
#PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that doesn't require a server
PHOTOPRISM_DATABASE_DRIVER: "mysql" # Use MariaDB (or MySQL) instead of SQLite for improved performance
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB database server (hostname:port)
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB database schema name
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB database user name
PHOTOPRISM_DATABASE_PASSWORD: "XXXXX" # MariaDB database user password
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # Public PhotoPrism URL
PHOTOPRISM_SITE_TITLE: "PhotoPrism"
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
PHOTOPRISM_SITE_DESCRIPTION: ""
PHOTOPRISM_SITE_AUTHOR: ""
# You may optionally set a user / group id using environment variables if your Docker version or NAS does not
# support this natively (see next example):
# UID: XXXX
# GID: XXX
# UMASK: 0000
# Uncomment and edit the following line to set a specific user / group id (native):
# user: "XXXX:XXX"
volumes:
# Yur photo and video files ([local path]:[container path]):
- "./Pictures:/photoprism/originals"
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
# Mounting an import folder is optional (see docs):
- "./Import:/photoprism/import"
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
# "./storage:/photoprism/storage"

mariadb:
image: mariadb:10.5
restart: unless-stopped
security_opt:
- seccomp:unconfined
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=50
volumes: # Don't remove permanent storage for index database files!
- "./database:/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: XXXXXXX
MYSQL_DATABASE: photoprism
MYSQL_USER: photoprism
MYSQL_PASSWORD: XXXXXXX

# Uncomment the following lines to upgrade automatically, whenever there is a new Docker image available:
#
# watchtower:
# image: containrrr/watchtower
# restart: unless-stopped
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"
 
1,822
757
NAS
DS220+ : DS1019+ : DS216+II : DS118 : DS120j : APC Back UPS ES 700 — Mac/iOS user
I came across these two to add to the list. Didn’t try any:

 

Rusty

Moderator
NAS Support
3,636
1,049
www.blackvoid.club
NAS
DS718+, DS918+, 2x RS3614RPxs+
Router
  1. RT1900ac
  2. RT2600ac
  3. MR2200ac
Operating system
  1. macOS
Mobile operating system
  1. iOS
I came across these two to add to the list. Didn’t try any:

I have tried Lychee. Not bad platform. Very minimalistic. Haven’t tried Chevereto
 
144
12
NAS
DS918+
Operating system
  1. Windows
Tried a little bit with Lychee, too much work to setup in Docker for a newbie like myself. It seems to use some kind of custom folderstructure aswell which doesn't suit me.
 
18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
Yes, it is in docker. Below is my compose file. [lots snipped]
Got it running (had some docker-config stuff bass-ackward).
Any idea if there's a way to disable raw-file conversion? Or a forum?
BTW, there's help available if you run photoprism --help
But you have to run docker container ls, then attach a terminal to that container, and finally run the --help command.
On the off chance anyone else is stuck on those steps, I'm pasting the output below - and no there doesn't seem to be a way to tell it to ignore raw files (sigh)

Code:
[email protected]:/photoprism# photoprism --help
NAME:
   PhotoPrism - Browse Your Life in Pictures

USAGE:
   photoprism [global options] command [command options] [arguments...]

VERSION:
   210222-ac5a9d5e-Linux-x86_64

COMMANDS:
   start, up         Starts web server
   stop, down        Stops web server (only in daemon mode)
   index             Indexes media files in originals folder
   import, mv        Moves files to originals folder, converts and indexes them as needed
   moments           Creates albums based on popular locations, dates and labels
   optimize          Starts metadata check and optimization
   purge             Removes missing files from search results
   cleanup           Removes orphan index entries and thumbnails
   copy, cp          Copies files to originals folder, converts and indexes them as needed
   convert           Converts originals in other formats to JPEG and AVC sidecar files
   resample, thumbs  Pre-renders thumbnails (significantly reduces memory and cpu usage)
   migrate           Initializes the index database if needed
   backup            Creates album and index backups
   restore           Restores album and index backups
   reset             Resets the index and removes sidecar files after confirmation
   config            Displays global configuration values
   passwd            Changes the admin password
   version           Shows version information
   status            Performs a server health check
   help, h           Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug                                  run in debug mode, shows additional log messages [$PHOTOPRISM_DEBUG]
   --public, -p                             no authentication required, disables password protection [$PHOTOPRISM_PUBLIC]
   --read-only, -r                          don't modify originals folder; disables import, upload, and delete [$PHOTOPRISM_READONLY]
   --experimental, -e                       enable experimental features [$PHOTOPRISM_EXPERIMENTAL]
   --admin-password PASSWORD                initial admin PASSWORD, min 4 characters [$PHOTOPRISM_ADMIN_PASSWORD]
   --config-file FILENAME, -c FILENAME      load initial config options from FILENAME [$PHOTOPRISM_CONFIG_FILE]
   --config-path PATH                       config PATH containing application settings [$PHOTOPRISM_CONFIG_PATH]
   --originals-path PATH                    originals PATH containing your photo and video collection [$PHOTOPRISM_ORIGINALS_PATH]
   --originals-limit MB                     file size limit for originals in MB (default: 1000) [$PHOTOPRISM_ORIGINALS_LIMIT]
   --import-path PATH                       optional PATH for importing files to originals [$PHOTOPRISM_IMPORT_PATH]
   --storage-path PATH                      storage PATH for cache, database and sidecar files [$PHOTOPRISM_STORAGE_PATH]
   --sidecar-path PATH                      relative or absolute storage PATH for sidecar files [$PHOTOPRISM_SIDECAR_PATH]
   --cache-path PATH                        cache storage PATH for sessions and thumbnails [$PHOTOPRISM_CACHE_PATH]
   --temp-path PATH                         temporary PATH for storing uploads and downloads [$PHOTOPRISM_TEMP_PATH]
   --backup-path PATH                       backup storage PATH [$PHOTOPRISM_BACKUP_PATH]
   --assets-path PATH                       assets PATH for static resources like models and templates [$PHOTOPRISM_ASSETS_PATH]
   --workers MAX, -w MAX                    adjusts MAX number of indexing workers (default: 2) [$PHOTOPRISM_WORKERS]
   --wakeup-interval SECONDS                background worker wakeup interval in SECONDS (default: 0) [$PHOTOPRISM_WAKEUP_INTERVAL]
   --auto-index SECONDS                     auto indexing safety delay in SECONDS (WebDAV) (default: 0) [$PHOTOPRISM_AUTO_INDEX]
   --auto-import SECONDS                    auto importing safety delay in SECONDS (WebDAV) (default: 0) [$PHOTOPRISM_AUTO_IMPORT]
   --disable-backups                        don't backup photo and album metadata to YAML files [$PHOTOPRISM_DISABLE_BACKUPS]
   --disable-webdav                         disable built-in WebDAV server [$PHOTOPRISM_DISABLE_WEBDAV]
   --disable-settings                       users can not view or change settings [$PHOTOPRISM_DISABLE_SETTINGS]
   --disable-places                         disables reverse geocoding and maps [$PHOTOPRISM_DISABLE_PLACES]
   --disable-exiftool                       don't create ExifTool JSON files for enhanced metadata extraction [$PHOTOPRISM_DISABLE_EXIFTOOL]
   --disable-tensorflow                     don't use TensorFlow for image classification [$PHOTOPRISM_DISABLE_TENSORFLOW]
   --detect-nsfw                            flag photos as private that may be offensive (requires TensorFlow) [$PHOTOPRISM_DETECT_NSFW]
   --upload-nsfw                            allow uploads that may be offensive [$PHOTOPRISM_UPLOAD_NSFW]
   --log-level value, -l value              trace, debug, info, warning, error, fatal or panic (default: "info") [$PHOTOPRISM_LOG_LEVEL]
   --log-filename FILENAME                  server log FILENAME [$PHOTOPRISM_LOG_FILENAME]
   --pid-filename FILENAME                  server process id FILENAME [$PHOTOPRISM_PID_FILENAME]
   --site-url URL                           public site URL (default: "http://localhost:2342/") [$PHOTOPRISM_SITE_URL]
   --site-preview URL                       public preview image URL [$PHOTOPRISM_SITE_PREVIEW]
   --site-title value                       site title (default: "PhotoPrism") [$PHOTOPRISM_SITE_TITLE]
   --site-caption value                     short site caption (default: "Browse Your Life") [$PHOTOPRISM_SITE_CAPTION]
   --site-description value                 long site description [$PHOTOPRISM_SITE_DESCRIPTION]
   --site-author value                      site artist or copyright [$PHOTOPRISM_SITE_AUTHOR]
   --http-port NUMBER                       http server port NUMBER (default: 2342) [$PHOTOPRISM_HTTP_PORT]
   --http-host IP                           http server IP address [$PHOTOPRISM_HTTP_HOST]
   --http-mode value, -m value              debug, release or test [$PHOTOPRISM_HTTP_MODE]
   --http-compression value, -z value       improves transfer speed and bandwidth utilization (none or gzip) [$PHOTOPRISM_HTTP_COMPRESSION]
   --database-driver NAME                   database driver NAME (sqlite or mysql) (default: "sqlite") [$PHOTOPRISM_DATABASE_DRIVER]
   --database-dsn DSN                       sqlite file name, specifying a DSN is optional for mariadb and mysql [$PHOTOPRISM_DATABASE_DSN]
   --database-server HOST                   database server HOST, specifying a :port is optional [$PHOTOPRISM_DATABASE_SERVER]
   --database-name NAME                     database schema NAME (default: "photoprism") [$PHOTOPRISM_DATABASE_NAME]
   --database-user NAME                     database user NAME (default: "photoprism") [$PHOTOPRISM_DATABASE_USER]
   --database-password PASSWORD             database user PASSWORD [$PHOTOPRISM_DATABASE_PASSWORD]
   --database-conns LIMIT                   LIMIT the number of open database connections (default: 0) [$PHOTOPRISM_DATABASE_CONNS]
   --database-conns-idle LIMIT              LIMIT the number of idle database connections (default: 0) [$PHOTOPRISM_DATABASE_CONNS_IDLE]
   --rawtherapee-bin COMMAND                RawTherapee CLI COMMAND for raw image conversion (default: "rawtherapee-cli") [$PHOTOPRISM_RAWTHERAPEE_BIN]
   --darktable-bin COMMAND                  Darktable CLI COMMAND for raw image conversion (default: "darktable-cli") [$PHOTOPRISM_DARKTABLE_BIN]
   --darktable-presets                      enables Darktable presets and disables concurrent RAW conversion [$PHOTOPRISM_DARKTABLE_PRESETS]
   --sips-bin COMMAND                       Scriptable Image Processing System COMMAND (default: "sips") [$PHOTOPRISM_SIPS_BIN]
   --heifconvert-bin COMMAND                HEIC/HEIF image convert COMMAND (default: "heif-convert") [$PHOTOPRISM_HEIFCONVERT_BIN]
   --ffmpeg-bin COMMAND                     FFmpeg COMMAND for video transcoding and cover images (default: "ffmpeg") [$PHOTOPRISM_FFMPEG_BIN]
   --ffmpeg-encoder NAME                    FFmpeg AVC encoder NAME (default: "libx264") [$PHOTOPRISM_FFMPEG_ENCODER]
   --ffmpeg-bitrate LIMIT                   FFmpeg encoding bitrate LIMIT in Mbit/s (default: 50) [$PHOTOPRISM_FFMPEG_BITRATE]
   --ffmpeg-buffers value                   FFmpeg capture buffers (default: 32) [$PHOTOPRISM_FFMPEG_BUFFERS]
   --exiftool-bin COMMAND                   ExifTool COMMAND for enhanced metadata extraction (default: "exiftool") [$PHOTOPRISM_EXIFTOOL_BIN]
   --download-token SECRET                  optional static SECRET url token for file downloads [$PHOTOPRISM_DOWNLOAD_TOKEN]
   --preview-token SECRET                   optional static SECRET url token for preview images and video streaming [$PHOTOPRISM_PREVIEW_TOKEN]
   --thumb-filter NAME, -f NAME             downscaling filter NAME (best to worst: blackman, lanczos, cubic, linear) (default: "lanczos") [$PHOTOPRISM_THUMB_FILTER]
   --thumb-size PIXELS, -s PIXELS           static thumbnail size limit in PIXELS (720-7680) (default: 2048) [$PHOTOPRISM_THUMB_SIZE]
   --thumb-uncached, -u                     enable dynamic thumbnail rendering (high memory and cpu usage) [$PHOTOPRISM_THUMB_UNCACHED]
   --thumb-size-uncached PIXELS, -x PIXELS  dynamic rendering size limit in PIXELS (720-7680) (default: 7680) [$PHOTOPRISM_THUMB_SIZE_UNCACHED]
   --jpeg-size PIXELS                       size limit for converted image files in PIXELS (720-30000) (default: 7680) [$PHOTOPRISM_JPEG_SIZE]
   --jpeg-quality value, -q value           > 90 for high-quality thumbnails (25-100) (default: 92) [$PHOTOPRISM_JPEG_QUALITY]
   --help, -h                               show help
   --version, -v                            print the version

COPYRIGHT:
   (c) 2018-2021 Michael Mayer <[email protected]>
 
18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
If you're starting out with a very organized folder organization (top folders by year, ones below that named YYY.MM.DD - shoot details, below that, a folder for raw, then various JPG.resolution folders, plus TIFF ones for lossless panoramas, and...
PhotoPrism 'index' throws all that away. Just a bunch of folders named JPG.resolution or NEF.
I'm going to try 'import' instead - but it doesn't seem like this one is a replacement for PhotoShow.
Guess I got my hopes too far up. Sigh.
Bright side: I have a much better handle on docker-container and portainer. Woo?
 
18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
As a photographer who's been doing things my own way for (ahem) a few decades now, I find that the part pf Photo Show that I need is the ability to put folders of already-processed images on the web. I don't even care about linking to social media. I find my self uninterested in learning a new DAM, changing the way I organize everything. I don't care about geolocation
So.
PhotoShow does all I want. It's dead easy to set up. It has upload capabilities in the WebGUI, but you can just stick folders of images in its 'Pictures' folder, and it'll do the necessary.
I used docker-compose as I haven't 100% figured out WTH is going on with the Synology GUI (it's pretty cryptic about mapping folders) and I'm not sure it's worth the bother.
1) create a folder named 'photoshow' in your docker folder.
2) in the photoshow folder, create folders config, Pictures, and Thumbs
3) in the photoshow folder, create a .yml file with the following contents
Code:
version: "2.1"

services:
  photoshow:
    image: ghcr.io/linuxserver/photoshow
    container_name: photoshow
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - ./config:/config
      - ./Pictures:/Pictures
      - ./Thumbs:/Thumbs
    ports:
      - 81:80
    restart: unless-stopped
4) SSH into your synology box
5) raise your privileges with sudo -i
6) change to your photoshow folder: cd /volume1/docker/photoshow
7) start it up: docker-compose up -d
9) With a browser, go to http://[your synology box IP]:81
10) you should get a webpage with a prompt to create a user.
11) create user "admin" (the actual name seems to matter, even though it lets you enter some other name
12) copy any folder of images into docker/photoshow/Pictures - and photoshow puts it up

Note that if you've made any changes in the yml, to get it to take effect: stop photoshow (steps 1-6), then docker-compose stop, then docker-compose up -d

Also, you could point photoshow right at your Photo Station folder by changing the line
- ./Pictures:/Pictures
to
- ./Photos:/Pictures :ro
Note I've set this to read-only so you don't mess up PhotoStation with an upload

Changing to a different port should be pretty obvious.

Hope this helps someone - also, if you're someone who knows this stuff better than me (I'm a noob here), if I got something wrong, could you please correct me? Nothing worse than following a step-by-step that doesn't work :-(
 

Telos

Subscriber
1,485
500
NAS
DS418play, DS213j, DS3622+, DSM 7.1.4-11091
Tried to find screenshots. But no cigar. Seems it's not been updated in nearly seven years.

Wondering how it compares w/PhotoStructure.
 
18
4
NAS
DS1517+, DS715, DS212J
Operating system
  1. Windows
Mobile operating system
  1. Android
Last edited:
Tried to find screenshots. But no cigar. Seems it's not been updated in nearly seven years.

Wondering how it compares w/PhotoStructure.
It's just an app that takes image files in whatever folder you've pointed Pictures at - and puts them onto a webpage. Pretty simple - and IMO a decent fallback for anybody using Photo Show to do that. It's not a DAM, no fancy searching, certainly no face recognition.
If you can SSH into your syno-box, it'll take maybe ten minutes to have a working version.
PhotoStructure looks interesting - as a DAM. I'll check it out, and if it fits my workflow, I might start using it.
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Welcome to SynoForum.com!

SynoForum.com is an unofficial Synology forum for NAS owners and enthusiasts.

Registration is free, easy and fast!

Trending threads

Top