# InfoXtractor Docker Compose stack. # # Single service. Uses host networking so the container can reach: # - Ollama at 127.0.0.1:11434 # - postgis at 127.0.0.1:5431 (bound to loopback only; security hardening) # Both services are LAN-hardened on the host and never exposed publicly, # so host-network access stays on-prem. This matches the `goldstein` # container pattern on the same server. # # The GPU reservation block matches immich-ml / the shape Docker Compose # expects for GPU allocation on this host. services: infoxtractor: build: . container_name: infoxtractor network_mode: host restart: always env_file: .env deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] volumes: # Persist Surya (datalab) + HuggingFace model caches so rebuilds don't # re-download ~1.5 GB of weights every time. - ix_surya_cache:/root/.cache/datalab - ix_hf_cache:/root/.cache/huggingface labels: infrastructure.web_url: "http://192.168.68.42:8994" backup.enable: "true" backup.type: "postgres" backup.name: "infoxtractor" volumes: ix_surya_cache: ix_hf_cache: