services: mrvastore-init: image: minio/mc container_name: mrvastore-init depends_on: - mrvastore networks: - backend env_file: .env.container # entrypoint: ["tail", "-f", "/dev/null"] entrypoint: > /bin/sh -c " set -e; until mc alias set local http://mrvastore:9000 $${MINIO_ROOT_USER} $${MINIO_ROOT_PASSWORD}; do echo 'Waiting for MinIO...'; sleep 1; done; mc mb -p local/mrvabucket; " mrvastore: image: minio/minio:RELEASE.2024-06-11T03-13-30Z container_name: mrvastore hostname: mrvastore ports: - "9000:9000" - "9001:9001" env_file: .env.container command: server /data/mrvacommander/mrvastore-data --console-address ":9001" networks: backend: aliases: - minio.store - mrvabucket.minio.store - packs.minio.store - qldb.minio.store - results.minio.store client-ghmrva: # ./containers/ghmrva/Dockerfile container_name: mrva-ghmrva image: mrva-gh-mrva:0.4.5 network_mode: "service:server" # Share the 'server' network namespace environment: - SERVER_URL=http://localhost:8080 # 'localhost' now refers to 'server' - MRVA_SERVER_URL=http://server:8080 code-server: # ./containers/vscode/Dockerfile container_name: mrva-code-server image: code-server-initialized:0.4.5 ports: - "9080:9080" # XX: Include codeql binary in code-server (if it's not there already) networks: - backend environment: - PASSWORD=mrva hepc: # ./containers/hepc/Dockerfile image: mrva-hepc-container:0.4.5 container_name: mrva-hepc hostname: hepc command: >- mc-hepc-serve --codeql-db-dir db-collection.tmp --host "0.0.0.0" --port "8070" networks: - backend environment: - MRVA_HEPC_ENDPOINT=http://hepc:8070 rabbitmq: image: rabbitmq:3-management hostname: rabbitmq container_name: mrva-rabbitmq volumes: - ./init/rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro - ./init/rabbitmq/definitions.json:/etc/rabbitmq/definitions.json:ro ports: - "5672:5672" - "15672:15672" healthcheck: test: rabbitmq-diagnostics check_port_connectivity interval: 30s timeout: 30s retries: 10 networks: - backend server: # ./containers/server/Dockerfile image: mrva-server:0.4.5 command: [ '--mode=container', '--loglevel=debug' ] container_name: mrva-server hostname: server stop_grace_period: 1s depends_on: - rabbitmq - mrvastore - postgres env_file: ./.env.container environment: POSTGRES_USER: mrva POSTGRES_PASSWORD: mrvapg POSTGRES_DB: mrvadb POSTGRES_HOST: postgres POSTGRES_PORT: 5432 MRVA_HEPC_ENDPOINT: http://hepc:8070 MRVA_HEPC_CACHE_DURATION: "60" SERVER_HOST: server SERVER_PORT: "8080" networks: - backend postgres: image: postgres:15 container_name: mrva-postgres restart: unless-stopped environment: POSTGRES_USER: mrva POSTGRES_PASSWORD: mrvapg POSTGRES_DB: mrvadb volumes: - pgdata:/var/lib/postgresql/data networks: - backend agent: # ./containers/agent/Dockerfile image: mrva-agent:0.4.5 command: [ '--loglevel=debug' ] container_name: mrva-agent hostname: agent depends_on: - rabbitmq - mrvastore env_file: ./.env.container environment: - MRVA_HEPC_ENDPOINT=http://hepc:8070 - MRVA_HEPC_CACHE_DURATION=60 networks: - backend networks: backend: driver: bridge volumes: pgdata: