63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
# documentation: https://kuzzle.io
|
|
# slogan: Kuzzle is a generic backend offering the basic building blocks common to every application.
|
|
# tags: backend, api, realtime, websocket, mqtt, rest, sdk, iot, geofencing, low-code
|
|
# port: 7512
|
|
|
|
services:
|
|
redis:
|
|
image: redis:7-alpine
|
|
command: redis-server --appendonly yes
|
|
volumes:
|
|
- elastic-redis-data:/data
|
|
healthcheck:
|
|
test: [ "CMD", "redis-cli", "ping" ]
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
elasticsearch:
|
|
image: kuzzleio/elasticsearch:7
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://127.0.0.1:9200" ]
|
|
interval: 2s
|
|
timeout: 2s
|
|
retries: 10
|
|
ulimits:
|
|
nofile: 65536
|
|
|
|
kuzzle:
|
|
image: kuzzleio/kuzzle:latest
|
|
environment:
|
|
- SERVICE_FQDN_KUZZLE_7512
|
|
- kuzzle_services__storageEngine__client__node=http://elasticsearch:9200
|
|
- kuzzle_services__storageEngine__commonMapping__dynamic=true
|
|
- kuzzle_services__internalCache__node__host=redis
|
|
- kuzzle_services__memoryStorage__node__host=redis
|
|
- kuzzle_server__protocols__mqtt__enabled=true
|
|
- kuzzle_server__protocols__mqtt__developmentMode=false
|
|
- kuzzle_limits__loginsPerSecond=50
|
|
- NODE_ENV=production
|
|
# - DEBUG=${DEBUG:-kuzzle:*,-kuzzle:network:protocols:websocket,-kuzzle:events}
|
|
- DEBUG=${DEBUG:-kuzzle:cluster:sync}
|
|
- DEBUG_DEPTH=${DEBUG_DEPTH:-0}
|
|
- DEBUG_MAX_ARRAY_LENGTH=${DEBUG_MAX_ARRAY:-100}
|
|
- DEBUG_EXPAND=${DEBUG_EXPAND:-off}
|
|
- DEBUG_SHOW_HIDDEN={$DEBUG_SHOW_HIDDEN:-on}
|
|
- DEBUG_COLORS=${DEBUG_COLORS:-on}
|
|
cap_add:
|
|
- SYS_PTRACE
|
|
ulimits:
|
|
nofile: 65536
|
|
sysctls:
|
|
- net.core.somaxconn=8192
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://127.0.0.1:7512/_healthcheck" ]
|
|
timeout: 1s
|
|
interval: 2s
|
|
retries: 30
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
elasticsearch:
|
|
condition: service_healthy
|