diff --git a/blueprints/plane/docker-compose.yml b/blueprints/plane/docker-compose.yml new file mode 100644 index 00000000..ef0c93d8 --- /dev/null +++ b/blueprints/plane/docker-compose.yml @@ -0,0 +1,166 @@ +services: + plane-redis: + image: valkey/valkey:8.1.0-alpine + restart: unless-stopped + networks: + - dev_env + volumes: + - redisdata:/data + + 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 + + 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 + + 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 + + web: + image: makeplane/plane-space:v0.25.3 + restart: unless-stopped + networks: + - dev_env + volumes: + - webdata:/app/web + depends_on: + - api + - worker + + space: + image: makeplane/plane-space:v0.25.3 + restart: unless-stopped + networks: + - dev_env + volumes: + - space:/app/space + depends_on: + - api + - worker + - web + + admin: + image: makeplane/plane-admin:v0.25.3 + restart: unless-stopped + networks: + - dev_env + volumes: + - admin:/app/admin + depends_on: + - api + - worker + - web + + live: + image: makeplane/plane-live:v0.25.3 + restart: unless-stopped + networks: + - dev_env + volumes: + - ./live:/app/live + depends_on: + - api + - worker + - web + + api: + image: makeplane/plane-backend:v0.25.3 + restart: unless-stopped + networks: + - dev_env + volumes: + - apiserver:/code + command: ./bin/docker-entrypoint-api-local.sh + + depends_on: + - plane-db + - plane-redis + + worker: + image: makeplane/plane-worker:0.11 + restart: unless-stopped + networks: + - dev_env + volumes: + - apiserver:/code + command: ./bin/docker-entrypoint-worker.sh + depends_on: + - api + - plane-db + - plane-redis + + beat-worker: + image: makeplane/plane-worker:0.11 + restart: unless-stopped + networks: + - dev_env + volumes: + - apiserver:/code + command: ./bin/docker-entrypoint-beat.sh + depends_on: + - api + - plane-db + - plane-redis + + migrator: + image: makeplane/plane-worker:0.11 + restart: "no" + networks: + - dev_env + volumes: + - apiserver:/code + command: ./bin/docker-entrypoint-migrator.sh --settings=plane.settings.local + depends_on: + - plane-db + - plane-redis + + +volumes: + redisdata: + driver: local + uploads: + driver: local + pgdata: + driver: local + rabbitmq_data: + driver: local + apiserver: + driver: local + webdata: + driver: local + space: + driver: local + admin: + driver: local + + +networks: + dev_env: + driver: bridge + \ No newline at end of file diff --git a/blueprints/plane/plane.png b/blueprints/plane/plane.png new file mode 100644 index 00000000..3c6a00b4 Binary files /dev/null and b/blueprints/plane/plane.png differ diff --git a/blueprints/plane/template.toml b/blueprints/plane/template.toml new file mode 100644 index 00000000..2985feab --- /dev/null +++ b/blueprints/plane/template.toml @@ -0,0 +1,22 @@ +[variables] +main_domain = "${domain}" + +[config] +env = [ +"Domain=${main_domain}", +"POSTGRES_USER=mmuser", +"POSTGRES_PASSWORD=mmuser_password", +"POSTGRES_DB=mattermost", +"RABBITMQ_DEFAULT_USER=plane", +"RABBITMQ_DEFAULT_PASS=plane", +"RABBITMQ_DEFAULT_VHOST=plane", +"MINIO_ROOT_USER=minioaccesskey", +"MINIO_ROOT_PASSWORD=miniorootpassword", +"TZ=UTC", +] +mounts = [] + +[[config.domains]] +serviceName = "mattermost" +port = 8065 +host = "${main_domain}" diff --git a/meta.json b/meta.json index c3c7567a..79cec75d 100644 --- a/meta.json +++ b/meta.json @@ -745,6 +745,20 @@ "monitoring" ] }, + { + "id": "plane", + "name": "Plane", + "version": "v0.25.3", + "description": "Easy, flexible, open source project management software", + "logo": "plane.png", + "links": { + "github": "https://github.com/makeplane/plane", + "website": "https://plane.so" + }, + "tags": [ + "kanban" + ] + }, { "id": "influxdb", "name": "InfluxDB",