feat: add Docker Compose, environment template and README
This commit is contained in:
1 parent
7f4d4bde66
commit
b25bf8ff7d
4 files changed
+412
No files matched your search
@@ -0,0 +1,98 @@
|
||||
services:
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
image: pastor-online-backend:latest
|
||||
container_name: pastor-online-backend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PDF_DIR: /data/pdfs
|
||||
VECTOR_DB_DIR: /data/vector_db
|
||||
LLM_PROVIDER: ${LLM_PROVIDER:-ollama}
|
||||
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://ollama:11434}
|
||||
OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen2.5:1.5b}
|
||||
OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.openai.com/v1}
|
||||
OPENAI_MODEL: ${OPENAI_MODEL:-gpt-4o-mini}
|
||||
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
||||
GROQ_BASE_URL: ${GROQ_BASE_URL:-https://api.groq.com/openai/v1}
|
||||
GROQ_MODEL: ${GROQ_MODEL:-llama-3.3-70b-versatile}
|
||||
GROQ_API_KEY: ${GROQ_API_KEY:-}
|
||||
ANTHROPIC_BASE_URL: ${ANTHROPIC_BASE_URL:-https://api.anthropic.com}
|
||||
ANTHROPIC_MODEL: ${ANTHROPIC_MODEL:-claude-sonnet-4-5}
|
||||
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
|
||||
EMBEDDING_MODEL: ${EMBEDDING_MODEL:-paraphrase-multilingual-MiniLM-L12-v2}
|
||||
TOP_K: ${TOP_K:-6}
|
||||
MIN_SIMILARITY: ${MIN_SIMILARITY:-0.35}
|
||||
OCR_DPI: ${OCR_DPI:-200}
|
||||
OCR_LANGUAGE: ${OCR_LANGUAGE:-por+eng}
|
||||
OCR_TIMEOUT: ${OCR_TIMEOUT:-120}
|
||||
OCR_WORKERS: ${OCR_WORKERS:-4}
|
||||
CORS_ORIGINS: ${CORS_ORIGINS:-http://localhost:8080,http://127.0.0.1:8080}
|
||||
REINDEX_TOKEN: ${REINDEX_TOKEN:-}
|
||||
AUTO_INDEX: ${AUTO_INDEX:-true}
|
||||
HF_HOME: /data/models
|
||||
volumes:
|
||||
- ./PDF:/data/pdfs:ro
|
||||
- vector_db:/data/vector_db
|
||||
networks:
|
||||
- pastor
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-fsS", "http://localhost:8000/api/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
image: pastor-online-frontend:latest
|
||||
container_name: pastor-online-frontend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
backend:
|
||||
condition: service_started
|
||||
ports:
|
||||
- "${FRONTEND_PORT:-8080}:80"
|
||||
networks:
|
||||
- pastor
|
||||
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: pastor-online-ollama
|
||||
restart: unless-stopped
|
||||
profiles: ["local"]
|
||||
volumes:
|
||||
- ollama:/root/.ollama
|
||||
networks:
|
||||
- pastor
|
||||
|
||||
ollama-pull:
|
||||
image: ollama/ollama:latest
|
||||
container_name: pastor-online-ollama-pull
|
||||
profiles: ["local"]
|
||||
depends_on:
|
||||
- ollama
|
||||
environment:
|
||||
OLLAMA_HOST: http://ollama:11434
|
||||
OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen2.5:1.5b}
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command:
|
||||
- |
|
||||
until ollama list >/dev/null 2>&1; do
|
||||
echo "aguardando o Ollama..."
|
||||
sleep 3
|
||||
done
|
||||
ollama pull "$${OLLAMA_MODEL}"
|
||||
networks:
|
||||
- pastor
|
||||
|
||||
volumes:
|
||||
vector_db:
|
||||
ollama:
|
||||
|
||||
networks:
|
||||
pastor:
|
||||
driver: bridge
|
||||
Reference in new issue
Block a user