services: server: environment: NODE_ENV: production APP_ENV: production # Production secret provider configuration # Override defaults for production vault integration SECRET_READ_CHAIN: ${SECRET_READ_CHAIN:-env,filesystem,vault} SECRET_WRITE_PROVIDER: ${SECRET_WRITE_PROVIDER:-filesystem} IMAP_WEBHOOK_SECRET: ${IMAP_WEBHOOK_SECRET:-} build: context: . dockerfile: Dockerfile.build args: NEXT_BUILD_MAX_OLD_SPACE_SIZE: ${NEXT_BUILD_MAX_OLD_SPACE_SIZE:-12288} setup: environment: NODE_ENV: production APP_ENV: production # Production secret provider configuration for setup SECRET_READ_CHAIN: ${SECRET_READ_CHAIN:-env,filesystem,vault} SECRET_WRITE_PROVIDER: ${SECRET_WRITE_PROVIDER:-filesystem} hocuspocus: environment: NODE_ENV: production APP_ENV: production # Production secret provider configuration for hocuspocus SECRET_READ_CHAIN: ${SECRET_READ_CHAIN:-env,filesystem,vault} SECRET_WRITE_PROVIDER: ${SECRET_WRITE_PROVIDER:-filesystem} email-service: build: context: . dockerfile: services/email-service/Dockerfile environment: NODE_ENV: production APP_ENV: production SECRET_READ_CHAIN: ${SECRET_READ_CHAIN:-env,filesystem,vault} SECRET_WRITE_PROVIDER: ${SECRET_WRITE_PROVIDER:-filesystem} IMAP_WEBHOOK_SECRET: ${IMAP_WEBHOOK_SECRET:-} IMAP_PROVIDER_REFRESH_MS: ${IMAP_PROVIDER_REFRESH_MS:-60000} IMAP_POLL_INTERVAL_MS: ${IMAP_POLL_INTERVAL_MS:-30000} IMAP_LEASE_TTL_MS: ${IMAP_LEASE_TTL_MS:-120000} IMAP_MAX_CONNECTIONS_PER_TENANT: ${IMAP_MAX_CONNECTIONS_PER_TENANT:-5} IMAP_MAX_ATTACHMENT_BYTES: ${IMAP_MAX_ATTACHMENT_BYTES:-0} IMAP_FETCH_DELAY_MS: ${IMAP_FETCH_DELAY_MS:-0} IMAP_EVENT_CHANNEL_BY_TENANT: ${IMAP_EVENT_CHANNEL_BY_TENANT:-false} IMAP_OAUTH_AUTH_MECHANISM: ${IMAP_OAUTH_AUTH_MECHANISM:-XOAUTH2}