From 3f5b738738b96815b41b1de5c40905824ff2c8b3 Mon Sep 17 00:00:00 2001 From: Paulo Linder <44749833+paulolinder@users.noreply.github.com> Date: Tue, 7 Jul 2026 18:03:20 -0300 Subject: [PATCH] feat: add Velix API one-click template (#793) * feat: add Velix API one-click template Self-hosted WhatsApp API with multi-instance support, webhooks, n8n node, and Chatwoot integration. Includes PostgreSQL 16 and Redis 7. * fix: use standard port integer literal --- blueprints/velix-api/docker-compose.yml | 43 +++++++++++++++++++++++++ blueprints/velix-api/template.toml | 16 +++++++++ blueprints/velix-api/velix-api.svg | 16 +++++++++ meta.json | 18 +++++++++++ 4 files changed, 93 insertions(+) create mode 100644 blueprints/velix-api/docker-compose.yml create mode 100644 blueprints/velix-api/template.toml create mode 100644 blueprints/velix-api/velix-api.svg diff --git a/blueprints/velix-api/docker-compose.yml b/blueprints/velix-api/docker-compose.yml new file mode 100644 index 00000000..f4945ebf --- /dev/null +++ b/blueprints/velix-api/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3.8" + +services: + velix-api: + image: ghcr.io/paulolinder/velix-api:0.1.0 + restart: always + environment: + - DATABASE_URL=postgres://postgres:${DB_PASSWORD}@postgres:5432/velix?sslmode=disable + - REDIS_URL=redis://redis:6379 + - JWT_SECRET=${JWT_SECRET} + - HTTP_PORT=8080 + - APP_ENV=production + - LOG_LEVEL=info + - MEDIA_STORAGE_PATH=/data/media + - ENGINE_STORE_PATH=/data/instances + - ENGINE_AUTO_RECONNECT=true + - ENGINE_MAX_INSTANCES=200 + - REGISTRATION_ENABLED=false + volumes: + - velix-data:/data + depends_on: + - postgres + - redis + + postgres: + image: postgres:16-alpine + restart: always + environment: + - POSTGRES_DB=velix + - POSTGRES_PASSWORD=${DB_PASSWORD} + volumes: + - postgres-data:/var/lib/postgresql/data + + redis: + image: redis:7-alpine + restart: always + volumes: + - redis-data:/data + +volumes: + velix-data: + postgres-data: + redis-data: diff --git a/blueprints/velix-api/template.toml b/blueprints/velix-api/template.toml new file mode 100644 index 00000000..18baf574 --- /dev/null +++ b/blueprints/velix-api/template.toml @@ -0,0 +1,16 @@ +[variables] +main_domain = "${domain}" +DB_PASSWORD = "${password:32}" +JWT_SECRET = "${password:64}" + +[config] +env = [ + "DB_PASSWORD=${DB_PASSWORD}", + "JWT_SECRET=${JWT_SECRET}", +] +mounts = [] + +[[config.domains]] +serviceName = "velix-api" +port = 8080 +host = "${main_domain}" diff --git a/blueprints/velix-api/velix-api.svg b/blueprints/velix-api/velix-api.svg new file mode 100644 index 00000000..86da1f98 --- /dev/null +++ b/blueprints/velix-api/velix-api.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/meta.json b/meta.json index 8be7825d..34250420 100644 --- a/meta.json +++ b/meta.json @@ -6482,6 +6482,24 @@ "open-source" ] }, + { + "id": "velix-api", + "name": "Velix API", + "version": "0.1.0", + "description": "Self-hosted WhatsApp API with multi-instance support, webhooks, n8n node, and Chatwoot integration.", + "logo": "velix-api.svg", + "links": { + "github": "https://github.com/paulolinder/velix-api", + "website": "https://velix.dev" + }, + "tags": [ + "whatsapp", + "api", + "messaging", + "chatbot", + "automation" + ] + }, { "id": "verdaccio", "name": "Verdaccio",