45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
SECRET_KEY: ${SECRET_KEY:?SECRET_KEY obrigatoria}
|
|
SESSION_HTTPS_ONLY: ${SESSION_HTTPS_ONLY:-true}
|
|
|
|
ADMIN_USERNAME: ${ADMIN_USERNAME:?ADMIN_USERNAME obrigatorio}
|
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?ADMIN_PASSWORD obrigatoria}
|
|
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
|
OPENAI_MODEL: ${OPENAI_MODEL:-gpt-4o}
|
|
OPENAI_MAX_PAGES: ${OPENAI_MAX_PAGES:-8}
|
|
|
|
DB_PATH: ${DB_PATH:-data/app.sqlite3}
|
|
MAX_UPLOAD_BYTES: ${MAX_UPLOAD_BYTES:-12582912}
|
|
|
|
HOST: ${HOST:-0.0.0.0}
|
|
PORT: ${PORT:-8000}
|
|
|
|
# Se o Dockerfile já define o comando correto, esta variável pode
|
|
# permanecer no padrão ou ser removida se não for utilizada por ele.
|
|
APP_MODULE: ${APP_MODULE:-app.main:app}
|
|
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz', timeout=3)"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
volumes:
|
|
- lernotafiscal-data:/app/data
|
|
|
|
expose:
|
|
- "8000"
|
|
|
|
volumes:
|
|
lernotafiscal-data:
|