version: "3.8" services: redis: image: redis:7-alpine restart: unless-stopped volumes: - redis-data:/data server: build: context: . dockerfile: Dockerfile ports: - "5002:5002" environment: - SMTP_HOST=${SMTP_HOST} - SMTP_PORT=${SMTP_PORT} - SMTP_USERNAME=${SMTP_USERNAME} - SMTP_PASSWORD=${SMTP_PASSWORD} - SMTP_SENDER=${SMTP_SENDER} - SMTP_RECIPIENTS=${SMTP_RECIPIENTS} - SMTP_USE_TLS=${SMTP_USE_TLS} - REDIS_URL=redis://redis:6379/0 - RATE_LIMIT_MAX=${RATE_LIMIT_MAX} - RATE_LIMIT_WINDOW=${RATE_LIMIT_WINDOW} depends_on: - redis volumes: - ./data:/app/data healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:5002/health || exit 1"] interval: 30s timeout: 5s retries: 3 volumes: redis-data: driver: local