Files
foodlinkk-command-center/docker-compose.yml
T

204 lines
6.0 KiB
YAML
Raw Normal View History

version: '3.8'
services:
redis:
image: redis:7-alpine
container_name: foodlinkk_redis
ports:
- "6379:6379"
restart: unless-stopped
tools-api:
build: ./tools-api
container_name: foodlinkk_tools_api
environment:
DB_HOST: foodlinkk_db
DB_USER: aissa
DB_PASSWORD: Foodlinkk#2026
DB_NAME: foodlinkk
2026-06-09 10:41:13 +00:00
BACKUP_ROOT: /data/backup-root
GITEA_BACKUP_REMOTE: http://sysops:Foodlinkk%23SysOps2026@gitea:3001/aissa/foodlinkk-command-center.git
GITEA_SYSOPS_USER: sysops
GITEA_SYSOPS_EMAIL: sysops@foodlinkk.local
GITEA_SYSOPS_NAME: sysops
GITEA_BACKUP_BRANCH: main
PROXMOX_HOST: 10.4.7.14
VM106_IP: 10.4.7.18
OLLAMA_URL: http://10.4.7.19:11434
OLLAMA_MODEL: qwen3:8b
CHROMA_HOST: 10.4.7.19
CHROMA_PORT: "8000"
DOC_INGEST_URL: http://10.4.7.19:8750
BROWSER_USE_URL: http://browser-agent:7790
BROWSER_AGENT_URL: http://browser-agent:7790
COMFYUI_URL: http://10.4.7.18:8188
SMTP_HOST: ${SMTP_HOST:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USER: ${SMTP_USER:-}
SMTP_PASS: ${SMTP_PASS:-}
SMTP_FROM: ${SMTP_FROM:-}
2026-07-30 09:33:03 +00:00
GOOGLE_MAPS_API_KEY: ${GOOGLE_MAPS_API_KEY:-}
GOOGLE_PLACES_API_KEY: ${GOOGLE_PLACES_API_KEY:-}
ports:
- "8700:8700"
2026-06-09 10:41:13 +00:00
volumes:
- /home/aissa/foodlinkk-command-center:/data/backup-root:ro
extra_hosts:
- "foodlinkk_db:10.4.7.18"
restart: unless-stopped
whisper:
image: fedirz/faster-whisper-server:latest-cpu
container_name: foodlinkk_whisper
environment:
WHISPER__MODEL: Systran/faster-whisper-base
WHISPER__INFERENCE_DEVICE: cpu
ports:
- "8877:8000"
volumes:
- whisper_models:/root/.cache/huggingface
restart: unless-stopped
cockpit:
build: ./cockpit
container_name: foodlinkk_cockpit
environment:
DB_HOST: foodlinkk_db
DB_USER: aissa
DB_PASSWORD: Foodlinkk#2026
DB_NAME: foodlinkk
VNC_CDP_URL: http://10.4.7.18:9223
OLLAMA_URL: http://10.4.7.19:11434
OLLAMA_MODEL: qwen3:8b
TOOLS_API_URL: http://tools-api:8700
CHROMA_HOST: 10.4.7.19
CHROMA_PORT: "8000"
DOC_INGEST_URL: http://10.4.7.19:8750
BROWSER_AGENT_URL: http://browser-agent:7790
COMFYUI_URL: http://10.4.7.18:8188
HERMAN_ORCHESTRATOR_URL: http://10.4.7.19:8090
2026-07-30 09:33:03 +00:00
# OpenRouter — vul later in (.env of Instellingen → AI / LLM)
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
OPENROUTER_MODEL: ${OPENROUTER_MODEL:-deepseek/deepseek-v4-flash}
OPENROUTER_BASE_URL: ${OPENROUTER_BASE_URL:-https://openrouter.ai/api/v1}
HERMAN_LLM_BACKEND: ${HERMAN_LLM_BACKEND:-hermes}
HERMES_API_BASE: ${HERMES_API_BASE:-http://10.4.7.10:8642/v1}
HERMES_API_KEY: ${HERMES_API_KEY:-}
HERMES_API_MODEL: ${HERMES_API_MODEL:-hermes-agent}
HERMES_FEED_URL: ${HERMES_FEED_URL:-http://10.4.7.10:8755}
WHISPER_API_URL: ${WHISPER_API_URL:-http://whisper:8000/v1/audio/transcriptions}
WHISPER_MODEL: ${WHISPER_MODEL:-Systran/faster-whisper-base}
WHISPER_LANGUAGE: ${WHISPER_LANGUAGE:-nl}
HERMES_BUILD_URL: http://10.4.7.27:8798
HERMES_PREVIEW_BASE: http://10.4.7.27:8080
2026-06-09 10:41:13 +00:00
NAS_CLIENTS_ROOT: /data/nas-clients
NAS_SHARE_ROOT: /data/nas-share
NAS_AGENTS_ROOT: /data/nas-share/Agents
NAS_AGENTS_SMB: //10.4.7.11/share/Agents
NAS_AGENTS_UNC: //10.4.7.11/share/Agents
ports:
- "8610:8600"
2026-06-09 10:41:13 +00:00
volumes:
- /home/aissa/nas-clients:/data/nas-clients
- /mnt/synology:/data/nas-share
- ./cockpit/static/uploads:/app/static/uploads
depends_on:
- tools-api
- whisper
extra_hosts:
- "foodlinkk_db:10.4.7.18"
restart: unless-stopped
cockpit-tls:
image: caddy:2-alpine
container_name: foodlinkk_cockpit_tls
depends_on:
- cockpit
ports:
- "8643:8643"
volumes:
- ./cockpit/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- ./cockpit/caddy/certs:/certs:ro
- cockpit_caddy_data:/data
- cockpit_caddy_config:/config
restart: unless-stopped
browser-agent:
build: ./browser-agent
container_name: foodlinkk_browser_agent
environment:
DB_HOST: foodlinkk_db
DB_USER: aissa
DB_PASSWORD: Foodlinkk#2026
DB_NAME: foodlinkk
VNC_CDP_URL: http://10.4.7.18:9223
ports:
- "7790:7790"
extra_hosts:
- "foodlinkk_db:10.4.7.18"
restart: unless-stopped
shm_size: "1gb"
gitea:
image: gitea/gitea:1.21-rootless
container_name: foodlinkk_gitea
environment:
GITEA__database__DB_TYPE: sqlite3
GITEA__server__ROOT_URL: http://10.4.7.18:3001/
GITEA__server__HTTP_PORT: 3001
GITEA__security__INSTALL_LOCK: "true"
GITEA__security__SECRET_KEY: foodlinkk-gitea-secret-2026
GITEA__service__DISABLE_REGISTRATION: "true"
ports:
- "3001:3001"
volumes:
- gitea_data:/var/lib/gitea
restart: unless-stopped
email-agent:
build: ./email-agent
container_name: foodlinkk_email_agent
environment:
DB_HOST: foodlinkk_db
DB_USER: aissa
DB_PASSWORD: Foodlinkk#2026
DB_NAME: foodlinkk
TOOLS_API_URL: http://tools-api:8700
SYNC_INTERVAL_SEC: 300
ports:
- "8801:8801"
depends_on:
- tools-api
extra_hosts:
- "foodlinkk_db:10.4.7.18"
restart: unless-stopped
prometheus:
image: prom/prometheus:v2.53.0
container_name: foodlinkk_prometheus
volumes:
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro
ports:
- "9090:9090"
restart: unless-stopped
grafana:
image: grafana/grafana:11.1.0
container_name: foodlinkk_grafana
environment:
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: Foodlinkk#2026
GF_SERVER_ROOT_URL: http://10.4.7.18:3002
ports:
- "3002:3000"
depends_on:
- prometheus
restart: unless-stopped
volumes:
gitea_data:
cockpit_caddy_data:
cockpit_caddy_config:
whisper_models: