25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
# Frambe — Project Overview
|
|
|
|
Frambe is a self-hosted, single-container web app that turns older tablets and
|
|
spare screens into digital photo frames, backed by an Immich server. The browser
|
|
client pulls photos (by album, person, favorites, or random) from Immich via a
|
|
thin Node/Express proxy and runs a full-screen slideshow with clock, EXIF, blur
|
|
background, and transition effects. Designed to run well on old/low-power browsers.
|
|
|
|
**Stack:** Node.js + Express server (`server.js`), vanilla-JS frontend
|
|
(`public/js/app.js`), Docker + docker-compose deployment. No build step on the
|
|
frontend. Immich creds passed via compose `environment:` (`IMMICH_URL`,
|
|
`IMMICH_API_KEY`).
|
|
|
|
**Current version:** 1.6.0 (on `dev`) — Immich v3 API compatibility.
|
|
|
|
**Deployment:** hal-blackpearl, container on host port 3030. Repo on self-hosted
|
|
Gitea (`jessikitty/frambe`). Release flow: work on `dev`, merge to `main` when
|
|
confirmed. Files uploaded via scp+ssh (Gitea API truncates files >~16KB, and
|
|
`server.js` is ~27KB).
|
|
|
|
**Credit / footer:** "Created by: Jess Rogerson (yelling commands at Claude.AI)"
|
|
|
|
## Session Log
|
|
- 2026-09-23 — Immich v3 API Migration & Deploy Debugging — Updated all Immich API calls for v3 breaking changes (isShared/isOwned, search/metadata for album+person assets, search/random, ms duration); bumped to 1.6.0. Slideshow "no photos" traced to a missing `.env` breaking docker-compose, not the code.
|