Files
KCal/docker-compose.unraid.yml
ort 2826a3819c Add Web Push notifications, PWA support, and full-screen tablet kiosk
Parents get a real push notification when a kid checks off a task
(false->true transitions only, fire-and-forget, degrades gracefully with
no VAPID keys configured). Dashboard is a fully installable iOS/Android
PWA; each child's kiosk link gets its own dynamic per-token manifest so
"Add to Home Screen" opens straight into their board in standalone mode.

Kiosk view is reworked for tablets: safe-area-aware full-bleed layout,
the whole task row is now tappable (previously only the 24px checkbox
was, well under Apple's touch-target minimum), and app icons are
generated by a small dependency-free PNG encoder (no image tooling
available in this environment).

Push requires real HTTPS (iOS Safari won't allow it otherwise) - README
and UNRAID.md cover VAPID setup and the HTTPS prerequisite.
2026-08-15 16:14:56 -04:00

27 lines
1.1 KiB
YAML

services:
kids-calendar:
build:
# Docker/BuildKit clones the repo itself at build time — no manual
# git clone onto the array needed. Requires the repo to allow
# anonymous HTTP read access in Gitea (Settings → Visibility →
# Public); this is a read-only clone, so nothing beyond that is
# needed. #main is the branch to build from.
context: https://git.oservr.com/ort/KCal.git#main
dockerfile: Dockerfile
container_name: kids-calendar
ports:
- "3007:3007"
volumes:
# Unraid convention: bind-mount to /mnt/user/appdata so it shows up
# in the Docker tab, gets picked up by appdata backup plugins, etc.
# Create this folder before first run (see UNRAID.md).
- /mnt/user/appdata/kids-calendar:/app/data
environment:
- SESSION_SECRET=${SESSION_SECRET:?set a long random value in .env}
- COOKIE_SECURE=${COOKIE_SECURE:-false}
- DISABLE_PUBLIC_SIGNUP=${DISABLE_PUBLIC_SIGNUP:-false}
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY:-}
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY:-}
- VAPID_SUBJECT=${VAPID_SUBJECT:-}
restart: unless-stopped