version: "3" networks: proxy: external: name: proxy volumes: db: services: postgresql: image: postgres env_file: - postgresql volumes: - db:/var/lib/postgresql/data rabbitmq: image: rabbitmq:3.11.5 networks: - default - proxy env_file: - rabbitmq message_receiver: image: twitchbot/message_receveiver build: context: message_receiver environment: RABBITMQ_HOST: rabbitmq RABBITMQ_QUEUE: raw_messages env_file: - rabbitmq - twitch depends_on: - rabbitmq tetris: &tetris image: twichbot/tetris build: context: tetris volumes: - ./tetris:/app environment: RABBITMQ_HOST: rabbitmq RABBITMQ_QUEUE_MESSAGES: raw_messages RABBITMQ_EXCHANGE_TETRIS: tetris env_file: - rabbitmq depends_on: - rabbitmq - message_receiver tetris-api: <<: *tetris command: uvicorn tetris.web:app --reload --host=0.0.0.0 environment: VIRTUAL_HOST: tetris.de-codeur.com LETSENCRYPT_HOST: tetris.de-codeur.com VIRTUAL_PORT: 8000 RABBITMQ_HOST: rabbitmq RABBITMQ_QUEUE_MESSAGES: raw_messages RABBITMQ_EXCHANGE_TETRIS: tetris RABBITMQ_QUEUE_TETRIS_UI: tetris-ui ports: - 8000:8000 networks: - default - proxy