It's simple. You should use the service_completed_successfully condition, as in the snippet below:
version: '3.1' services: data_generator: image: waitingforcode/data-generator-blogging-platform:0.2-beta depends_on: init-kafka: condition: service_completed_successfully volumes: - ./generation_configuration.yaml:/home/data_generator_user/generation_configuration.yaml entrypoint: - python3 - /home/data_generator_user/data_generator/generate_dataset.py - --config_file - /home/data_generator_user/generation_configuration.yaml kafka: image: 'bitnami/kafka:3.5' container_name: kafka_broker # ... init-kafka: image: bitnami/kafka:3.5 container_name: kafka_topics_creator depends_on: kafka: condition: service_healthy entrypoint: [ '/bin/sh', '-c' ] command: | " # blocks until kafka is reachable kafka-topics.sh --bootstrap-server kafka:9092 --list echo -e 'Creating Kafka topics' kafka-topics.sh --bootstrap-server kafka:9092 --create --if-not-exists --topic visits --replication-factor 1 --partitions 2 kafka-topics.sh --bootstrap-server kafka:9092 --create --if-not-exists --topic visits_reduced --replication-factor 1 --partitions 2 kafka-topics.sh --bootstrap-server kafka:9092 --create --if-not-exists --topic visits_dlq --replication-factor 1 --partitions 2 echo -e 'Successfully created the following topics:' kafka-topics.sh --bootstrap-server kafka:9092 --list "