mirror of
https://github.com/Dokploy/templates
synced 2025-06-26 18:16:07 +00:00
fix: complete rework of plane template
This commit is contained in:
@@ -1,64 +1,13 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
plane-redis:
|
|
||||||
image: valkey/valkey:8.1.0-alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- dev_env
|
|
||||||
volumes:
|
|
||||||
- redisdata:/data
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
|
|
||||||
plane-mq:
|
|
||||||
image: rabbitmq:4.0-management-alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- dev_env
|
|
||||||
volumes:
|
|
||||||
- rabbitmq_data:/var/lib/rabbitmq
|
|
||||||
environment:
|
|
||||||
- RABBITMQ_DEFAULT_USER
|
|
||||||
- RABBITMQ_DEFAULT_PASS
|
|
||||||
- RABBITMQ_DEFAULT_VHOST
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
|
|
||||||
plane-minio:
|
|
||||||
image: minio/minio
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- dev_env
|
|
||||||
command: server /export --console-address ":9090"
|
|
||||||
volumes:
|
|
||||||
- uploads:/export
|
|
||||||
environment:
|
|
||||||
- MINIO_ROOT_USER
|
|
||||||
- MINIO_ROOT_PASSWORD
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
|
|
||||||
plane-db:
|
|
||||||
image: postgres:17-alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- dev_env
|
|
||||||
command: postgres -c 'max_connections=1000'
|
|
||||||
volumes:
|
|
||||||
- pgdata:/var/lib/postgresql/data
|
|
||||||
environment:
|
|
||||||
PGDATA: /var/lib/postgresql/data
|
|
||||||
POSTGRES_USER: plane
|
|
||||||
POSTGRES_PASSWORD: plane
|
|
||||||
POSTGRES_DB: plane
|
|
||||||
|
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: makeplane/plane-space:${APP_RELEASE:-v0.25.3}
|
image: makeplane/plane-frontend:${APP_RELEASE:-v0.25.3}
|
||||||
restart: unless-stopped
|
command: node web/server.js web
|
||||||
networks:
|
deploy:
|
||||||
- dev_env
|
replicas: ${WEB_REPLICAS:-1}
|
||||||
volumes:
|
restart_policy:
|
||||||
- webdata:/app/web
|
condition: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
- worker
|
- worker
|
||||||
@@ -67,11 +16,11 @@ services:
|
|||||||
|
|
||||||
space:
|
space:
|
||||||
image: makeplane/plane-space:${APP_RELEASE:-v0.25.3}
|
image: makeplane/plane-space:${APP_RELEASE:-v0.25.3}
|
||||||
restart: unless-stopped
|
command: node space/server.js space
|
||||||
networks:
|
deploy:
|
||||||
- dev_env
|
replicas: ${SPACE_REPLICAS:-1}
|
||||||
volumes:
|
restart_policy:
|
||||||
- space:/app/space
|
condition: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
- worker
|
- worker
|
||||||
@@ -81,142 +30,165 @@ services:
|
|||||||
|
|
||||||
admin:
|
admin:
|
||||||
image: makeplane/plane-admin:${APP_RELEASE:-v0.25.3}
|
image: makeplane/plane-admin:${APP_RELEASE:-v0.25.3}
|
||||||
restart: unless-stopped
|
command: node admin/server.js admin
|
||||||
networks:
|
deploy:
|
||||||
- dev_env
|
replicas: ${ADMIN_REPLICAS:-1}
|
||||||
volumes:
|
restart_policy:
|
||||||
- admin:/app/admin
|
condition: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
- worker
|
|
||||||
- web
|
- web
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
live:
|
live:
|
||||||
image: makeplane/plane-live:${APP_RELEASE:-v0.25.3}
|
image: makeplane/plane-live:${APP_RELEASE:-v0.25.3}
|
||||||
restart: unless-stopped
|
command: node live/dist/server.js live
|
||||||
networks:
|
deploy:
|
||||||
- dev_env
|
replicas: ${LIVE_REPLICAS:-1}
|
||||||
volumes:
|
restart_policy:
|
||||||
- live:/app/live
|
condition: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
- worker
|
|
||||||
- web
|
- web
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
api:
|
api:
|
||||||
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
|
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
|
||||||
restart: unless-stopped
|
command: ./bin/docker-entrypoint-api.sh
|
||||||
networks:
|
deploy:
|
||||||
- dev_env
|
replicas: ${API_REPLICAS:-1}
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
volumes:
|
volumes:
|
||||||
- apiserver:/code
|
- logs_api:/code/plane/logs
|
||||||
command: ./bin/docker-entrypoint-api-local.sh
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- plane-db
|
- plane-db
|
||||||
- plane-redis
|
- plane-redis
|
||||||
|
- plane-mq
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.1}
|
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
|
||||||
command: ""
|
command: ./bin/docker-entrypoint-worker.sh
|
||||||
|
deploy:
|
||||||
|
replicas: ${WORKER_REPLICAS:-1}
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
volumes:
|
volumes:
|
||||||
- logs_worker:/code/plane/logs
|
- logs_worker:/code/plane/logs
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
- plane-db
|
- plane-db
|
||||||
- plane-redis
|
- plane-redis
|
||||||
healthcheck:
|
- plane-mq
|
||||||
test: ["CMD", "echo", "hey whats up"]
|
env_file:
|
||||||
interval: 2s
|
- .env
|
||||||
timeout: 10s
|
|
||||||
retries: 15
|
|
||||||
|
|
||||||
beat-worker:
|
beat-worker:
|
||||||
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.1}
|
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
|
||||||
command: ./bin/docker-entrypoint-beat.sh
|
command: ./bin/docker-entrypoint-beat.sh
|
||||||
|
deploy:
|
||||||
|
replicas: ${BEAT_WORKER_REPLICAS:-1}
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
volumes:
|
volumes:
|
||||||
- logs_beat-worker:/code/plane/logs
|
- logs_beat-worker:/code/plane/logs
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
- plane-db
|
- plane-db
|
||||||
- plane-redis
|
- plane-redis
|
||||||
healthcheck:
|
- plane-mq
|
||||||
test: ["CMD", "echo", "hey whats up"]
|
env_file:
|
||||||
interval: 2s
|
- .env
|
||||||
timeout: 10s
|
|
||||||
retries: 15
|
|
||||||
|
|
||||||
migrator:
|
migrator:
|
||||||
image: makeplane/plane-worker:0.11
|
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
|
||||||
restart: "no"
|
command: ./bin/docker-entrypoint-migrator.sh
|
||||||
networks:
|
deploy:
|
||||||
- dev_env
|
replicas: 1
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
volumes:
|
volumes:
|
||||||
- apiserver:/code
|
- logs_migrator:/code/plane/logs
|
||||||
command: ./bin/docker-entrypoint-migrator.sh --settings=plane.settings.local
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- plane-db
|
- plane-db
|
||||||
- plane-redis
|
- plane-redis
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
|
plane-db:
|
||||||
|
image: postgres:17-alpine
|
||||||
|
command: postgres -c 'max_connections=1000'
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
volumes:
|
||||||
|
- pgdata:/var/lib/postgresql/data
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
|
plane-redis:
|
||||||
|
image: valkey/valkey:7.2.5-alpine
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
volumes:
|
||||||
|
- redisdata:/data
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
|
plane-mq:
|
||||||
|
image: rabbitmq:3.13.6-management-alpine
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
volumes:
|
||||||
|
- rabbitmq_data:/var/lib/rabbitmq
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
|
plane-minio:
|
||||||
|
image: minio/minio:latest
|
||||||
|
command: server /export --console-address ":9090"
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
volumes:
|
||||||
|
- uploads:/export
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
image: "makeplane/plane-proxy:${APP_RELEASE:-v0.25.3}"
|
image: makeplane/plane-proxy:${APP_RELEASE:-v0.25.3}
|
||||||
restart: unless-stopped
|
ports:
|
||||||
networks:
|
- target: 80
|
||||||
- dev_env
|
published: ${NGINX_PORT:-80}
|
||||||
env_file:
|
protocol: tcp
|
||||||
- .env
|
mode: host
|
||||||
environment:
|
deploy:
|
||||||
FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT:-5242880}
|
replicas: 1
|
||||||
BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- web
|
- web
|
||||||
- api
|
- api
|
||||||
- space
|
- space
|
||||||
- admin
|
env_file:
|
||||||
healthcheck:
|
- .env
|
||||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
|
||||||
interval: 2s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 15
|
|
||||||
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
redisdata:
|
|
||||||
driver: local
|
|
||||||
uploads:
|
|
||||||
driver: local
|
|
||||||
pgdata:
|
pgdata:
|
||||||
driver: local
|
redisdata:
|
||||||
rabbitmq_data:
|
uploads:
|
||||||
driver: local
|
logs_api:
|
||||||
apiserver:
|
|
||||||
driver: local
|
|
||||||
webdata:
|
|
||||||
driver: local
|
|
||||||
space:
|
|
||||||
driver: local
|
|
||||||
admin:
|
|
||||||
driver: local
|
|
||||||
live:
|
|
||||||
driver: local
|
|
||||||
logs_beat-worker:
|
|
||||||
driver: local
|
|
||||||
logs_worker:
|
logs_worker:
|
||||||
driver: local
|
logs_beat-worker:
|
||||||
|
logs_migrator:
|
||||||
|
rabbitmq_data:
|
||||||
networks:
|
|
||||||
dev_env:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
@@ -4,30 +4,45 @@ main_domain = "${domain}"
|
|||||||
[config]
|
[config]
|
||||||
env = [
|
env = [
|
||||||
"Domain=${main_domain}",
|
"Domain=${main_domain}",
|
||||||
"NGINX_PORT=80",
|
"PGHOST=plane-db",
|
||||||
"POSTGRES_USER=plane",
|
"PGDATABASE=plane",
|
||||||
"POSTGRES_PASSWORD=plane",
|
"POSTGRES_USER={username}",
|
||||||
|
"POSTGRES_PASSWORD={password:32}",
|
||||||
"POSTGRES_DB=plane",
|
"POSTGRES_DB=plane",
|
||||||
"RABBITMQ_VHOST=plane",
|
"POSTGRES_PORT=5432",
|
||||||
"RABBITMQ_HOST=plane-mq",
|
"PGDATA=/var/lib/postgresql/data",
|
||||||
"RABBITMQ_PORT=5672",
|
|
||||||
"RABBITMQ_USER=plane",
|
|
||||||
"RABBITMQ_PASSWORD=plane",
|
|
||||||
"RABBITMQ_DEFAULT_USER=plane",
|
|
||||||
"RABBITMQ_DEFAULT_PASS=plane",
|
|
||||||
"RABBITMQ_DEFAULT_VHOST=plane",
|
|
||||||
"MINIO_ROOT_USER=minioaccesskey",
|
|
||||||
"MINIO_ROOT_PASSWORD=miniorootpassword",
|
|
||||||
"REDIS_HOST=plane-redis",
|
"REDIS_HOST=plane-redis",
|
||||||
"REDIS_PORT=6379",
|
"REDIS_PORT=6379",
|
||||||
|
"REDIS_URL=redis://plane-redis:6379/",
|
||||||
|
"MINIO_ROOT_USER=access-key",
|
||||||
|
"MINIO_ROOT_PASSWORD=password:32",
|
||||||
|
"AWS_REGION=",
|
||||||
|
"AWS_ACCESS_KEY_ID={username}",
|
||||||
|
"AWS_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}",
|
||||||
"AWS_S3_ENDPOINT_URL=http://plane-minio:9000",
|
"AWS_S3_ENDPOINT_URL=http://plane-minio:9000",
|
||||||
"AWS_S3_BUCKET_NAME=uploads",
|
"AWS_S3_BUCKET_NAME=uploads",
|
||||||
|
"NGINX_PORT=80",
|
||||||
|
"BUCKET_NAME=uploads",
|
||||||
"FILE_SIZE_LIMIT=5242880",
|
"FILE_SIZE_LIMIT=5242880",
|
||||||
|
"RABBITMQ_HOST=plane-mq",
|
||||||
|
"RABBITMQ_PORT=5672",
|
||||||
|
"RABBITMQ_DEFAULT_USER={username}",
|
||||||
|
"RABBITMQ_DEFAULT_PASS={password:32}",
|
||||||
|
"RABBITMQ_DEFAULT_VHOST=plane",
|
||||||
|
"RABBITMQ_VHOST=plane",
|
||||||
|
"API_BASE_URL=http://api:8000",
|
||||||
|
"WEB_URL=${main_domain}",
|
||||||
|
"DEBUG=0",
|
||||||
|
"SENTRY_DSN=",
|
||||||
|
"SENTRY_ENVIRONMENT=production",
|
||||||
|
"CORS_ALLOWED_ORIGINS=",
|
||||||
|
"GUNICORN_WORKERS=1",
|
||||||
"USE_MINIO=1",
|
"USE_MINIO=1",
|
||||||
"MINIO_ENDPOINT_SSL=0",
|
"DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@plane-db/plane",
|
||||||
|
"SECRET_KEY={base64:48}",
|
||||||
|
"AMQP_URL=amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@plane-mq:5672/plane",
|
||||||
"API_KEY_RATE_LIMIT=60/minute",
|
"API_KEY_RATE_LIMIT=60/minute",
|
||||||
"TZ=UTC",
|
"MINIO_ENDPOINT_SSL=0"
|
||||||
"APP_RELEASE=v0.25.3"
|
|
||||||
]
|
]
|
||||||
mounts = []
|
mounts = []
|
||||||
|
|
||||||
@@ -35,204 +50,3 @@ mounts = []
|
|||||||
serviceName = "proxy"
|
serviceName = "proxy"
|
||||||
port = 80
|
port = 80
|
||||||
host = "${main_domain}"
|
host = "${main_domain}"
|
||||||
|
|
||||||
[[config.mounts]]
|
|
||||||
filePath="bin/docker-entrypoint-api-local.sh"
|
|
||||||
content="""
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
python manage.py wait_for_db
|
|
||||||
# Wait for migrations
|
|
||||||
python manage.py wait_for_migrations
|
|
||||||
|
|
||||||
# Create the default bucket
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Collect system information
|
|
||||||
HOSTNAME=$(hostname)
|
|
||||||
MAC_ADDRESS=$(ip link show | awk '/ether/ {print $2}' | head -n 1)
|
|
||||||
CPU_INFO=$(cat /proc/cpuinfo)
|
|
||||||
MEMORY_INFO=$(free -h)
|
|
||||||
DISK_INFO=$(df -h)
|
|
||||||
|
|
||||||
# Concatenate information and compute SHA-256 hash
|
|
||||||
SIGNATURE=$(echo "$HOSTNAME$MAC_ADDRESS$CPU_INFO$MEMORY_INFO$DISK_INFO" | sha256sum | awk '{print $1}')
|
|
||||||
|
|
||||||
# Export the variables
|
|
||||||
export MACHINE_SIGNATURE=$SIGNATURE
|
|
||||||
|
|
||||||
# Register instance
|
|
||||||
python manage.py register_instance "$MACHINE_SIGNATURE"
|
|
||||||
# Load the configuration variable
|
|
||||||
python manage.py configure_instance
|
|
||||||
|
|
||||||
# Create the default bucket
|
|
||||||
python manage.py create_bucket
|
|
||||||
|
|
||||||
# Clear Cache before starting to remove stale values
|
|
||||||
python manage.py clear_cache
|
|
||||||
|
|
||||||
python manage.py runserver 0.0.0.0:8000 --settings=plane.settings.local
|
|
||||||
"""
|
|
||||||
|
|
||||||
[[config.mounts]]
|
|
||||||
filePath="bin/docker-entrypoint-api.sh"
|
|
||||||
content="""
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
python manage.py wait_for_db
|
|
||||||
# Wait for migrations
|
|
||||||
python manage.py wait_for_migrations
|
|
||||||
|
|
||||||
# Create the default bucket
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Collect system information
|
|
||||||
HOSTNAME=$(hostname)
|
|
||||||
MAC_ADDRESS=$(ip link show | awk '/ether/ {print $2}' | head -n 1)
|
|
||||||
CPU_INFO=$(cat /proc/cpuinfo)
|
|
||||||
MEMORY_INFO=$(free -h)
|
|
||||||
DISK_INFO=$(df -h)
|
|
||||||
|
|
||||||
# Concatenate information and compute SHA-256 hash
|
|
||||||
SIGNATURE=$(echo "$HOSTNAME$MAC_ADDRESS$CPU_INFO$MEMORY_INFO$DISK_INFO" | sha256sum | awk '{print $1}')
|
|
||||||
|
|
||||||
# Export the variables
|
|
||||||
export MACHINE_SIGNATURE=$SIGNATURE
|
|
||||||
|
|
||||||
# Register instance
|
|
||||||
python manage.py register_instance "$MACHINE_SIGNATURE"
|
|
||||||
|
|
||||||
# Load the configuration variable
|
|
||||||
python manage.py configure_instance
|
|
||||||
|
|
||||||
# Create the default bucket
|
|
||||||
python manage.py create_bucket
|
|
||||||
|
|
||||||
# Clear Cache before starting to remove stale values
|
|
||||||
python manage.py clear_cache
|
|
||||||
|
|
||||||
exec gunicorn -w "$GUNICORN_WORKERS" -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:"${PORT:-8000}" --max-requests 1200 --max-requests-jitter 1000 --access-logfile -
|
|
||||||
"""
|
|
||||||
|
|
||||||
[[config.mounts]]
|
|
||||||
filePath="bin/docker-docker-entrypoint-beat.sh"
|
|
||||||
content="""
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
python manage.py wait_for_db
|
|
||||||
# Wait for migrations
|
|
||||||
python manage.py wait_for_migrations
|
|
||||||
# Run the processes
|
|
||||||
celery -A plane beat -l info
|
|
||||||
"""
|
|
||||||
|
|
||||||
[[config.mounts]]
|
|
||||||
filePath="bin/docker-entrypoint-migrator.sh"
|
|
||||||
content="""
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
python manage.py wait_for_db $1
|
|
||||||
|
|
||||||
python manage.py migrate $1
|
|
||||||
"""
|
|
||||||
|
|
||||||
[[config.mounts]]
|
|
||||||
filePath="bin/docker-entrypoint-worker.sh"
|
|
||||||
content="""
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
python manage.py wait_for_db
|
|
||||||
# Wait for migrations
|
|
||||||
python manage.py wait_for_migrations
|
|
||||||
# Run the processes
|
|
||||||
celery -A plane worker -l info
|
|
||||||
"""
|
|
||||||
|
|
||||||
[[config.mounts]]
|
|
||||||
filePath="volumes/nginx/nginx.conf.template"
|
|
||||||
content="""
|
|
||||||
|
|
||||||
events {
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
sendfile on;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
root /www/data/;
|
|
||||||
access_log /var/log/nginx/access.log;
|
|
||||||
|
|
||||||
client_max_body_size ${FILE_SIZE_LIMIT};
|
|
||||||
|
|
||||||
add_header X-Content-Type-Options "nosniff" always;
|
|
||||||
add_header Referrer-Policy "no-referrer-when-downgrade" always;
|
|
||||||
add_header Permissions-Policy "interest-cohort=()" always;
|
|
||||||
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
|
||||||
add_header X-Forwarded-Proto "${dollar}scheme";
|
|
||||||
add_header X-Forwarded-Host "${dollar}host";
|
|
||||||
add_header X-Forwarded-For "${dollar}proxy_add_x_forwarded_for";
|
|
||||||
add_header X-Real-IP "${dollar}remote_addr";
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://web:3000/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /api/ {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://api:8000/api/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /auth/ {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://api:8000/auth/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /god-mode/ {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://admin:3000/god-mode/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /live/ {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://live:3000/live/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /spaces/ {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://space:3000/spaces/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /${BUCKET_NAME} {
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade ${dollar}http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host ${dollar}http_host;
|
|
||||||
proxy_pass http://plane-minio:9000/${BUCKET_NAME};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"""
|
|
||||||
Reference in New Issue
Block a user