/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
docker/community/docker-compose.yml
236 строк
7 KB
Himanshu Garg
chore(docker): update service images to version 3.19.0 in docker-compose.yml (#12289)
10 авг 2026, 10:58
Не верифицирован
10 авг 2026, 10:58
5fa4985
Код
Авторство
О чём код?
name: novu services: redis: image: "redis:alpine" container_name: redis restart: unless-stopped logging: driver: "json-file" # Enabled json-file logging with limits for consistency options: max-size: "50m" max-file: "5" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 mongodb: image: mongo:8.0.17 container_name: mongodb restart: unless-stopped logging: driver: "json-file" options: max-size: "50m" max-file: "5" environment: - MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME} - MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD} volumes: - mongodb:/data/db healthcheck: test: [ "CMD", "mongosh", "--quiet", "--username", "${MONGO_INITDB_ROOT_USERNAME}", "--password", "${MONGO_INITDB_ROOT_PASSWORD}", "--eval", "db.adminCommand('ping').ok", ] interval: 20s timeout: 5s retries: 5 start_period: 20s api: image: "ghcr.io/novuhq/novu/api:3.19.0" depends_on: mongodb: condition: service_healthy redis: condition: service_healthy container_name: api restart: unless-stopped logging: driver: "json-file" options: max-size: "50m" max-file: "5" environment: NODE_ENV: ${NODE_ENV} API_ROOT_URL: ${API_ROOT_URL} PORT: ${API_PORT} FRONT_BASE_URL: ${FRONT_BASE_URL} MONGO_URL: ${MONGO_URL} MONGO_MIN_POOL_SIZE: ${MONGO_MIN_POOL_SIZE} MONGO_MAX_POOL_SIZE: ${MONGO_MAX_POOL_SIZE} REDIS_HOST: ${REDIS_HOST} REDIS_PORT: ${REDIS_PORT} REDIS_PASSWORD: ${REDIS_PASSWORD} REDIS_DB_INDEX: 2 REDIS_CACHE_SERVICE_HOST: ${REDIS_CACHE_SERVICE_HOST} REDIS_CACHE_SERVICE_PORT: ${REDIS_CACHE_SERVICE_PORT} S3_LOCAL_STACK: ${S3_LOCAL_STACK} S3_BUCKET_NAME: ${S3_BUCKET_NAME} S3_REGION: ${S3_REGION} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} JWT_SECRET: ${JWT_SECRET} STORE_ENCRYPTION_KEY: ${STORE_ENCRYPTION_KEY} NOVU_SECRET_KEY: ${NOVU_SECRET_KEY} SUBSCRIBER_WIDGET_JWT_EXPIRATION_TIME: ${SUBSCRIBER_WIDGET_JWT_EXPIRATION_TIME} SENTRY_DSN: ${SENTRY_DSN} NEW_RELIC_ENABLED: ${NEW_RELIC_ENABLED} NEW_RELIC_APP_NAME: ${NEW_RELIC_APP_NAME} NEW_RELIC_LICENSE_KEY: ${NEW_RELIC_LICENSE_KEY} API_CONTEXT_PATH: ${API_CONTEXT_PATH:-} MONGO_AUTO_CREATE_INDEXES: ${MONGO_AUTO_CREATE_INDEXES} IS_API_IDEMPOTENCY_ENABLED: ${IS_API_IDEMPOTENCY_ENABLED} IS_API_RATE_LIMITING_ENABLED: ${IS_API_RATE_LIMITING_ENABLED} IS_NEW_MESSAGES_API_RESPONSE_ENABLED: ${IS_NEW_MESSAGES_API_RESPONSE_ENABLED} IS_V2_ENABLED: ${IS_V2_ENABLED} IS_SELF_HOSTED: ${IS_SELF_HOSTED} ports: - ${API_PORT}:${API_PORT} healthcheck: test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:$${PORT}/v1/health-check || exit 1", ] interval: 20s timeout: 10s retries: 3 start_period: 40s worker: image: "ghcr.io/novuhq/novu/worker:3.19.0" depends_on: mongodb: condition: service_healthy redis: condition: service_healthy container_name: worker restart: unless-stopped logging: driver: "json-file" options: max-size: "50m" max-file: "5" environment: NODE_ENV: ${NODE_ENV} PORT: ${WORKER_PORT:-3004} MONGO_URL: ${MONGO_URL} MONGO_MIN_POOL_SIZE: ${MONGO_MIN_POOL_SIZE} MONGO_MAX_POOL_SIZE: ${MONGO_MAX_POOL_SIZE} REDIS_HOST: ${REDIS_HOST} REDIS_PORT: ${REDIS_PORT} REDIS_PASSWORD: ${REDIS_PASSWORD} REDIS_DB_INDEX: 2 REDIS_CACHE_SERVICE_HOST: ${REDIS_CACHE_SERVICE_HOST} REDIS_CACHE_SERVICE_PORT: ${REDIS_CACHE_SERVICE_PORT} S3_LOCAL_STACK: ${S3_LOCAL_STACK} S3_BUCKET_NAME: ${S3_BUCKET_NAME} S3_REGION: ${S3_REGION} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} STORE_ENCRYPTION_KEY: ${STORE_ENCRYPTION_KEY} SUBSCRIBER_WIDGET_JWT_EXPIRATION_TIME: ${SUBSCRIBER_WIDGET_JWT_EXPIRATION_TIME} SENTRY_DSN: ${SENTRY_DSN} NEW_RELIC_ENABLED: ${NEW_RELIC_ENABLED} NEW_RELIC_APP_NAME: ${NEW_RELIC_APP_NAME} NEW_RELIC_LICENSE_KEY: ${NEW_RELIC_LICENSE_KEY} BROADCAST_QUEUE_CHUNK_SIZE: ${BROADCAST_QUEUE_CHUNK_SIZE} MULTICAST_QUEUE_CHUNK_SIZE: ${MULTICAST_QUEUE_CHUNK_SIZE} API_ROOT_URL: http://api:${API_PORT} IS_EMAIL_INLINE_CSS_DISABLED: ${IS_EMAIL_INLINE_CSS_DISABLED} IS_USE_MERGED_DIGEST_ID_ENABLED: ${IS_USE_MERGED_DIGEST_ID_ENABLED} healthcheck: test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:$${PORT:-3004}/v1/health-check || exit 1", ] interval: 20s timeout: 10s retries: 3 start_period: 20s ws: image: "ghcr.io/novuhq/novu/ws:3.19.0" depends_on: mongodb: condition: service_healthy redis: condition: service_healthy container_name: ws restart: unless-stopped logging: driver: "json-file" options: max-size: "50m" max-file: "5" environment: PORT: ${WS_PORT} NODE_ENV: ${NODE_ENV} MONGO_URL: ${MONGO_URL} MONGO_MIN_POOL_SIZE: ${MONGO_MIN_POOL_SIZE} MONGO_MAX_POOL_SIZE: ${MONGO_MAX_POOL_SIZE} REDIS_HOST: ${REDIS_HOST} REDIS_PORT: ${REDIS_PORT} REDIS_PASSWORD: ${REDIS_PASSWORD} JWT_SECRET: ${JWT_SECRET} WS_CONTEXT_PATH: ${WS_CONTEXT_PATH:-} NEW_RELIC_ENABLED: ${NEW_RELIC_ENABLED} NEW_RELIC_APP_NAME: ${NEW_RELIC_APP_NAME} NEW_RELIC_LICENSE_KEY: ${NEW_RELIC_LICENSE_KEY} ports: - ${WS_PORT}:${WS_PORT} healthcheck: test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:$${PORT}/v1/health-check || exit 1", ] interval: 20s timeout: 10s retries: 3 start_period: 40s dashboard: image: "ghcr.io/novuhq/novu/dashboard:3.19.0" depends_on: api: condition: service_healthy worker: condition: service_healthy container_name: dashboard restart: unless-stopped logging: driver: "json-file" options: max-size: "50m" max-file: "5" environment: VITE_API_HOSTNAME: ${VITE_API_HOSTNAME} VITE_WEBSOCKET_HOSTNAME: ${VITE_WEBSOCKET_HOSTNAME} ports: - 4000:4000 healthcheck: test: [ "CMD-SHELL", 'node -e "const http = require(''http''); const req = http.get({hostname: ''localhost'', port: 4000, path: ''/'', timeout: 5000}, (res) => { process.exit(res.statusCode === 200 ? 0 : 1); }); req.on(''error'', () => process.exit(1)); req.on(''timeout'', () => { req.destroy(); process.exit(1); });"', ] interval: 20s timeout: 10s retries: 3 start_period: 20s volumes: mongodb: ~