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