# Coolify Docker Compose deployment for MeshChatX. # https://coolify.io/docs/knowledge-base/docker/compose # # Assign a domain in Coolify with container port 8000, for example: # https://meshchatx.example.com:8000 # The :8000 suffix is the container port for the proxy, not the public URL port. # # Coolify terminates TLS at the proxy. Plain HTTP inside the container # (MESHCHAT_NO_HTTPS=1) avoids a self-signed HTTPS backend. Do not add host # ports unless you intend to bypass the proxy. services: meshchatx: image: ${MESHCHAT_IMAGE:-quad4io/meshchatx:latest} restart: unless-stopped init: true user: "1000:1000" security_opt: - no-new-privileges:true cap_drop: - ALL read_only: true tmpfs: - /tmp:noexec,nosuid,size=256m - /home/meshchat:nosuid,size=64m environment: - SERVICE_URL_MESHCHATX_8000 - MESHCHAT_HOST=${MESHCHAT_HOST:-0.0.0.0} - MESHCHAT_PORT=${MESHCHAT_PORT:-8000} - MESHCHAT_NO_HTTPS=${MESHCHAT_NO_HTTPS:-1} - MESHCHAT_AUTH=${MESHCHAT_AUTH:-1} - MESHCHAT_HEADLESS=${MESHCHAT_HEADLESS:-1} volumes: - meshchatx-config:/config healthcheck: test: [ "CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/status')", ] interval: 30s timeout: 5s retries: 3 start_period: 90s cpus: 2.0 mem_limit: 1g mem_reservation: 256m pids_limit: 512 volumes: meshchatx-config: