version: "3.8" services: web: container_name: web image: makeplane/plane-frontend:latest restart: always command: /usr/local/bin/start.sh web/server.js web env_file: - ./web/.env depends_on: - api - worker space: container_name: space image: makeplane/plane-space:latest restart: always command: /usr/local/bin/start.sh space/server.js space env_file: - ./space/.env depends_on: - api - worker - web api: container_name: api image: makeplane/plane-backend:latest restart: always command: ./bin/takeoff env_file: - ./apiserver/.env depends_on: - plane-db - plane-redis worker: container_name: bgworker image: makeplane/plane-backend:latest restart: always command: ./bin/worker env_file: - ./apiserver/.env depends_on: - api - plane-db - plane-redis beat-worker: container_name: beatworker image: makeplane/plane-backend:latest restart: always command: ./bin/beat env_file: - ./apiserver/.env depends_on: - api - plane-db - plane-redis plane-db: container_name: plane-db image: postgres:15.2-alpine restart: always command: postgres -c 'max_connections=1000' volumes: - pgdata:/var/lib/postgresql/data env_file: - .env environment: POSTGRES_USER: ${PGUSER} POSTGRES_DB: ${PGDATABASE} POSTGRES_PASSWORD: ${PGPASSWORD} PGDATA: /var/lib/postgresql/data plane-redis: container_name: plane-redis image: redis:6.2.7-alpine restart: always volumes: - redisdata:/data plane-minio: container_name: plane-minio image: minio/minio restart: always command: server /export --console-address ":9090" volumes: - uploads:/export env_file: - .env environment: MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID} MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY} createbuckets: image: minio/mc entrypoint: > /bin/sh -c " /usr/bin/mc config host add plane-minio http://plane-minio:9000 \$AWS_ACCESS_KEY_ID \$AWS_SECRET_ACCESS_KEY; /usr/bin/mc mb plane-minio/\$AWS_S3_BUCKET_NAME; /usr/bin/mc anonymous set download plane-minio/\$AWS_S3_BUCKET_NAME; exit 0; " env_file: - .env depends_on: - plane-minio # Comment this if you already have a reverse proxy running proxy: container_name: proxy image: makeplane/plane-proxy:latest ports: - ${NGINX_PORT}:80 env_file: - .env environment: FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT:-5242880} BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads} depends_on: - web - api - space volumes: pgdata: redisdata: uploads: