name: unsend-prod services: postgres: image: postgres:16 container_name: unsend-db-prod restart: always environment: - POSTGRES_USER=${POSTGRES_USER:?err} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?err} - POSTGRES_DB=${POSTGRES_DB:?err} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] interval: 10s timeout: 5s retries: 5 # ports: # - "5432:5432" volumes: - database:/var/lib/postgresql/data redis: image: redis:7 container_name: unsend-redis-prod restart: always # ports: # - "6379:6379" volumes: - cache:/data command: ["redis-server", "--maxmemory-policy", "noeviction"] minio: image: minio/minio container_name: unsend-storage-prod ports: - 9002:9002 - 9001:9001 volumes: - storage:/data environment: MINIO_ROOT_USER: unsend MINIO_ROOT_PASSWORD: password entrypoint: sh command: -c 'mkdir -p /data/unsend && minio server /data --console-address ":9001" --address ":9002"' unsend: image: unsend/unsend:latest container_name: unsend restart: always ports: - ${PORT:-3000}:${PORT:-3000} environment: - PORT=${PORT:-3000} - DATABASE_URL=${DATABASE_URL:?err} - NEXTAUTH_URL=${NEXTAUTH_URL:?err} - NEXTAUTH_SECRET=${NEXTAUTH_SECRET:?err} - AWS_ACCESS_KEY=${AWS_ACCESS_KEY:?err} - AWS_SECRET_KEY=${AWS_SECRET_KEY:?err} - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:?err} - GITHUB_ID=${GITHUB_ID:?err} - GITHUB_SECRET=${GITHUB_SECRET:?err} - REDIS_URL=${REDIS_URL:?err} - NEXT_PUBLIC_IS_CLOUD=${NEXT_PUBLIC_IS_CLOUD:-false} - API_RATE_LIMIT=${API_RATE_LIMIT:-1} - NEXT_PUBLIC_SMTP_HOST=${NEXT_PUBLIC_SMTP_HOST:-smtp.unsend.dev} - NEXT_PUBLIC_SMTP_USER=${NEXT_PUBLIC_SMTP_USER:-unsend} depends_on: postgres: condition: service_healthy redis: condition: service_started volumes: database: cache: storage: