version: "2.1" services: # override web app to use the mirror swh-web: environment: SWH_CONFIG_FILENAME: /web-mirror.yml volumes: - "./conf/web-mirror.yml:/web-mirror.yml:ro" # create a dedicated db for the mirror swh-storage-mirror-db: image: postgres:12 env_file: - ./env/storage-db-mirror.env environment: # unset PGHOST as db service crashes otherwise PGHOST: # unset POSTGRES_DB: we're handling db creation ourselves in the backend # service entrypoint POSTGRES_DB: # and an RPC server swh-storage-mirror: image: swh/stack build: ./ depends_on: - swh-storage-mirror-db - swh-objstorage env_file: - ./env/storage-db-mirror.env environment: SWH_CONFIG_FILENAME: /storage-mirror.yml entrypoint: /entrypoint.sh volumes: - "./conf/storage-mirror.yml:/storage-mirror.yml:ro" - "./services/swh-storage/entrypoint.sh:/entrypoint.sh:ro" # and the background process that keeps the mirror in sync with the # main graph swh-storage-mirror-replayer: image: swh/stack build: ./ depends_on: - swh-storage-mirror-db - swh-objstorage env_file: - ./env/storage-db-mirror.env environment: SWH_CONFIG_FILENAME: /storage-mirror.yml entrypoint: /entrypoint.sh volumes: - "./conf/storage-mirror.yml:/storage-mirror.yml:ro" - "./services/swh-storage-replayer/entrypoint.sh:/entrypoint.sh:ro" swh-journal-backfiller: image: swh/stack build: ./ entrypoint: /entrypoint.sh environment: SWH_CONFIG_FILENAME: /storage-mirror-backfiller.yml env_file: - ./env/storage-db.env depends_on: - swh-storage-db - kafka volumes: - "./conf/storage-mirror-backfiller.yml:/storage-mirror-backfiller.yml:ro" - "./services/swh-journal-backfiller/entrypoint.sh:/entrypoint.sh:ro"