Dokploy

Velix API

Self-hosted WhatsApp API with multi-instance support, webhooks, n8n node, and Chatwoot integration.

Velix API logo

Configuration

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:
[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}"

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcblxuc2VydmljZXM6XG4gIHZlbGl4LWFwaTpcbiAgICBpbWFnZTogZ2hjci5pby9wYXVsb2xpbmRlci92ZWxpeC1hcGk6MC4xLjBcbiAgICByZXN0YXJ0OiBhbHdheXNcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gREFUQUJBU0VfVVJMPXBvc3RncmVzOi8vcG9zdGdyZXM6JHtEQl9QQVNTV09SRH1AcG9zdGdyZXM6NTQzMi92ZWxpeD9zc2xtb2RlPWRpc2FibGVcbiAgICAgIC0gUkVESVNfVVJMPXJlZGlzOi8vcmVkaXM6NjM3OVxuICAgICAgLSBKV1RfU0VDUkVUPSR7SldUX1NFQ1JFVH1cbiAgICAgIC0gSFRUUF9QT1JUPTgwODBcbiAgICAgIC0gQVBQX0VOVj1wcm9kdWN0aW9uXG4gICAgICAtIExPR19MRVZFTD1pbmZvXG4gICAgICAtIE1FRElBX1NUT1JBR0VfUEFUSD0vZGF0YS9tZWRpYVxuICAgICAgLSBFTkdJTkVfU1RPUkVfUEFUSD0vZGF0YS9pbnN0YW5jZXNcbiAgICAgIC0gRU5HSU5FX0FVVE9fUkVDT05ORUNUPXRydWVcbiAgICAgIC0gRU5HSU5FX01BWF9JTlNUQU5DRVM9MjAwXG4gICAgICAtIFJFR0lTVFJBVElPTl9FTkFCTEVEPWZhbHNlXG4gICAgdm9sdW1lczpcbiAgICAgIC0gdmVsaXgtZGF0YTovZGF0YVxuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHBvc3RncmVzXG4gICAgICAtIHJlZGlzXG5cbiAgcG9zdGdyZXM6XG4gICAgaW1hZ2U6IHBvc3RncmVzOjE2LWFscGluZVxuICAgIHJlc3RhcnQ6IGFsd2F5c1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBQT1NUR1JFU19EQj12ZWxpeFxuICAgICAgLSBQT1NUR1JFU19QQVNTV09SRD0ke0RCX1BBU1NXT1JEfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIHBvc3RncmVzLWRhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhXG5cbiAgcmVkaXM6XG4gICAgaW1hZ2U6IHJlZGlzOjctYWxwaW5lXG4gICAgcmVzdGFydDogYWx3YXlzXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcmVkaXMtZGF0YTovZGF0YVxuXG52b2x1bWVzOlxuICB2ZWxpeC1kYXRhOlxuICBwb3N0Z3Jlcy1kYXRhOlxuICByZWRpcy1kYXRhOlxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbkRCX1BBU1NXT1JEID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5KV1RfU0VDUkVUID0gXCIke3Bhc3N3b3JkOjY0fVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiREJfUEFTU1dPUkQ9JHtEQl9QQVNTV09SRH1cIixcbiAgXCJKV1RfU0VDUkVUPSR7SldUX1NFQ1JFVH1cIixcbl1cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcInZlbGl4LWFwaVwiXG5wb3J0ID0gODA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuIgp9

Tags

whatsapp, api, messaging, chatbot, automation


Version: 0.1.0

On this page