# compose.prod.yaml — production overrides (generic, non-netcup). # # Use: # docker compose -f compose.yaml -f compose.prod.yaml up -d # # For the netcup deployment, use `compose.netcup.yaml` instead. # # Inputs (env or .env file): # LIBRENOTES_IMAGE registry image, e.g. git.librete.ch/public/librenotes:v0.1.0 # LIBRENOTES_BASE_URL public origin, e.g. https://librenot.es # LIBRENOTES_JWT_SECRET secrets manager value, NOT committed # LIBRENOTES_SMTP_HOST real SMTP host # LIBRENOTES_SMTP_PORT submission port (587 default) # LIBRENOTES_SMTP_USER SMTP credential # LIBRENOTES_SMTP_PASS SMTP credential # LIBRENOTES_SMTP_FROM envelope sender (e.g. no-reply@librenot.es) services: librenotes: image: ${LIBRENOTES_IMAGE} build: !reset null environment: LIBRENOTES_BASE_URL: ${LIBRENOTES_BASE_URL} LIBRENOTES_JWT_SECRET: ${LIBRENOTES_JWT_SECRET} LIBRENOTES_SMTP_HOST: ${LIBRENOTES_SMTP_HOST} LIBRENOTES_SMTP_PORT: ${LIBRENOTES_SMTP_PORT:-587} LIBRENOTES_SMTP_USER: ${LIBRENOTES_SMTP_USER} LIBRENOTES_SMTP_PASS: ${LIBRENOTES_SMTP_PASS} LIBRENOTES_SMTP_FROM: ${LIBRENOTES_SMTP_FROM} healthcheck: test: ["CMD", "/librenotes", "healthcheck"] interval: 30s timeout: 5s retries: 3 start_period: 10s deploy: resources: limits: memory: 256M reservations: memory: 64M logging: driver: json-file options: max-size: "10m" max-file: "5"