# docker-compose.prod.yml — production overrides. # # Use: # docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d # # Inputs (env or .env file): # LIBRENOTES_IMAGE registry image, e.g. registry.librete.ch/librenotes:1.2.3 # 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"