TelegramSteamBot / docker-compose.yml
mrpoddaa's picture
Upload 13 files
18b952c verified
version: '3.8'
services:
# MongoDB service
mongodb:
image: mongo:7.0
container_name: telegram_streamer_mongodb
restart: unless-stopped
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password123
MONGO_INITDB_DATABASE: telegram_streamer
volumes:
- mongodb_data:/data/db
networks:
- streamer_network
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 5s
retries: 5
# Telegram Streamer application
app:
build: .
container_name: telegram_streamer_app
restart: unless-stopped
ports:
- "8000:8000"
environment:
# Telegram API (REPLACE WITH YOUR VALUES)
API_ID: ${API_ID}
API_HASH: ${API_HASH}
BOT_TOKEN: ${BOT_TOKEN}
# MongoDB connection
MONGO_URI: mongodb://admin:password123@mongodb:27017/telegram_streamer?authSource=admin
MONGO_DATABASE: telegram_streamer
# Optional: Session strings for multi-session load balancing
SESSION_STRINGS: ${SESSION_STRINGS:-}
# Logging
LOG_LEVEL: INFO
depends_on:
mongodb:
condition: service_healthy
networks:
- streamer_network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Optional: Mongo Express for database management
mongo-express:
image: mongo-express:latest
container_name: telegram_streamer_mongo_express
restart: unless-stopped
ports:
- "8081:8081"
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: password123
ME_CONFIG_MONGODB_URL: mongodb://admin:password123@mongodb:27017/
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: admin
depends_on:
- mongodb
networks:
- streamer_network
profiles:
- debug
volumes:
mongodb_data:
driver: local
networks:
streamer_network:
driver: bridge