Sign inSign up

smichalczyk/framewrk

By smichalczyk

•Updated 3 days ago

Keep Aura and Nixplay photo frames filled from your own PhotoPrism and/or Immich library

Image
0

1.1K

smichalczyk/framewrk repository overview

⁠Framewrk

Keeps your digital photo frames filled from your own PhotoPrism and/or Immich library.

Framewrk watches PhotoPrism and Immich, picks the photos that match your rules, and pushes them to Aura and Nixplay frames at the right size and shape for each one. It remembers what it has already sent, so nothing is uploaded twice, and it takes photos back off a frame when they no longer qualify.

Documentation and support: https://github.com/smichalczyk/framewrk⁠ Website: https://hangframewrk.io/⁠


⁠Send directly from iPhone or iPad

The Framewrk iOS beta can send photos without PhotoPrism or Immich. Connect Aura or Nixplay and configure a frame in the console, then connect the app to your HTTPS server address using your console password. The app stores a revocable device token in Keychain.

Choose up to 50 photos in the app, or select photos in Photos or another app and choose Share → Framewrk. Pick the frames and send. Background uploads continue after the sheet closes; Recent confirms when your server receives each photo. Nixplay sends use configured albums and disclose other frames playing them.

Frame orientation rules apply. Direct photos stay on the frames independently of library selection. The console’s Direct sends page shows delivery history and orientation skips, and Settings → Connected devices revokes a device. Full images are retained for retries for up to 7 days; previews last 90 days. Allow at least 17 MiB request bodies through your HTTPS reverse proxy.

⁠Quick start

services:
  framewrk:
    image: smichalczyk/framewrk:latest
    container_name: framewrk
    restart: unless-stopped
    ports:
      - "8770:8770"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - ./data:/data
docker compose up -d
docker compose logs | grep -A2 "Admin password"

Open http://<host>:8770 and sign in with the password from the log. You are asked to choose your own straight away. Then point it at PhotoPrism, Immich, or both, add your frames, and press Sync now.

Nothing needs configuring before the first start.

⁠Tags

TagWhat it is
latestThe current release
1, 1.2Newest release in that major or minor line
1.2.3Exactly that release

linux/amd64 and linux/arm64.

⁠Environment

VariableDefaultWhat it does
PUID / PGIDunsetOwn the data volume as this user instead of root
TZUTCOtherwise every timestamp is UTC
DB_PATH/data/sync.dbDatabase location
FRAMEWRK_PORT8770Console port
FRAMEWRK_BIND0.0.0.0Interface to listen on
FRAMEWRK_ADMIN_PASSWORD—Set the first-run password instead of generating one
FRAMEWRK_TRUST_PROXYoffBelieve X-Forwarded-*. Only behind a reverse proxy

Everything else is configured in the console and stored in /data/sync.db. Copy that one file and you have copied the installation — use sqlite3 sync.db ".backup out.db" rather than cp, which silently misses anything still in the write-ahead log.

⁠Immich

Immich 3.1 or newer is supported. Configure its URL and an API key in the console; the key needs access to read and download assets and read albums.

The shared Quality setting uses Immich's optional star rating. 0 does not filter on rating; 1 through 5 select that rating and above. Enable ratings in Immich at User Settings → Features → Rating before assigning stars.

⁠Licence

Free to use, not open source. Personal use only; no resale or redistribution. See the LICENSE file in the image at /app/LICENSE.

Framewrk is not affiliated with Aura, Nixplay, PhotoPrism or Immich.

⁠Proxmox LXC preview

Run this in the Proxmox host Shell and follow the default/advanced wizard:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/smichalczyk/framewrk/main/proxmox/create.sh)"

It downloads Debian 12, creates an unprivileged LXC and installs Framewrk without Docker inside LXC. See the Proxmox installation guide⁠ and the installer assets on GitHub Releases⁠. Real Proxmox validation is pending; use a new test container.

Tag summary

Content type

Image

Digest

sha256:c964d51ce…

Size

71 MB

Last updated

3 days ago

docker pull smichalczyk/framewrk