diff --git a/.env.example b/.env.example index a44f213..0ffe4b9 100644 --- a/.env.example +++ b/.env.example @@ -10,3 +10,11 @@ VLM_CORE_NUM=3 VLM_MAX_NEW_TOKENS=256 VLM_MAX_CONTEXT_LEN=4096 VLM_TIMEOUT_SEC=300 + +OPEN_WEBUI_IMAGE=ghcr.io/open-webui/open-webui:main +OPEN_WEBUI_PORT=3000 +OPEN_WEBUI_NODE_HOSTNAME=tpi-n2 +OPEN_WEBUI_NAME=Swarm AI +OPEN_WEBUI_SECRET_KEY=change-me-to-a-long-random-secret +OPEN_WEBUI_URL= +OPEN_WEBUI_ENABLE_SIGNUP=true diff --git a/stack.yml b/stack.yml index cff54f4..c1d189f 100644 --- a/stack.yml +++ b/stack.yml @@ -47,11 +47,37 @@ services: networks: - dokploy-network + open-webui: + image: ${OPEN_WEBUI_IMAGE:-ghcr.io/open-webui/open-webui:main} + ports: + - target: 8080 + published: ${OPEN_WEBUI_PORT:-3000} + protocol: tcp + mode: host + environment: + WEBUI_NAME: ${OPEN_WEBUI_NAME:-Swarm AI} + WEBUI_SECRET_KEY: ${OPEN_WEBUI_SECRET_KEY:?set OPEN_WEBUI_SECRET_KEY} + WEBUI_URL: ${OPEN_WEBUI_URL:-} + ENABLE_SIGNUP: ${OPEN_WEBUI_ENABLE_SIGNUP:-true} + volumes: + - open-webui-data:/app/backend/data + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == ${OPEN_WEBUI_NODE_HOSTNAME:-tpi-n2} + restart_policy: + condition: on-failure + networks: + - dokploy-network + volumes: whisper-models: name: whisper-models rkllm-root: name: rkllm-root + open-webui-data: + name: open-webui-data networks: dokploy-network: