version: "3.9" services: # Neo4j is turned down for now since we are currently only using the in memory backend # neo4j: # image: "neo4j:4.4.9-community" # environment: # NEO4J_AUTH: "neo4j/s3cr3t" # NEO4J_apoc_export_file_enabled: true # NEO4J_apoc_import_file_enabled: true # NEO4J_apoc_import_file_use__neo4j__config: true # NEO4JLABS_PLUGINS: '["apoc"]' # ports: # - "7474:7474" # - "7687:7687" # restart: on-failure postgres: image: postgres:15 environment: POSTGRES_USER: guac POSTGRES_PASSWORD: guac POSTGRES_HOST_AUTH_METHOD: trust networks: [frontend] ports: - "5432:5432" volumes: - ./container_files/pg:/var/lib/postgresql/data nats: networks: [frontend] image: "docker.io/library/nats:2.9.17-alpine" command: "--config /config/nats/js.conf -m 8222" ports: - "4222:4222" # monitoring port - "8222:8222" volumes: - ./container_files/nats:/config/nats:z restart: on-failure healthcheck: test: ["CMD", "wget", "--spider", "http://localhost:8222/healthz"] interval: 10s timeout: 10s retries: 3 start_period: 5s guac-collectsub: networks: [frontend] image: $GUAC_IMAGE command: "/opt/guac/guaccsub" working_dir: /guac restart: on-failure ports: - "2782:2782" depends_on: nats: condition: service_healthy volumes: - ./container_files/guac:/guac:z healthcheck: test: ["CMD", "wget", "--spider", "http://localhost:2782"] interval: 10s timeout: 10s retries: 3 start_period: 5s guac-graphql: networks: [frontend] image: $GUAC_IMAGE command: "/opt/guac/guacgql" working_dir: /guac restart: on-failure depends_on: nats: condition: service_healthy ports: - "$GUAC_API_PORT:8080" volumes: - ./container_files/guac:/guac:z healthcheck: test: ["CMD", "wget", "--spider", "http://localhost:8080"] interval: 10s timeout: 10s retries: 3 start_period: 5s guac-ingestor: networks: [frontend] image: $GUAC_IMAGE command: "/opt/guac/guacingest" working_dir: /guac restart: on-failure depends_on: guac-collectsub: condition: service_healthy guac-graphql: condition: service_healthy volumes: - ./container_files/guac:/guac:z oci-collector: networks: [frontend] image: $GUAC_IMAGE command: "/opt/guac/guaccollect image" working_dir: /guac restart: on-failure depends_on: guac-collectsub: condition: service_healthy guac-graphql: condition: service_healthy volumes: - ./container_files/guac:/guac:z depsdev-collector: networks: [frontend] image: $GUAC_IMAGE command: "/opt/guac/guaccollect deps_dev" working_dir: /guac restart: on-failure environment: - DEPS_DEV_APIKEY depends_on: guac-collectsub: condition: service_healthy guac-graphql: condition: service_healthy volumes: - ./container_files/guac:/guac:z osv-certifier: networks: [frontend] image: $GUAC_IMAGE command: "/opt/guac/guacone certifier osv" working_dir: /guac restart: on-failure depends_on: guac-collectsub: condition: service_healthy guac-graphql: condition: service_healthy volumes: - ./container_files/guac:/guac:z networks: frontend: driver: bridge