98 lines
2.2 KiB
YAML
98 lines
2.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Continer für PostgreSQL Datenbank
|
|
postgres:
|
|
image: postgres:15
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_MULTIPLE_DATABASES: paperless,ragdb
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./init-scripts/init-databases.sh:/docker-entrypoint-initdb.d/init-databases.sh:ro
|
|
ports:
|
|
- "5432:5432"
|
|
|
|
# Container für Vectordatenbank
|
|
chromadb:
|
|
image: chromadb/chroma:latest
|
|
volumes:
|
|
- chroma_data:/chroma/chroma
|
|
ports:
|
|
- "8000:8000"
|
|
|
|
# Container für ollama
|
|
ollama:
|
|
image: ollama/ollama:latest
|
|
volumes:
|
|
- ollama_data:/root/.ollama
|
|
- ./init-scripts/init_ollama.sh:/init_ollama.sh:ro
|
|
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
|
|
|
|
# Container für Paperless-ngx redis Broker
|
|
broker:
|
|
image: docker.io/library/redis:7
|
|
restart: unless-stopped
|
|
volumes:
|
|
- redisdata:/data
|
|
|
|
# Container für Paperless-ngx
|
|
paperless:
|
|
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- db
|
|
- broker
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- paperless_data:/usr/src/paperless/data
|
|
- paperless_media:/usr/src/paperless/media
|
|
env_file: .env
|
|
environment:
|
|
PAPERLESS_REDIS: redis://broker:6379
|
|
PAPERLESS_DBHOST: ${POSTGRES_HOST}
|
|
PAPERLESS_DBNAME: paperless
|
|
|
|
volumes:
|
|
postgres_data:
|
|
chroma_data:
|
|
ollama_data:
|
|
redisdata:
|
|
paperless_data:
|
|
paperless_media: |