From 2dd4802619ee0ec1d236d6bf06235e851471a8ba Mon Sep 17 00:00:00 2001 From: Julius Wolff Date: Fri, 13 Mar 2026 21:49:46 +0100 Subject: [PATCH] Cleanup --- .env | 6 ++++++ docker-compose.yml | 40 +++++++++++++++++++++++++++++++++++----- src/app.py | 36 +++++++++++++++++++++++++++++++++--- 3 files changed, 74 insertions(+), 8 deletions(-) diff --git a/.env b/.env index effb853..6232963 100644 --- a/.env +++ b/.env @@ -1,4 +1,10 @@ # Paperless +PAPERLESS_ADMIN_USER=admin +PAPERLESS_ADMIN_PASSWORD=ein_sehr_sicheres_admin_passwort +PAPERLESS_ADMIN_MAIL=deine.email@beispiel.de +PAPERLESS_TIME_ZONE=Europe/Berlin +PAPERLESS_UI_LANGUAGE=de +PAPERLESS_OCR_LANGUAGE=deu PAPERLESS_URL=http://your-paperless-ip:8000 PAPERLESS_TOKEN=your_api_token_here diff --git a/docker-compose.yml b/docker-compose.yml index 4480f1a..9b1f7bb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,20 @@ version: '3.8' services: + # Continer für PostgreSQL Datenbank postgres: image: postgres:15 environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} + 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: @@ -19,13 +22,12 @@ services: ports: - "8000:8000" + # Container für ollama 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 + - ./init-scripts/init_ollama.sh:/init_ollama.sh:ro entrypoint: ["/usr/bin/env", "bash", "/init_ollama.sh"] ports: - "11434:11434" @@ -62,7 +64,35 @@ services: - 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: \ No newline at end of file + ollama_data: + redisdata: + paperless_data: + paperless_media: \ No newline at end of file diff --git a/src/app.py b/src/app.py index ba6dcf6..9276f36 100644 --- a/src/app.py +++ b/src/app.py @@ -4,8 +4,8 @@ from langchain.chains.combine_documents import create_stuff_documents_chain from langchain_core.prompts import ChatPromptTemplate from src.rag_core import get_retriever, get_llm -st.set_page_config(page_title="RAG Chat", layout="wide") -st.title("Paperless-NGX RAG Assistant") +st.set_page_config(page_title="DocuMind-G4 Chat", layout="wide") +st.title("DocuMind-G4 RAG Assistant") retriever, vectorstore, _ = get_retriever() llm = get_llm() @@ -64,4 +64,34 @@ if prompt_input := st.chat_input("Stelle eine Frage zu deinen Dokumenten..."): for s in unique_sources: st.write(f"- {s}") - st.session_state.messages.append({"role": "assistant", "content": answer}) \ No newline at end of file + st.session_state.messages.append({"role": "assistant", "content": answer}) + +hide_streamlit_style = """ + +""" +st.markdown(hide_streamlit_style, unsafe_allow_html=True) + +custom_footer = """ + + +""" + +# 3. Den Footer in die App rendern +st.markdown(custom_footer, unsafe_allow_html=True) \ No newline at end of file