services: mirofish: build: . # Or use pre-built image (when available): # image: ghcr.io/nikmcfly/mirofish-offline:latest container_name: mirofish-offline env_file: - .env ports: - "3000:3000" - "5001:5001" restart: unless-stopped volumes: - ./backend/uploads:/app/backend/uploads depends_on: neo4j: condition: service_healthy ollama: condition: service_started neo4j: image: neo4j:5.15-community container_name: mirofish-neo4j ports: - "7474:7474" # Neo4j Browser - "7687:7687" # Bolt protocol environment: - NEO4J_AUTH=${NEO4J_USER:-neo4j}/${NEO4J_PASSWORD:-mirofish} - NEO4J_PLUGINS=["apoc"] - NEO4J_server_memory_heap_initial__size=512m - NEO4J_server_memory_heap_max__size=2g volumes: - neo4j_data:/data - neo4j_logs:/logs restart: unless-stopped healthcheck: test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:7474 || exit 1"] interval: 10s timeout: 5s retries: 10 start_period: 30s ollama: image: ollama/ollama:latest container_name: mirofish-ollama ports: - "11434:11434" volumes: - ollama_data:/root/.ollama restart: unless-stopped deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] volumes: neo4j_data: neo4j_logs: ollama_data: