version: "3" services: nocr-telegram-client: container_name: nocr-telegram-client image: nocr-telegram-client:latest build: context: telegram-client dockerfile: src/Nocr.TelegramClient.Host/Dockerfile ports: - 4999:8080 environment: ASPNETCORE_ENVIRONMENT: Production depends_on: nocr-rabbitmq: condition: service_healthy nocr-users: condition: service_healthy nocr-text-matcher: condition: service_healthy nocr-telegram-listener: condition: service_healthy nocr-text-matcher: container_name: nocr-text-matcher image: nocr-text-matcher:latest build: context: text-matcher dockerfile: src/Nocr.TextMatcher.Host/Dockerfile ports: - 5001:8080 environment: ASPNETCORE_ENVIRONMENT: DockerCompose depends_on: nocr-rabbitmq: condition: service_healthy nocr-text-matcher-db: condition: service_healthy nocr-text-matcher-migrator: condition: service_completed_successfully nocr-text-matcher-migrator: build: context: text-matcher dockerfile: src/Nocr.TextMatcher.Migrator/Dockerfile image: nocr-text-matcher-migrations:latest container_name: nocr-text-matcher-migrator environment: DOTNET_ENVIRONMENT: DockerCompose depends_on: nocr-text-matcher-db: condition: service_healthy nocr-telegram-listener: container_name: nocr-telegram-listener image: nocr-telegram-listener:latest build: context: telegram-listener dockerfile: src/Nocr.TelegramListener.Host/Dockerfile ports: - 5000:8080 environment: ASPNETCORE_ENVIRONMENT: DockerCompose session_pathname: '/app/WTelegram.session' volumes: - ./WTelegram.session:/app/WTelegram.session depends_on: nocr-rabbitmq: condition: service_healthy nocr-users: container_name: nocr-users image: nocr-users:latest build: context: users dockerfile: src/Nocr.Users.Host/Dockerfile ports: - 4998:8080 environment: ASPNETCORE_ENVIRONMENT: DockerCompose depends_on: nocr-rabbitmq: condition: service_healthy nocr-users-migrator: condition: service_completed_successfully nocr-users-migrator: build: context: users dockerfile: src/Nocr.Users.Migrator/Dockerfile image: nocr-users-migrator:latest container_name: nocr-users-migrator environment: DOTNET_ENVIRONMENT: DockerCompose depends_on: nocr-users-db: condition: service_healthy nocr-text-matcher-db: container_name: nocr-text-matcher-db image: mariadb:latest restart: always ports: - 3306:3306 environment: MARIADB_ROOT_PASSWORD: toor MARIADB_DATABASE: nocr_text_matcher healthcheck: test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] interval: 5s timeout: 10s retries: 3 nocr-users-db: container_name: nocr-users-db image: mariadb:latest restart: always ports: - 3307:3306 environment: MARIADB_ROOT_PASSWORD: toor MARIADB_DATABASE: nocr_users healthcheck: test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] interval: 5s timeout: 10s retries: 3 nocr-rabbitmq: image: rabbitmq:3-management-alpine container_name: nocr-rabbitmq ports: - 5672:5672 - 15672:15672 environment: RABBITMQ_DEFAULT_USER: admin RABBITMQ_DEFAULT_PASS: admin healthcheck: test: rabbitmq-diagnostics -q ping interval: 5s timeout: 10s retries: 3