diff --git a/blueprints/flowise/docker-compose.yml b/blueprints/flowise/docker-compose.yml new file mode 100644 index 00000000..e5f35e3b --- /dev/null +++ b/blueprints/flowise/docker-compose.yml @@ -0,0 +1,56 @@ +version: "3.8" + +services: + redis: + image: redis:alpine + restart: always + volumes: + - redis_data:/data + + flowise: + image: flowiseai/flowise:latest + restart: always + expose: + - 3000 + volumes: + - flowise_data:/root/.flowise + environment: + PORT: 3000 + DATABASE_PATH: /root/.flowise + REDIS_URL: redis://redis:6379 + JWT_AUTH_TOKEN_SECRET: ${JWT_AUTH_TOKEN_SECRET} + JWT_REFRESH_TOKEN_SECRET: ${JWT_REFRESH_TOKEN_SECRET} + EXPRESS_SESSION_SECRET: ${EXPRESS_SESSION_SECRET} + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000/api/v1/ping"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + entrypoint: /bin/sh -c "sleep 3; flowise start" + depends_on: + - redis + + flowise-worker: + image: flowiseai/flowise-worker:latest + restart: always + volumes: + - flowise_data:/root/.flowise + environment: + WORKER_PORT: 5566 + DATABASE_PATH: /root/.flowise + REDIS_URL: redis://redis:6379 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:5566/healthz"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + entrypoint: /bin/sh -c "node /app/healthcheck/healthcheck.js & sleep 5 && pnpm run start-worker" + depends_on: + - redis + - flowise + +volumes: + redis_data: + flowise_data: diff --git a/blueprints/flowise/image.png b/blueprints/flowise/image.png new file mode 100644 index 00000000..f26496b9 Binary files /dev/null and b/blueprints/flowise/image.png differ diff --git a/blueprints/flowise/template.toml b/blueprints/flowise/template.toml new file mode 100644 index 00000000..56986cd3 --- /dev/null +++ b/blueprints/flowise/template.toml @@ -0,0 +1,24 @@ +[variables] +main_domain = "${domain}" +jwt_secret = "${password:32}" +jwt_refresh_secret = "${password:32}" +express_secret = "${password:32}" + +[config] +[[config.domains]] +serviceName = "flowise" +port = 3000 +host = "${main_domain}" + +[config.env] +JWT_AUTH_TOKEN_SECRET = "${jwt_secret}" +JWT_REFRESH_TOKEN_SECRET = "${jwt_refresh_secret}" +EXPRESS_SESSION_SECRET = "${express_secret}" + +[[config.mounts]] +name = "flowise_data" +mountPath = "/root/.flowise" + +[[config.mounts]] +name = "redis_data" +mountPath = "/data" diff --git a/meta.json b/meta.json index 9a6b8490..835b8546 100644 --- a/meta.json +++ b/meta.json @@ -1986,6 +1986,24 @@ "ddos-guard" ] }, + { + "id": "flowise", + "name": "Flowise", + "version": "latest", + "description": "Flowise is an open-source UI visual tool to build and run LLM-powered applications.", + "logo": "image.png", + "links": { + "github": "https://github.com/FlowiseAI/Flowise", + "website": "https://flowiseai.com/", + "docs": "https://docs.flowiseai.com/" + }, + "tags": [ + "AI", + "LLM", + "workflow", + "automation" + ] + }, { "id": "focalboard", "name": "Focalboard",