diff --git a/ai/compose.yml b/ai/compose.yml index aca3347..1db7831 100644 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -54,6 +54,10 @@ services: - TZ=America/Montreal volumes: - /mnt/HoardingCow_docker_data/Hermes/data:/opt/data + # Syncthing-shared org files — read-only view of user's agenda + - /mnt/HoardingCow_docker_data/Syncthing/telos-ro:/opt/data/telos-ro:ro + # Syncthing-shared inbox — write tasks here, they sync to user's laptop + - /mnt/HoardingCow_docker_data/Syncthing/telos-rw:/opt/data/telos-rw:rw devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri @@ -63,6 +67,35 @@ services: networks: - ai_backend + syncthing: + image: syncthing/syncthing:latest + container_name: syncthing + hostname: syncthing + restart: always + ports: + - "8384:8384" + - "22000:22000" + - "21027:21027/udp" + environment: + - TZ=America/Montreal + volumes: + - /mnt/HoardingCow_docker_data/Syncthing/config:/var/syncthing/config + - /mnt/HoardingCow_docker_data/Syncthing/telos-ro:/telos-ro + - /mnt/HoardingCow_docker_data/Syncthing/telos-rw:/telos-rw + networks: + - ai_backend + - ai_net + labels: + - "traefik.enable=true" + - "traefik.http.routers.syncthing-http.rule=Host(`syncthing.lazyworkhorse.net`)" + - "traefik.http.routers.syncthing-http.entrypoints=web" + - "traefik.http.routers.syncthing-http.middlewares=redirect-to-https" + - "traefik.http.routers.syncthing-https.rule=Host(`syncthing.lazyworkhorse.net`)" + - "traefik.http.routers.syncthing-https.entrypoints=websecure" + - "traefik.http.routers.syncthing-https.tls=true" + - "traefik.http.routers.syncthing-https.tls.certresolver=njalla" + - "traefik.http.services.syncthing.loadbalancer.server.port=8384" + ollama: build: context: ./ollama