feat(templates): update plane compose to v1.0.0

This commit is contained in:
Gabriel Lamon 2025-10-22 16:48:11 -03:00
parent f0fc7af78c
commit 9c0fc8ba6c

View file

@ -4,72 +4,77 @@
# tags: plane,project-management,tool,open,source,api,nextjs,redis,postgresql,django,pm # tags: plane,project-management,tool,open,source,api,nextjs,redis,postgresql,django,pm
# logo: svgs/plane.svg # logo: svgs/plane.svg
x-app-env: &app-env x-db-env: &db-env
environment: PGHOST: plane-db
- APP_RELEASE=${APP_RELEASE:-v0.25.2} PGDATABASE: plane
- WEB_URL=${SERVICE_URL_PLANE} POSTGRES_USER: $SERVICE_USER_POSTGRES
- DEBUG=${DEBUG:-0} POSTGRES_PASSWORD: $SERVICE_PASSWORD_POSTGRES
- CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGIN:-http://localhost} POSTGRES_DB: plane
# Gunicorn Workers POSTGRES_PORT: 5432
- GUNICORN_WORKERS=${GUNICORN_WORKERS:-1} PGDATA: /var/lib/postgresql/data
#DB SETTINGS
- PGHOST=plane-db
- PGDATABASE=plane
- POSTGRES_USER=$SERVICE_USER_POSTGRES
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
- POSTGRES_DB=plane
- POSTGRES_PORT=5432
- PGDATA=/var/lib/postgresql/data
- DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@plane-db/plane
# REDIS SETTINGS
- REDIS_HOST=plane-redis
- REDIS_PORT=6379
- REDIS_URL=${REDIS_URL:-redis://plane-redis:6379/}
# RabbitMQ Settings x-redis-env: &redis-env
- RABBITMQ_HOST=plane-mq REDIS_HOST: ${REDIS_HOST:-plane-redis}
- RABBITMQ_PORT=${RABBITMQ_PORT:-5672} REDIS_PORT: ${REDIS_PORT:-6379}
- RABBITMQ_DEFAULT_USER=${SERVICE_USER_RABBITMQ:-plane} REDIS_URL: ${REDIS_URL:-redis://plane-redis:6379/}
- RABBITMQ_DEFAULT_PASS=${SERVICE_PASSWORD_RABBITMQ:-plane}
- RABBITMQ_DEFAULT_VHOST=${RABBITMQ_VHOST:-plane} x-minio-env: &minio-env
- RABBITMQ_VHOST=${RABBITMQ_VHOST:-plane} MINIO_ROOT_USER: $SERVICE_USER_MINIO
- 'AMQP_URL=amqp://${SERVICE_USER_RABBITMQ}:${SERVICE_PASSWORD_RABBITMQ}@plane-mq:${RABBITMQ_PORT}/plane' MINIO_ROOT_PASSWORD: $SERVICE_PASSWORD_MINIO
# Application secret
- SECRET_KEY=$SERVICE_PASSWORD_64_SECRETKEY x-aws-s3-env: &aws-s3-env
# DATA STORE SETTINGS AWS_REGION: ${AWS_REGION:-}
- USE_MINIO=${USE_MINIO:-1} AWS_ACCESS_KEY_ID: $SERVICE_USER_MINIO
- AWS_REGION=${AWS_REGION} AWS_SECRET_ACCESS_KEY: $SERVICE_PASSWORD_MINIO
- AWS_ACCESS_KEY_ID=$SERVICE_USER_MINIO AWS_S3_ENDPOINT_URL: ${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
- AWS_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
- AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
- AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads} x-mq-env: &mq-env # RabbitMQ Settings
- MINIO_ROOT_USER=$SERVICE_USER_MINIO RABBITMQ_HOST: plane-mq
- MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO RABBITMQ_PORT: ${RABBITMQ_PORT:-5672}
- BUCKET_NAME=${BUCKET_NAME:-uploads} RABBITMQ_DEFAULT_USER: ${SERVICE_USER_RABBITMQ:-plane}
- FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880} RABBITMQ_DEFAULT_PASS: ${SERVICE_PASSWORD_RABBITMQ:-plane}
# Live server env RABBITMQ_DEFAULT_VHOST: ${RABBITMQ_VHOST:-plane}
- API_BASE_URL=${API_BASE_URL:-http://api:8000} RABBITMQ_VHOST: ${RABBITMQ_VHOST:-plane}
x-live-env: &live-env
API_BASE_URL: ${API_BASE_URL:-http://api:8000}
x-app-env: &app-env
APP_RELEASE: ${APP_RELEASE:-v1.0.0}
WEB_URL: ${SERVICE_URL_PLANE}
DEBUG: ${DEBUG:-0}
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS:-http://localhost}
GUNICORN_WORKERS: ${GUNICORN_WORKERS:-1}
USE_MINIO: ${USE_MINIO:-1}
DATABASE_URL: postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@plane-db/plane
SECRET_KEY: $SERVICE_PASSWORD_64_SECRETKEY
AMQP_URL: amqp://${SERVICE_USER_RABBITMQ}:${SERVICE_PASSWORD_RABBITMQ}@plane-mq:${RABBITMQ_PORT:-5672}/plane
API_KEY_RATE_LIMIT: ${API_KEY_RATE_LIMIT:-60/minute}
MINIO_ENDPOINT_SSL: ${MINIO_ENDPOINT_SSL:-0}
services: services:
proxy: proxy:
image: artifacts.plane.so/makeplane/plane-proxy:${APP_RELEASE:-v1.0.0}
environment: environment:
- SERVICE_URL_PLANE - SERVICE_URL_PLANE
- APP_DOMAIN=${SERVICE_URL_PLANE}
- SITE_ADDRESS=:80
- FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880} - FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}
- BUCKET_NAME=${BUCKET_NAME:-uploads} - BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}
image: makeplane/plane-proxy:${APP_RELEASE:-v0.25.1}
depends_on: depends_on:
- web - web
- api - api
- space - space
- admin
- live
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
interval: 2s interval: 2s
timeout: 10s timeout: 10s
retries: 15 retries: 15
web: web:
image: makeplane/plane-frontend:${APP_RELEASE:-v0.25.1} image: artifacts.plane.so/makeplane/plane-frontend:${APP_RELEASE:-v1.0.0}
command: node web/server.js web
depends_on: depends_on:
- api - api
- worker - worker
@ -78,9 +83,9 @@ services:
interval: 2s interval: 2s
timeout: 10s timeout: 10s
retries: 15 retries: 15
space: space:
image: makeplane/plane-space:${APP_RELEASE:-v0.25.1} image: artifacts.plane.so/makeplane/plane-space:${APP_RELEASE:-v1.0.0}
command: node space/server.js space
depends_on: depends_on:
- api - api
- worker - worker
@ -92,8 +97,7 @@ services:
retries: 15 retries: 15
admin: admin:
image: makeplane/plane-admin:${APP_RELEASE:-v0.25.1} image: artifacts.plane.so/makeplane/plane-admin:${APP_RELEASE:-v1.0.0}
command: node admin/server.js admin
depends_on: depends_on:
- api - api
- web - web
@ -104,9 +108,9 @@ services:
retries: 15 retries: 15
live: live:
<<: *app-env image: artifacts.plane.so/makeplane/plane-live:${APP_RELEASE:-v1.0.0}
image: makeplane/plane-live:${APP_RELEASE:-v0.25.1} environment:
command: node live/dist/server.js live <<: [*live-env]
depends_on: depends_on:
- api - api
- web - web
@ -117,14 +121,16 @@ services:
retries: 15 retries: 15
api: api:
<<: *app-env image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.1}
command: ./bin/docker-entrypoint-api.sh command: ./bin/docker-entrypoint-api.sh
volumes: volumes:
- logs_api:/code/plane/logs - logs_api:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
depends_on: depends_on:
- plane-db - plane-db
- plane-redis - plane-redis
- plane-mq
healthcheck: healthcheck:
test: ["CMD", "echo", "hey whats up"] test: ["CMD", "echo", "hey whats up"]
interval: 2s interval: 2s
@ -132,15 +138,17 @@ services:
retries: 15 retries: 15
worker: worker:
<<: *app-env image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.1}
command: ./bin/docker-entrypoint-worker.sh command: ./bin/docker-entrypoint-worker.sh
volumes: volumes:
- logs_worker:/code/plane/logs - logs_worker:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
depends_on: depends_on:
- api - api
- plane-db - plane-db
- plane-redis - plane-redis
- plane-mq
healthcheck: healthcheck:
test: ["CMD", "echo", "hey whats up"] test: ["CMD", "echo", "hey whats up"]
interval: 2s interval: 2s
@ -148,15 +156,17 @@ services:
retries: 15 retries: 15
beat-worker: beat-worker:
<<: *app-env image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.1}
command: ./bin/docker-entrypoint-beat.sh command: ./bin/docker-entrypoint-beat.sh
volumes: volumes:
- logs_beat-worker:/code/plane/logs - logs_beat-worker:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
depends_on: depends_on:
- api - api
- plane-db - plane-db
- plane-redis - plane-redis
- plane-mq
healthcheck: healthcheck:
test: ["CMD", "echo", "hey whats up"] test: ["CMD", "echo", "hey whats up"]
interval: 2s interval: 2s
@ -164,20 +174,23 @@ services:
retries: 15 retries: 15
migrator: migrator:
<<: *app-env image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.1}
restart: "no" restart: "no"
command: ./bin/docker-entrypoint-migrator.sh command: ./bin/docker-entrypoint-migrator.sh
volumes: volumes:
- logs_migrator:/code/plane/logs - logs_migrator:/code/plane/logs
environment:
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
depends_on: depends_on:
- plane-db - plane-db
- plane-redis - plane-redis
# Comment this if you already have a database running
plane-db: plane-db:
<<: *app-env
image: postgres:15.7-alpine image: postgres:15.7-alpine
command: postgres -c 'max_connections=1000' command: postgres -c 'max_connections=1000'
environment:
<<: *db-env
volumes: volumes:
- pgdata:/var/lib/postgresql/data - pgdata:/var/lib/postgresql/data
healthcheck: healthcheck:
@ -187,7 +200,6 @@ services:
retries: 10 retries: 10
plane-redis: plane-redis:
<<: *app-env
image: valkey/valkey:7.2.5-alpine image: valkey/valkey:7.2.5-alpine
volumes: volumes:
- redisdata:/data - redisdata:/data
@ -198,9 +210,10 @@ services:
retries: 10 retries: 10
plane-mq: plane-mq:
<<: *app-env
image: rabbitmq:3.13.6-management-alpine image: rabbitmq:3.13.6-management-alpine
restart: always restart: always
environment:
<<: *mq-env
volumes: volumes:
- rabbitmq_data:/var/lib/rabbitmq - rabbitmq_data:/var/lib/rabbitmq
healthcheck: healthcheck:
@ -209,10 +222,12 @@ services:
timeout: 30s timeout: 30s
retries: 3 retries: 3
# Comment this if you using any external s3 compatible storage
plane-minio: plane-minio:
<<: *app-env image: minio/minio:latest
image: ghcr.io/coollabsio/minio:RELEASE.2025-10-15T17-29-55Z # Released on 15 October 2025
command: server /export --console-address ":9090" command: server /export --console-address ":9090"
environment:
<<: *minio-env
volumes: volumes:
- uploads:/export - uploads:/export
healthcheck: healthcheck:
@ -220,3 +235,15 @@ services:
interval: 5s interval: 5s
timeout: 20s timeout: 20s
retries: 10 retries: 10
volumes:
pgdata:
redisdata:
uploads:
logs_api:
logs_worker:
logs_beat-worker:
logs_migrator:
rabbitmq_data:
proxy_config:
proxy_data: