version: '3.8' services: app: container_name: meta-muse image: innei/meta-muse-prisma-zod:latest command: /bin/sh -c "./node_modules/.bin/prisma migrate deploy; node apps/core/dist/main.js --redis_host=redis --allowed_origins=${ALLOWED_ORIGINS} --jwt_secret=${JWT_SECRET} --color --cluster" env_file: - .env environment: - TZ=Asia/Shanghai - NODE_ENV=production - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/meta-muse?schema=public restart: 'on-failure' volumes: - ./data/nest:/root/.nest ports: - '3333:3333' depends_on: - postgres - redis links: - postgres - redis networks: - app-network postgres: image: postgres:16 container_name: postgres restart: always ports: - '15432:5432' env_file: - .env volumes: - nest-postgres:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_USER=${POSTGRES_USER} healthcheck: test: ['CMD-SHELL', 'pg_isready -U meta-muse'] interval: 30s timeout: 10s retries: 5 networks: - app-network redis: image: redis container_name: redis ports: - '6560:6379' networks: - app-network networks: app-network: driver: bridge volumes: nest-postgres: name: nest-postgres-db