version: "3.8" services: db: image: postgres:12-alpine restart: always volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: plane POSTGRES_DB: plane POSTGRES_PASSWORD: plane command: postgres -c 'max_connections=1000' ports: - "5432:5432" redis: image: redis:6.2.7-alpine restart: always ports: - "6379:6379" volumes: - redisdata:/data plane-web: image: plane-web container_name: plane-frontend build: context: . dockerfile: ./apps/app/Dockerfile.web restart: always environment: NEXT_PUBLIC_GITHUB_ID: $NEXT_PUBLIC_GITHUB_ID NEXT_PUBLIC_GOOGLE_CLIENTID: $NEXT_PUBLIC_GOOGLE_CLIENTID NEXT_PUBLIC_API_BASE_URL: $NEXT_PUBLIC_API_BASE_URL ports: - 3000:3000 plane-api: image: plane-api container_name: plane-backend build: context: ./apiserver dockerfile: Dockerfile.api restart: always ports: - 8000:8000 environment: SENTRY_DSN: $SENTRY_DSN WEB_URL: $WEB_URL PGUSER: plane PGPASSWORD: plane PGHOST: db REDIS_URL: 'redis://redis:6379/' REDIS_HOST: redis REDIS_PORT: 6379 SECRET_KEY: $SECRET_KEY AWS_REGION: $AWS_REGION AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY AWS_S3_BUCKET_NAME: $AWS_S3_BUCKET_NAME EMAIL_HOST: $EMAIL_HOST EMAIL_HOST_USER: $EMAIL_HOST_USER EMAIL_HOST_PASSWORD: $EMAIL_HOST_PASSWORD depends_on: - db - redis command: ./bin/takeoff links: - db:db - redis:redis plane-worker: image: plane-api container_name: plane-rqworker depends_on: - redis - db - plane-api command: ./bin/worker links: - redis:redis - db:db environment: SENTRY_DSN: $SENTRY_DSN WEB_URL: $WEB_URL PGUSER: plane PGPASSWORD: plane PGHOST: db REDIS_URL: 'redis://redis:6379/' REDIS_HOST: redis REDIS_PORT: 6379 SECRET_KEY: $SECRET_KEY AWS_REGION: $AWS_REGION AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY AWS_S3_BUCKET_NAME: $AWS_S3_BUCKET_NAME EMAIL_HOST: $EMAIL_HOST EMAIL_HOST_USER: $EMAIL_HOST_USER EMAIL_HOST_PASSWORD: $EMAIL_HOST_PASSWORD volumes: pgdata: redisdata: