# Spanglish photo-api configuration # Copy to .env — the service loads it on start (systemd also passes it via # EnvironmentFile). This service has its own .env; nothing is shared with # backend/.env except the VALUES of JWT_SECRET and DATABASE_URL. # Port (dev default 3003; the systemd unit overrides to 3020 in production) PORT=3003 # Database — the SAME database the backend uses. photo-api owns only the # photos_* tables (created by `photo-api migrate`) and reads users/events/ # tickets/payments for auth and access checks. # DB_TYPE must match the backend's engine: postgres | sqlite DB_TYPE=postgres DATABASE_URL=postgresql://spanglish:password@localhost:5432/spanglish_db # For sqlite instead: # DB_TYPE=sqlite # DATABASE_URL=../backend/data/spanglish.db # Secret for gallery image view tokens (HMAC). Any strong random value; does # not need to match any backend secret. Rotating it invalidates outstanding # image URLs for at most ~1 hour (they are re-minted per page load). PHOTO_VIEW_SECRET=8b69468724b730dddecba3d04717cf44e6dc5b808773e7e60156d38875f0f6cd # DEPRECATED: fallback for PHOTO_VIEW_SECRET during the Better Auth migration # (user auth now validates Better Auth sessions from the shared database, not # JWTs). Set PHOTO_VIEW_SECRET and remove this. JWT_SECRET= # Public site origin, used to build share links and allow dev CORS FRONTEND_URL=https://spanglishcommunity.com # Photo storage. Which backend serves requests: # auto (default) S3 when S3_ENDPOINT + S3_BUCKET are set, local otherwise # — the backend's convention (backend/src/lib/storage.ts) # local always local disk, even with the S3 settings filled in # s3 always S3 # Keep both sides filled in and flip this one line to switch backends. Both # are also required by the library sync (`npm run sync:photos:to-s3` / # `:to-local`), which copies every photo from one backend to the other. STORAGE_BACKEND=auto STORAGE_PATH=./data/photos # Use a photos-specific bucket — do not reuse the backend's media bucket. #S3_ENDPOINT= #S3_REGION=auto #S3_BUCKET=spanglish-photos #S3_ACCESS_KEY_ID= #S3_SECRET_ACCESS_KEY= #S3_FORCE_PATH_STYLE=true # Upload and processing tuning MAX_UPLOAD_MB=50 WORKER_CONCURRENCY=2 # HEIC conversion shells out to a host-installed CLI (autodetects `vips` # then `heif-convert`; Debian: apt install libvips-tools). Set to override. #HEIC_CONVERTER=