diff --git a/blueprints/plane/docker-compose.yml b/blueprints/plane/docker-compose.yml index 9502c0108..a79f83d6d 100644 --- a/blueprints/plane/docker-compose.yml +++ b/blueprints/plane/docker-compose.yml @@ -2,8 +2,8 @@ version: "3.8" services: web: - image: makeplane/plane-frontend:${APP_RELEASE:-v0.27.1} - command: node web/server.js web + image: makeplane/plane-frontend:${APP_RELEASE:-v1.2.3} + restart: always depends_on: - api - worker @@ -11,8 +11,8 @@ services: - .env space: - image: makeplane/plane-space:${APP_RELEASE:-v0.27.1} - command: node space/server.js space + image: makeplane/plane-space:${APP_RELEASE:-v1.2.3} + restart: always depends_on: - api - worker @@ -21,8 +21,8 @@ services: - .env admin: - image: makeplane/plane-admin:${APP_RELEASE:-v0.27.1} - command: node admin/server.js admin + image: makeplane/plane-admin:${APP_RELEASE:-v1.2.3} + restart: always depends_on: - api - web @@ -30,8 +30,8 @@ services: - .env live: - image: makeplane/plane-live:${APP_RELEASE:-v0.27.1} - command: node live/dist/server.js live + image: makeplane/plane-live:${APP_RELEASE:-v1.2.3} + restart: always depends_on: - api - web @@ -39,7 +39,8 @@ services: - .env api: - image: makeplane/plane-backend:${APP_RELEASE:-v0.27.1} + image: makeplane/plane-backend:${APP_RELEASE:-v1.2.3} + restart: always command: ./bin/docker-entrypoint-api.sh volumes: - logs_api:/code/plane/logs @@ -51,7 +52,8 @@ services: - .env worker: - image: makeplane/plane-backend:${APP_RELEASE:-v0.27.1} + image: makeplane/plane-backend:${APP_RELEASE:-v1.2.3} + restart: always command: ./bin/docker-entrypoint-worker.sh volumes: - logs_worker:/code/plane/logs @@ -64,7 +66,8 @@ services: - .env beat-worker: - image: makeplane/plane-backend:${APP_RELEASE:-v0.27.1} + image: makeplane/plane-backend:${APP_RELEASE:-v1.2.3} + restart: always command: ./bin/docker-entrypoint-beat.sh volumes: - logs_beat-worker:/code/plane/logs @@ -77,7 +80,8 @@ services: - .env migrator: - image: makeplane/plane-backend:${APP_RELEASE:-v0.27.1} + image: makeplane/plane-backend:${APP_RELEASE:-v1.2.3} + restart: on-failure command: ./bin/docker-entrypoint-migrator.sh volumes: - logs_migrator:/code/plane/logs @@ -88,7 +92,8 @@ services: - .env plane-db: - image: postgres:17-alpine + image: postgres:15.7-alpine + restart: always command: postgres -c 'max_connections=1000' volumes: - pgdata:/var/lib/postgresql/data @@ -96,33 +101,39 @@ services: - .env plane-redis: - image: valkey/valkey:7.2.5-alpine + image: valkey/valkey:7.2.11-alpine + restart: always volumes: - redisdata:/data - env_file: - - .env plane-mq: image: rabbitmq:3.13.6-management-alpine + restart: always volumes: - rabbitmq_data:/var/lib/rabbitmq env_file: - .env - plane-minio: - image: minio/minio:latest - command: server /export --console-address ":9090" + plane-storage: + image: rustfs/rustfs:1.0.0-alpha.90 + restart: always volumes: - - uploads:/export + - uploads:/data env_file: - .env proxy: - image: makeplane/plane-proxy:${APP_RELEASE:-v0.27.1} + image: makeplane/plane-proxy:${APP_RELEASE:-v1.2.3} + restart: always depends_on: - web - api - space + - admin + - live + volumes: + - proxy_config:/config + - proxy_data:/data env_file: - .env @@ -135,3 +146,5 @@ volumes: logs_beat-worker: logs_migrator: rabbitmq_data: + proxy_config: + proxy_data: diff --git a/blueprints/plane/template.toml b/blueprints/plane/template.toml index a12f45649..936075827 100644 --- a/blueprints/plane/template.toml +++ b/blueprints/plane/template.toml @@ -1,53 +1,59 @@ [variables] main_domain = "${domain}" +postgres_user = "${username}" db_password = "${password:32}" -minio_password = "${password:32}" +storage_password = "${password:32}" rabbitmq_user = "${username}" rabbitmq_pass = "${password:32}" secret_key = "${base64:48}" +live_secret_key = "${base64:32}" [config] env = [ -"Domain=${domain}", -"WEB_URL=${Domain}", +"APP_DOMAIN=${main_domain}", +"WEB_URL=http://${main_domain}", "PGHOST=plane-db", "PGDATABASE=plane", -"POSTGRES_USER=${username}", +"POSTGRES_USER=${postgres_user}", "POSTGRES_PASSWORD=${db_password}", "POSTGRES_DB=plane", "POSTGRES_PORT=5432", "PGDATA=/var/lib/postgresql/data", +"DATABASE_URL=postgresql://${postgres_user}:${db_password}@plane-db/plane", "REDIS_HOST=plane-redis", "REDIS_PORT=6379", "REDIS_URL=redis://plane-redis:6379/", -"MINIO_ROOT_USER=access-key", -"MINIO_ROOT_PASSWORD=${minio_password}", +"RUSTFS_ACCESS_KEY=access-key", +"RUSTFS_SECRET_KEY=${storage_password}", +"RUSTFS_VOLUMES=/data", +"RUSTFS_ADDRESS=0.0.0.0:9000", +"RUSTFS_CONSOLE_ENABLE=false", "AWS_REGION=", -"AWS_ACCESS_KEY_ID=${MINIO_ROOT_USER}", -"AWS_SECRET_ACCESS_KEY=${minio_password}", -"AWS_S3_ENDPOINT_URL=http://plane-minio:9000", +"AWS_ACCESS_KEY_ID=access-key", +"AWS_SECRET_ACCESS_KEY=${storage_password}", +"AWS_S3_ENDPOINT_URL=http://plane-storage:9000", "AWS_S3_BUCKET_NAME=uploads", -"NGINX_PORT=80", "BUCKET_NAME=uploads", "FILE_SIZE_LIMIT=5242880", "RABBITMQ_HOST=plane-mq", "RABBITMQ_PORT=5672", -"RABBITMQ_DEFAULT_USER=rabbitmq_user", +"RABBITMQ_USER=${rabbitmq_user}", +"RABBITMQ_PASSWORD=${rabbitmq_pass}", +"RABBITMQ_VHOST=plane", +"RABBITMQ_DEFAULT_USER=${rabbitmq_user}", "RABBITMQ_DEFAULT_PASS=${rabbitmq_pass}", "RABBITMQ_DEFAULT_VHOST=plane", -"RABBITMQ_VHOST=plane", +"AMQP_URL=amqp://${rabbitmq_user}:${rabbitmq_pass}@plane-mq:5672/plane", "API_BASE_URL=http://api:8000", "DEBUG=0", -"SENTRY_DSN=", -"SENTRY_ENVIRONMENT=production", -"CORS_ALLOWED_ORIGINS=https://${Domain}", +"CORS_ALLOWED_ORIGINS=http://${main_domain}", "GUNICORN_WORKERS=1", "USE_MINIO=1", -"DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@plane-db/plane", "SECRET_KEY=${secret_key}", -"AMQP_URL=amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@plane-mq:5672/plane", "API_KEY_RATE_LIMIT=60/minute", -"MINIO_ENDPOINT_SSL=0" +"MINIO_ENDPOINT_SSL=0", +"SITE_ADDRESS=:80", +"LIVE_SERVER_SECRET_KEY=${live_secret_key}" ] mounts = [] diff --git a/meta.json b/meta.json index 3ae0cb5ef..853823ba9 100644 --- a/meta.json +++ b/meta.json @@ -5028,8 +5028,8 @@ { "id": "plane", "name": "Plane", - "version": "v0.27.1", - "description": "Easy, flexible, open source project management software", + "version": "v1.2.3", + "description": "Open source project management — alternative to Jira, Linear, Asana", "logo": "plane.png", "links": { "github": "https://github.com/makeplane/plane", @@ -5037,7 +5037,8 @@ "docs": "https://docs.plane.so/" }, "tags": [ - "kanban" + "kanban", + "project-management" ] }, { @@ -5952,24 +5953,6 @@ "media" ] }, - { - "id": "strapi", - "name": "Strapi", - "version": "v5.33.0", - "description": "Open-source headless CMS to build powerful APIs with built-in content management.", - "logo": "strapi.svg", - "links": { - "github": "https://github.com/strapi/strapi", - "discord": "https://discord.com/invite/strapi", - "docs": "https://docs.strapi.io", - "website": "https://strapi.io" - }, - "tags": [ - "headless", - "cms", - "content-management" - ] - }, { "id": "supabase", "name": "SupaBase",