Files
flook-stacks/stacks/plane/docker-compose.yml

217 lines
5.3 KiB
YAML

x-db-env: &db-env
PGHOST: plane-db
PGDATABASE: plane
POSTGRES_USER: plane
POSTGRES_PASSWORD: plane
POSTGRES_DB: plane
POSTGRES_PORT: 5432
PGDATA: /var/lib/postgresql/data
x-redis-env: &redis-env
REDIS_HOST: plane-redis
REDIS_PORT: 6379
REDIS_URL: redis://plane-redis:6379/
x-minio-env: &minio-env
MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID:-access-key}
MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY:-secret-key}
x-aws-s3-env: &aws-s3-env
AWS_REGION: ""
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-access-key}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-secret-key}
AWS_S3_ENDPOINT_URL: http://plane-minio:9000
AWS_S3_BUCKET_NAME: uploads
x-mq-env: &mq-env
RABBITMQ_HOST: plane-mq
RABBITMQ_PORT: 5672
RABBITMQ_DEFAULT_USER: plane
RABBITMQ_DEFAULT_PASS: plane
RABBITMQ_DEFAULT_VHOST: plane
RABBITMQ_VHOST: plane
x-live-env: &live-env
API_BASE_URL: http://api:8000
LIVE_SERVER_SECRET_KEY: ${LIVE_SERVER_SECRET_KEY:-2FiJk1U2aiVPEQtzLehYGlTSnTnrs7LW}
x-app-env: &app-env
WEB_URL: https://plane.rishighan.com
DEBUG: 0
CORS_ALLOWED_ORIGINS: https://plane.rishighan.com
GUNICORN_WORKERS: 1
USE_MINIO: 1
DATABASE_URL: postgresql://plane:plane@plane-db/plane
SECRET_KEY: ${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}
AMQP_URL: amqp://plane:plane@plane-mq:5672/plane
API_KEY_RATE_LIMIT: 60/minute
MINIO_ENDPOINT_SSL: 0
LIVE_SERVER_SECRET_KEY: ${LIVE_SERVER_SECRET_KEY:-2FiJk1U2aiVPEQtzLehYGlTSnTnrs7LW}
networks:
plane-net:
name: plane-net
services:
web:
image: artifacts.plane.so/makeplane/plane-frontend:v1.2.1
container_name: plane-web
restart: unless-stopped
ports:
- "8082:3000"
depends_on:
- api
- worker
networks:
- plane-net
space:
image: artifacts.plane.so/makeplane/plane-space:v1.2.1
container_name: plane-space
restart: unless-stopped
ports:
- "8084:3000"
depends_on:
- api
- worker
- web
networks:
- plane-net
admin:
image: artifacts.plane.so/makeplane/plane-admin:v1.2.1
container_name: plane-admin
restart: unless-stopped
ports:
- "8087:3000"
depends_on:
- api
- web
networks:
- plane-net
live:
image: artifacts.plane.so/makeplane/plane-live:v1.2.1
container_name: plane-live
restart: unless-stopped
ports:
- "8086:3000"
environment:
<<: [*live-env, *redis-env]
depends_on:
- api
- web
networks:
- plane-net
api:
image: artifacts.plane.so/makeplane/plane-backend:v1.2.1
container_name: plane-api
restart: unless-stopped
command: ./bin/docker-entrypoint-api.sh
ports:
- "8085:8000"
volumes:
- /mnt/user/appdata/plane/logs/api:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env]
depends_on:
- plane-db
- plane-redis
- plane-mq
- migrator
networks:
- plane-net
worker:
image: artifacts.plane.so/makeplane/plane-backend:v1.2.1
container_name: plane-worker
restart: unless-stopped
command: ./bin/docker-entrypoint-worker.sh
volumes:
- /mnt/user/appdata/plane/logs/worker:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env]
depends_on:
- api
- plane-db
- plane-redis
- plane-mq
networks:
- plane-net
beat-worker:
image: artifacts.plane.so/makeplane/plane-backend:v1.2.1
container_name: plane-beat-worker
restart: unless-stopped
command: ./bin/docker-entrypoint-beat.sh
volumes:
- /mnt/user/appdata/plane/logs/beat-worker:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env]
depends_on:
- api
- plane-db
- plane-redis
- plane-mq
networks:
- plane-net
migrator:
image: artifacts.plane.so/makeplane/plane-backend:v1.2.1
container_name: plane-migrator
restart: "no"
command: ./bin/docker-entrypoint-migrator.sh
volumes:
- /mnt/user/appdata/plane/logs/migrator:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env]
depends_on:
- plane-db
- plane-redis
networks:
- plane-net
plane-db:
image: postgres:15.7-alpine
container_name: plane-db
restart: unless-stopped
command: postgres -c 'max_connections=1000'
environment:
<<: *db-env
volumes:
- /mnt/user/appdata/plane/db-data:/var/lib/postgresql/data
networks:
- plane-net
plane-redis:
image: valkey/valkey:7.2.11-alpine
container_name: plane-redis
restart: unless-stopped
volumes:
- /mnt/user/appdata/plane/redis-data:/data
networks:
- plane-net
plane-mq:
image: rabbitmq:3.13.6-management-alpine
container_name: plane-mq
restart: unless-stopped
environment:
<<: *mq-env
volumes:
- /mnt/user/appdata/plane/rabbitmq-data:/var/lib/rabbitmq
networks:
- plane-net
plane-minio:
image: minio/minio:latest
container_name: plane-minio
restart: unless-stopped
command: server /export --console-address ":9090"
environment:
<<: *minio-env
volumes:
- /mnt/user/appdata/plane/minio-data:/export
networks:
- plane-net