Files
CartoLite-Server/compose.yml

46 lines
1.2 KiB
YAML

name: cartolite-server
services:
cartolite:
image: ${CARTOLITE_IMAGE:-ghcr.io/n30nex/cartolite-server:0.6.3}
restart: unless-stopped
ports:
- "${CARTOLITE_BIND_ADDR:-127.0.0.1}:${CARTOLITE_PORT:-8080}:8080"
environment:
HTTP_ADDR: :8080
MQTT_ENABLED: "true"
MQTT_BROKER_URL: ${MQTT_BROKER_URL:?Set MQTT_BROKER_URL}
MQTT_TOPIC: ${MQTT_TOPIC:-meshcore/#}
MQTT_CLIENT_ID: ${MQTT_CLIENT_ID:-}
MQTT_USERNAME: ${MQTT_USERNAME:-}
MQTT_PASSWORD: ${MQTT_PASSWORD:-}
REGION_ALLOWLIST: ${REGION_ALLOWLIST:-}
MQTT_INGEST_QUEUE_SIZE: ${MQTT_INGEST_QUEUE_SIZE:-4096}
STATE_PATH: ${STATE_PATH:-/data/state-v1.json}
LOG_LEVEL: ${LOG_LEVEL:-info}
BASEMAP_PROVIDER: openfreemap
volumes:
- cartolite-data:/data
read_only: true
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
mem_limit: 256m
pids_limit: 128
stop_grace_period: 20s
healthcheck:
test: ["CMD", "/cartolite", "healthcheck", "http://127.0.0.1:8080/healthz"]
interval: 20s
timeout: 5s
retries: 3
start_period: 15s
logging:
driver: json-file
options:
max-size: 10m
max-file: "3"
volumes:
cartolite-data: