services:
  redis:
    image: redis:8
    restart: unless-stopped
    volumes:
      - redis_data:/data
    healthcheck:
      test:
        - CMD
        - redis-cli
        - ping
      interval: 10s
      timeout: 5s
      retries: 5
  guacd:
    image: docker.io/guacamole/guacd:1.6.0
    restart: unless-stopped
    ports:
      - 4822:4822
  server:
    image: gitea.hostxtra.co.uk/mrhid6/vantage/server:latest
    restart: unless-stopped
    ports:
      - 8080:8080
      - 9090:9090
    environment:
      MONGO_URI: ${MONGO_URI:-}
      REDIS_ADDR: redis:6379
      GITEA_HOST: ${GITEA_HOST}
      GRPC_HOST: ${GRPC_HOST}
      GRPC_PORT: "9090"
      HTTP_PORT: "8080"
      KEY_ENCRYPTION_KEY: ${KEY_ENCRYPTION_KEY:-}
      VANTAGE_WORKFLOW_LOG_DIR: ${VANTAGE_WORKFLOW_LOG_DIR:-}
      GUACD_ADDR: guacd:4822
    depends_on:
      redis:
        condition: service_healthy
    volumes:
      - ./data:/data
  web:
    image: gitea.hostxtra.co.uk/mrhid6/vantage/web:latest
    restart: unless-stopped
    ports:
      - 3000:3000
    depends_on:
      - server
volumes:
  mongo_data: null
  redis_data: null
networks: {}
