version: '3.8' services: postgres: image: postgres:15 environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" chromadb: image: chromadb/chroma:latest volumes: - chroma_data:/chroma/chroma ports: - "8000:8000" ollama: image: ollama/ollama:latest volumes: - ollama_data:/root/.ollama # Binde das lokale Skript in den Container ein - ./init_ollama.sh:/init_ollama.sh # Setze das Skript als Startbefehl und stelle sicher, dass es mit bash ausgeführt wird entrypoint: ["/usr/bin/env", "bash", "/init_ollama.sh"] ports: - "11434:11434" # Container für Streamlit UI streamlit: build: . command: streamlit run src/app.py --server.port=8501 --server.address=0.0.0.0 ports: - "8501:8501" env_file: .env depends_on: - postgres - chromadb - ollama # Container für den Telegram Bot telegram-bot: build: . command: python src/telegram_bot.py env_file: .env depends_on: - postgres - chromadb - ollama # Container für den Ingest-Scheduler scheduler: build: . command: python src/run_scheduler.py env_file: .env depends_on: - postgres - chromadb - ollama volumes: postgres_data: chroma_data: ollama_data: