version: '3.8' services: litellm: image: ghcr.io/berriai/litellm:latest container_name: litellm-proxy restart: always environment: - LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY:-sk-1234} volumes: - ./litellm-config.yaml:/home/litellm/config.yaml:ro networks: - ai-network command: python -m litellm.proxy.proxy --config /home/litellm/config.yaml --port 4000 openwebui: image: ghcr.io/open-webui/open-webui:latest container_name: openwebui restart: always environment: - OPENAI_API_KEY=${LITELLM_MASTER_KEY:-sk-1234} - OPENAI_API_BASE=http://litellm:4000/v1 - WEBUI_AUTH=False networks: - ai-network nginx: image: nginx:alpine container_name: nginx-proxy restart: always ports: # NAS 本机 80/443 已被其他服务占用,改用 8443 # 甲骨文 frp 隧道(frpc.toml [[proxies]] name=nexusai)将公网专属端口 3210 转发到 NAS 的 8443 - "8443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./certs:/etc/nginx/certs:ro depends_on: - openwebui networks: - ai-network networks: ai-network: driver: bridge