--- services: mnemory: image: genunix/mnemory:${MNEMORY_VERSION} restart: unless-stopped depends_on: qdrant: condition: service_healthy environment: - DATA_DIR=/data - MCP_HOST=0.0.0.0 - MCP_PORT=8050 - MGMT_HOST=127.0.0.1 - MGMT_PORT=9090 - MCP_API_KEY=${MCP_API_KEY} - SERVER_BASE_URL=${SERVER_BASE_URL} - INSTRUCTION_MODE=${INSTRUCTION_MODE} - ENABLE_METRICS=${ENABLE_METRICS} - ENABLE_DELETE_ALL=${ENABLE_DELETE_ALL} - LOG_LEVEL=${LOG_LEVEL} - DEFAULT_TIMEZONE=${TIMEZONE} - LLM_API_KEY=${LLM_API_KEY} - LLM_BASE_URL=${LLM_BASE_URL} - LLM_MODEL=${LLM_MODEL} - EMBED_API_KEY=${EMBED_API_KEY} - EMBED_BASE_URL=${EMBED_BASE_URL} - EMBED_MODEL=${EMBED_MODEL} - EMBED_DIMS=${EMBED_DIMS} - QDRANT_HOST=qdrant - QDRANT_PORT=6333 - QDRANT_API_KEY=${QDRANT_API_KEY} - QDRANT_COLLECTION=${QDRANT_COLLECTION} - ARTIFACT_BACKEND=filesystem - ARTIFACT_PATH=/data/artifacts - SESSION_BACKEND=sqlite - SESSION_PATH=/data/sessions.db - FSCK_AUTO_INTERVAL=${FSCK_AUTO_INTERVAL} healthcheck: test: ["CMD", "httpx", "http://127.0.0.1:9090/health"] interval: 30s timeout: 5s start_period: 20s retries: 3 labels: ### Section Træfik - traefik.enable=${TRAEFIK_ENABLED} - traefik.docker.network=${TRAEFIK_NETWORK} ## HTTP - traefik.http.routers.http-${TRAEFIK_ROUTER}.entrypoints=http # redirect to HTTPS only - traefik.http.routers.http-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_HTTP_MIDDLEWARES} - traefik.http.routers.http-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE} ## HTTPS - traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https # configure the exposed service - traefik.http.routers.https-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_HTTPS_MIDDLEWARES} - traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE} # enable TLS and its certificate provider - traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=${TRAEFIK_TLSENABLED} - traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=${TRAEFIK_CERTRESOLVER} # specify a service so a custom port can be used - traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=${TRAEFIK_SERVICE_PORT} networks: - internal - traefik volumes: - ${MNEMORY_DATA}:/data qdrant: image: qdrant/qdrant:${QDRANT_VERSION} restart: unless-stopped environment: - QDRANT__SERVICE__API_KEY=${QDRANT_API_KEY} healthcheck: test: ["CMD", "bash", "-c", ":> /dev/tcp/127.0.0.1/6333"] interval: 10s timeout: 3s start_period: 10s retries: 5 networks: - internal volumes: - ${QDRANT_DATA}:/qdrant/storage networks: internal: traefik: external: true name: ${TRAEFIK_NETWORK}