feat(deploy): docker images, compose, roles SQL, local workspace

- core.Dockerfile: python:3.12-slim + node 22 copied (same bookworm glibc), non-root, tht+pi
- frontend.Dockerfile: vite build (env-driven base/assetsDir) + nginx-unprivileged
- compose.yaml (embedded, omics_network ext, zero host ports) + docker-compose.dev.yml (standalone)
- deploy/sql: thoth_dwh_reader (ro) + thoth_vector_rw (rw) roles
- deploy/thothii.env.example + harness/workspaces/local.yaml (direct DWH+vector, 5438)
- scripts/docker-smoke.sh; .dockerignore; gitignore deploy secrets
- verified: both images build, core health {ok}, config check validates local.yaml
This commit is contained in:
User
2026-07-12 16:49:03 +02:00
parent 3fd4b0db86
commit 67d030b24d
13 changed files with 436 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
# ThothII — deploy STANDALONE locale (dev / smoke test, senza portale).
# Rete propria + porte host per ispezione diretta.
# docker compose -f docker-compose.dev.yml up -d --build
# frontend: http://localhost:8090 backend: http://localhost:8787
name: thothii-dev
services:
core:
build:
context: .
dockerfile: docker/core.Dockerfile
image: thothii-core:local
env_file: [deploy/thothii.env]
environment:
HOST: 0.0.0.0
PORT: "8787"
THT_HARNESS_DIR: /app/harness
THT_BIN: /opt/venv/bin/tht
PI_BIN: pi
AUTH_MODE: ${AUTH_MODE:-none}
SETTINGS_FILE: /data/settings/settings.json
MAX_PI_PROCESSES: ${MAX_PI_PROCESSES:-4}
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- /home/chirone/thothii-data:/data
- /home/chirone/thothii-data/pi-config:/home/thoth/.pi
- /home/chirone/chirone/etl/docs/evidence:/data/evidence:ro
ports:
- "8787:8787"
restart: "no"
networks: [thothii-net]
frontend:
build:
context: .
dockerfile: docker/frontend.Dockerfile
args:
VITE_BASE: /
VITE_BACKEND_URL: /api
image: thothii-frontend:local
ports:
- "8090:8080"
depends_on:
- core
restart: "no"
networks: [thothii-net]
networks:
thothii-net:
driver: bridge