# Copy to .env and adjust. Read two ways: `npm start`/`npm run dev` in # server/ load it directly via Node's --env-file-if-exists; `docker # compose up` reads it as compose's env file instead (IMAGE/HOST_PORT are # only meaningful there, the rest get passed through to the container). # Image to deploy — set by CI/CD normally; only needed for a manual # docker compose up. IMAGE=repo.explewd.com/explewd/postcard:latest # Host port to expose (container always listens on 3098). HOST_PORT=3098 # Retention — a postcard link is meant to be opened once by the # recipient, not browsed later, so this is shorter than latent's. TTL_HOURS=72 MAX_UPLOAD_BYTES=20971520 RATE_LIMIT_PER_HOUR=30 # Optional day-context source for caption drafting. GET {url}?date=YYYY-MM-DD # must return { git?, spotify?, note? }. Left unset, captions fall back to # generic postcard-voice lines instead of invented personal data. DAY_SUMMARY_URL=https://example.com/api/day-summary