Skip to content
PhotoDock edited this page Jun 6, 2026 · 1 revision

PhotoDock

PhotoDock is a self‑hosted photo display server for ESP32‑S3 e‑ink frames. It has a Node/Express backend, a web dashboard, and ESP32 firmware. You upload photos (or import them from the cloud), organise them into screens and albums, and your e‑ink devices pull and display them on a schedule.

This wiki covers how to install, set up, and run everything.

Getting started

  1. Installation — run it with Docker, Portainer, or from source.
  2. First‑time setup — create your admin account and set the public URL.
  3. Adding a device — pair an e‑ink frame and keep its firmware up to date.

Features

How it's organised

Screen  (a physical e-ink frame, e.g. "Hallway")
└── Album   ("Summer 2024")
    └── Photos

A device is paired to a screen and shows the photos in that screen's albums. Roles control which users can see/upload to which screens.

Concepts at a glance

Thing What it is
Screen A display target; a device pairs to one screen.
Album A group of photos within a screen.
API key The credential a device uses to fetch its slideshow.
Public dashboard URL Your external HTTPS address; drives device/API, cloud OAuth redirects and email links.
data/ All runtime state (accounts, settings, uploads, secret key) — back this up.

⚠️ Security note: secrets (OAuth client secrets, refresh tokens, the Synology NAS password, WiFi passwords) are encrypted at rest with AES‑256‑GCM. See Users, roles & security.

Clone this wiki locally