- COOKIE_SECURE env now accepts: 'true' (secure), 'false' (memory-only), 'single_user' (no cookie) - config.parse_cookie_mode() returns (COOKIE_SECURE, SINGLE_USER) tuple for routing - single_user_owner() returns oldest Owner for test/local deployments - session cookie respects mode: Max-Age only in secure mode, dropped for memory-only - base.html renders ephemeral-session and single-user banners per mode - Tests: comprehensive coverage for all three modes with monkeypatch configs - CLAUDE.md + README docs updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
25 lines
993 B
YAML
25 lines
993 B
YAML
services:
|
|
imptune:
|
|
# Pull the published image by default (docker compose pull / up).
|
|
# `build` is kept so `docker compose build` still produces a correctly
|
|
# tagged local image; scripts/publish.ps1 pushes it to the registry.
|
|
image: git.azuze.fr/kawa/imptune:latest
|
|
build: .
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- imptune_data:/data
|
|
restart: unless-stopped
|
|
environment:
|
|
- DATA_DIR=/data
|
|
# Uncomment when this port is reached over plain HTTP (no TLS proxy in
|
|
# front): the owner-session cookie is Secure by default, so the browser
|
|
# drops it and every request mints a new empty Owner. With `false` the
|
|
# session works but lives only until the browser closes, and the UI warns.
|
|
# - COOKIE_SECURE=false
|
|
# Or drop sessions entirely — no cookie, one shared store for everyone who
|
|
# can reach the app. Test boxes / single-person local prod only.
|
|
# - COOKIE_SECURE=single_user
|
|
|
|
volumes:
|
|
imptune_data: |