68 lines
1.4 KiB
YAML
68 lines
1.4 KiB
YAML
|
|
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:
|