Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions Apps/VelixAPI/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: velix-api

services:
velix-api:
image: ghcr.io/paulolinder/velix-api:0.1.0
restart: unless-stopped
environment:
DATABASE_URL: postgres://postgres@velix-db:5432/velix?sslmode=disable

Check failure

Code scanning / SonarCloud

PostgreSQL database passwords should not be disclosed High

Make sure this PostgreSQL password gets changed and removed from the code. See more on SonarQube Cloud

Check warning

Code scanning / SonarCloud

Credentials should not be hard-coded Medium

Review this hard-coded URL, which may contain a credential. See more on SonarQube Cloud
REDIS_URL: redis://velix-redis:6379
JWT_SECRET: change-me-to-a-random-64-char-secret-key-here-now
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: "true"
ports:
- target: 8080
published: "8080"
protocol: tcp
volumes:
- type: bind
source: /DATA/AppData/velix-api/data
target: /data
depends_on:
- velix-db
- velix-redis
x-casaos:
envs:
- container: JWT_SECRET
description:
en_us: Secret key for JWT token signing (min 32 characters)
- container: ENGINE_MAX_INSTANCES
description:
en_us: Maximum number of WhatsApp instances allowed
- container: REGISTRATION_ENABLED
description:
en_us: Allow new user registration (true/false)
ports:
- container: "8080"
description:
en_us: Admin panel and API port
volumes:
- container: /data
description:
en_us: Media files and WhatsApp instance data

velix-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: velix
POSTGRES_HOST_AUTH_METHOD: trust

Check warning

Code scanning / SonarCloud

Credentials should not be hard-coded Medium

"PASSWORD" detected here, make sure this is not a hard-coded credential. See more on SonarQube Cloud
volumes:
- type: bind
source: /DATA/AppData/velix-api/postgres
target: /var/lib/postgresql/data

velix-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- type: bind
source: /DATA/AppData/velix-api/redis
target: /data

x-casaos:
architectures:
- amd64
- arm64
main: velix-api
author: Paulo Linder
category: Communication
description:
en_us: >-
Velix is a self-hosted WhatsApp API built in Go. Connect multiple WhatsApp
numbers, send and receive messages via REST, get real-time webhooks, and
integrate with n8n and Chatwoot. Features a web admin panel with QR code
pairing and per-instance API keys.
developer: Paulo Linder
icon: https://raw.githubusercontent.com/paulolinder/velix-api/master/internal/ui/web/admin/dist/velix-logo.svg
tagline:
en_us: Self-hosted WhatsApp API with multi-instance support
thumbnail: ""
title:
en_us: Velix API
port_map: "8080"
scheme: http
store_app_id: velix-api
is_uncontrolled: false
Loading