feat(deploy): add portable external-service stack

This commit is contained in:
2026-07-11 22:12:21 +02:00
parent 715de6649b
commit 767df63a33
7 changed files with 265 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
# Copy this file to deploy/.env. Never commit deploy/.env or real credentials.
# Compose passes these values to the core container at runtime; images contain no secrets.
# Optional application defaults
PI_PROVIDER=
PI_MODEL=
PI_THINKING=
MAX_PI_PROCESSES=4
AUTH_MODE=none
# External DWH (example workspace uses the HTTP adapters)
THT_DB_NAME=
THT_DWH_REST_URL=
THT_DWH_API_KEY=
# External vector service. Use a distinct write key where the service supports one.
THT_VEC_REST_URL=
THT_VEC_API_KEY=
THT_VEC_WRITE_API_KEY=
# External embeddings service
THT_OLLAMA_URL=
# Evidence source visible inside the persistent data volume
THT_DOCS_ROOT=/data/workspaces/example/evidence-source
# Optional CA file mounted separately by an operator, for example via a Compose override.
THT_SSL_CA=
+69
View File
@@ -0,0 +1,69 @@
language: en
dwh:
type: thoth_rest
database:
database: ${THT_DB_NAME}
schema: datawarehouse
endpoint:
base_url: ${THT_DWH_REST_URL}
api_key: ${THT_DWH_API_KEY}
ssl_ca: ${THT_SSL_CA}
# Relative logical roots are resolved beneath /data/workspaces/example.
roots:
artifacts: artifacts
indexes: indexes
sessions: sessions
examples:
max_per_column: 10
lsh:
signature_size: 64
n_gram: 3
threshold: 0.5
max_values_per_column: 1000
eligibility:
max_declared_len: 128
max_avg_length: 40
max_sampled_len: 200
ignore_columns: [etl_last_update]
evidence:
source_root: ${THT_DOCS_ROOT}
evidence_dir: evidence
embeddings:
base_url: ${THT_OLLAMA_URL}
model: nomic-embed-text-v2-moe
dim: 768
batch_size: 32
vectors:
type: thoth_vector_http
reader:
base_url: ${THT_VEC_REST_URL}
api_key: ${THT_VEC_API_KEY}
ssl_ca: ${THT_SSL_CA}
writer:
base_url: ${THT_VEC_REST_URL}
api_key: ${THT_VEC_WRITE_API_KEY}
ssl_ca: ${THT_SSL_CA}
vector:
max_chunk_chars: 4000
search:
rrf_k: 60
top_schema_tables: 12
schema_chunk_pool: 150
execution:
allow: [cte_test, explain, preview, aggregate, export]
max_preview_rows: 10
max_export_rows: 100000
statement_timeout_ms: 30000
warn_execution_ms: 5000
max_aggregate_cells: 20