version: '3.9' name: teacinema services: postgres: container_name: teacinema-postgres image: postgres:15-alpine environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} ports: - "${POSTGRES_PORT}:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro networks: - teacinema redis: container_name: teacinema-redis image: redis:6.2 command: redis-server --requirepass ${REDIS_PASSWORD} ports: - "${REDIS_PORT}:6379" volumes: - redis_data:/data networks: - teacinema rabbitmq: container_name: teacinema-rabbitmq image: rabbitmq:3-management ports: - "${RABBITMQ_PORT}:5672" - "${RABBITMQ_MANAGEMENT_PORT}:15672" environment: RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER} RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS} volumes: - rabbitmq_data:/var/lib/rabbitmq networks: - teacinema volumes: postgres_data: redis_data: rabbitmq_data: networks: teacinema: external: true