jira/docker-compose.yaml

209 lines
5.8 KiB
YAML
Raw Permalink Normal View History

x-db-env: &db-env
PGHOST: ${PGHOST:-host.docker.internal}
PGDATABASE: ${PGDATABASE:-plane}
POSTGRES_USER: ${POSTGRES_USER:-vignesh}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-vignesh_secret_pass_2026}
POSTGRES_DB: ${POSTGRES_DB:-plane}
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
PGDATA: ${PGDATA:-/var/lib/postgresql/data}
x-redis-env: &redis-env
REDIS_HOST: ${REDIS_HOST:-plane-redis}
REDIS_PORT: ${REDIS_PORT:-6379}
REDIS_URL: ${REDIS_URL:-redis://plane-redis:6379/}
x-aws-s3-env: &aws-s3-env
AWS_REGION: ${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: ${AWS_S3_ENDPOINT_URL:-https://s3.ap-south-2.amazonaws.com}
AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-trypostmedia}
AWS_S3_PREFIX: ${AWS_S3_PREFIX:-jiradocuments/}
AWS_LOCATION: ${AWS_LOCATION:-jiradocuments}
x-proxy-env: &proxy-env
APP_DOMAIN: ${APP_DOMAIN:-jira.tradhox.com}
FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT:-52428800}
CERT_EMAIL: ${CERT_EMAIL}
CERT_ACME_CA: ${CERT_ACME_CA}
CERT_ACME_DNS: ${CERT_ACME_DNS}
LISTEN_HTTP_PORT: ${LISTEN_HTTP_PORT:-8090}
LISTEN_HTTPS_PORT: ${LISTEN_HTTPS_PORT:-4430}
BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-trypostmedia}
SITE_ADDRESS: ${SITE_ADDRESS:-:80}
x-mq-env: &mq-env
RABBITMQ_HOST: ${RABBITMQ_HOST:-plane-mq}
RABBITMQ_PORT: ${RABBITMQ_PORT:-5672}
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:-plane}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD:-plane_rabbit_pwd_4820}
RABBITMQ_DEFAULT_VHOST: ${RABBITMQ_VHOST:-plane}
RABBITMQ_VHOST: ${RABBITMQ_VHOST:-plane}
x-live-env: &live-env
API_BASE_URL: ${API_BASE_URL:-http://api:8000}
LIVE_SERVER_SECRET_KEY: ${LIVE_SERVER_SECRET_KEY}
x-app-env: &app-env
WEB_URL: ${WEB_URL:-https://jira.tradhox.com}
DEBUG: ${DEBUG:-0}
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS}
GUNICORN_WORKERS: 1
USE_MINIO: ${USE_MINIO:-0}
DATABASE_URL: ${DATABASE_URL:-postgresql://vignesh:vignesh_secret_pass_2026@host.docker.internal:5432/plane}
SECRET_KEY: ${SECRET_KEY}
AMQP_URL: ${AMQP_URL:-amqp://plane:plane_rabbit_pwd_4820@plane-mq:5672/plane}
API_KEY_RATE_LIMIT: ${API_KEY_RATE_LIMIT:-60/minute}
MINIO_ENDPOINT_SSL: ${MINIO_ENDPOINT_SSL:-0}
LIVE_SERVER_SECRET_KEY: ${LIVE_SERVER_SECRET_KEY}
WEBHOOK_ALLOWED_IPS: ${WEBHOOK_ALLOWED_IPS:-}
WEBHOOK_ALLOWED_HOSTS: ${WEBHOOK_ALLOWED_HOSTS:-}
services:
web:
image: makeplane/plane-frontend:${APP_RELEASE:-v1.4.3}
restart: unless-stopped
deploy:
replicas: ${WEB_REPLICAS:-1}
depends_on:
- api
- worker
space:
image: makeplane/plane-space:${APP_RELEASE:-v1.4.3}
restart: unless-stopped
deploy:
replicas: ${SPACE_REPLICAS:-1}
depends_on:
- api
- worker
- web
admin:
image: makeplane/plane-admin:${APP_RELEASE:-v1.4.3}
restart: unless-stopped
deploy:
replicas: ${ADMIN_REPLICAS:-1}
depends_on:
- api
- web
live:
image: makeplane/plane-live:${APP_RELEASE:-v1.4.3}
restart: unless-stopped
environment:
<<: [*live-env, *redis-env]
deploy:
replicas: ${LIVE_REPLICAS:-1}
depends_on:
- api
- web
api:
image: makeplane/plane-backend:${APP_RELEASE:-v1.4.3}
command: ./bin/docker-entrypoint-api.sh
restart: unless-stopped
extra_hosts:
- host.docker.internal:host-gateway
deploy:
replicas: ${API_REPLICAS:-1}
volumes:
- logs_api:/code/plane/logs
- ./patches/storage.py:/code/plane/settings/storage.py:ro
environment:
<<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env]
depends_on:
- plane-redis
- plane-mq
worker:
image: makeplane/plane-backend:${APP_RELEASE:-v1.4.3}
command: ./bin/docker-entrypoint-worker.sh
restart: unless-stopped
extra_hosts:
- host.docker.internal:host-gateway
deploy:
replicas: ${WORKER_REPLICAS:-1}
volumes:
- logs_worker:/code/plane/logs
- ./patches/storage.py:/code/plane/settings/storage.py:ro
environment:
<<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env]
depends_on:
- api
- plane-redis
- plane-mq
beat-worker:
image: makeplane/plane-backend:${APP_RELEASE:-v1.4.3}
command: ./bin/docker-entrypoint-beat.sh
restart: unless-stopped
extra_hosts:
- host.docker.internal:host-gateway
deploy:
replicas: ${BEAT_WORKER_REPLICAS:-1}
volumes:
- logs_beat-worker:/code/plane/logs
- ./patches/storage.py:/code/plane/settings/storage.py:ro
environment:
<<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env]
depends_on:
- api
- plane-redis
- plane-mq
migrator:
image: makeplane/plane-backend:${APP_RELEASE:-v1.4.3}
command: ./bin/docker-entrypoint-migrator.sh
restart: no
extra_hosts:
- host.docker.internal:host-gateway
volumes:
- logs_migrator:/code/plane/logs
- ./patches/storage.py:/code/plane/settings/storage.py:ro
environment:
<<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env]
depends_on:
- plane-redis
plane-redis:
image: valkey/valkey:7.2.11-alpine
restart: unless-stopped
volumes:
- redisdata:/data
plane-mq:
image: rabbitmq:3.13.6-management-alpine
restart: unless-stopped
environment:
<<: *mq-env
volumes:
- rabbitmq_data:/var/lib/rabbitmq
proxy:
image: makeplane/plane-proxy:${APP_RELEASE:-v1.4.3}
restart: unless-stopped
environment:
<<: *proxy-env
ports:
- 127.0.0.1:8090:80
volumes:
- proxy_config:/config
- proxy_data:/data
depends_on:
- web
- api
- space
- admin
- live
volumes:
redisdata:
logs_api:
logs_worker:
logs_beat-worker:
logs_migrator:
rabbitmq_data:
proxy_config:
proxy_data: