| # docker-compose.yml | |
| services: | |
| api: | |
| image: kai-api | |
| ports: | |
| - "8000:8000" | |
| command: uvicorn main:app --host 0.0.0.0 | |
| n8n: | |
| image: n8nio/n8n:1.101.1 | |
| ports: | |
| - "5678:5678" | |
| depends_on: | |
| - api | |
| environment: | |
| - N8N_SECURE_COOKIE=false | |
| - N8N_PROTOCOL=http | |
| - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false | |
| - DB_POSTGRESDB_PASSWORD=dbpass | |
| - N8N_OWNER_EMAIL=[email protected] | |
| - N8N_OWNER_PASSWORD=yourStrongPassword | |
| - N8N_ENCRYPTION_KEY=yourEncryptionKey | |
| openweb: | |
| image: ghcr.io/open-webui/open-webui:main | |
| container_name: open-webui | |
| ports: | |
| - "3000:8080" | |
| volumes: | |
| - openwebui_data:/app/backend/data | |
| environment: | |
| # Disable multi-user login (optional) | |
| - WEBUI_AUTH=False | |
| # If you want Open WebUI to hit your FastAPI or n8n endpoints, | |
| # you can point it here, e.g.: | |
| # - API_BASE_URL=http://fastapi:8000 | |
| depends_on: | |
| - api | |
| - n8n | |
| volumes: | |
| openwebui_data: | |
| networks: | |
| default: | |
| driver: bridge |