This commit is contained in:
2026-03-13 21:49:46 +01:00
parent c2e0d0aade
commit 2dd4802619
3 changed files with 74 additions and 8 deletions

6
.env
View File

@@ -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

View File

@@ -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:
ollama_data:
redisdata:
paperless_data:
paperless_media:

View File

@@ -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})
st.session_state.messages.append({"role": "assistant", "content": answer})
hide_streamlit_style = """
<style>
footer {visibility: hidden;}
</style>
"""
st.markdown(hide_streamlit_style, unsafe_allow_html=True)
custom_footer = """
<style>
.footer {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: #f8f9fa;
color: #31333F;
text-align: center;
padding: 10px;
font-size: 14px;
z-index: 99;
}
</style>
<div class="footer">
<p>DocuMind-G4 created by Julius Wolff 2026</p>
</div>
"""
# 3. Den Footer in die App rendern
st.markdown(custom_footer, unsafe_allow_html=True)