@knowzai/cli 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/portable/.env.example +3 -0
- package/assets/portable/docker-compose.yml +18 -0
- package/assets/portable/releases.json +22 -0
- package/assets/selfhosted/.env.example +19 -0
- package/assets/selfhosted/docker-compose.yml +96 -0
- package/assets/selfhosted/releases.json +28 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/base-command.d.ts +21 -2
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +47 -4
- package/dist/base-command.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +5 -1
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/auth/status.d.ts +1 -1
- package/dist/commands/auth/status.d.ts.map +1 -1
- package/dist/commands/auth/status.js +4 -0
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/chat.d.ts +5 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +32 -13
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/config/get.d.ts.map +1 -1
- package/dist/commands/config/get.js +3 -1
- package/dist/commands/config/get.js.map +1 -1
- package/dist/commands/config/list.d.ts.map +1 -1
- package/dist/commands/config/list.js +12 -4
- package/dist/commands/config/list.js.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts +9 -0
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +16 -1
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/export.d.ts +27 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +155 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +27 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +124 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/index/scan.d.ts.map +1 -1
- package/dist/commands/index/scan.js +24 -5
- package/dist/commands/index/scan.js.map +1 -1
- package/dist/commands/knowledge/amend.d.ts +1 -0
- package/dist/commands/knowledge/amend.d.ts.map +1 -1
- package/dist/commands/knowledge/amend.js +11 -2
- package/dist/commands/knowledge/amend.js.map +1 -1
- package/dist/commands/knowledge/attach.d.ts +19 -0
- package/dist/commands/knowledge/attach.d.ts.map +1 -0
- package/dist/commands/knowledge/attach.js +51 -0
- package/dist/commands/knowledge/attach.js.map +1 -0
- package/dist/commands/knowledge/create.d.ts +9 -1
- package/dist/commands/knowledge/create.d.ts.map +1 -1
- package/dist/commands/knowledge/create.js +26 -4
- package/dist/commands/knowledge/create.js.map +1 -1
- package/dist/commands/knowledge/update.d.ts +1 -0
- package/dist/commands/knowledge/update.d.ts.map +1 -1
- package/dist/commands/knowledge/update.js +4 -1
- package/dist/commands/knowledge/update.js.map +1 -1
- package/dist/commands/login.d.ts +19 -3
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +113 -64
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +2 -0
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +35 -1
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/mcp/serve.d.ts +16 -0
- package/dist/commands/mcp/serve.d.ts.map +1 -0
- package/dist/commands/mcp/serve.js +50 -0
- package/dist/commands/mcp/serve.js.map +1 -0
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +39 -3
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/peer/accept-fingerprint.d.ts +17 -0
- package/dist/commands/peer/accept-fingerprint.d.ts.map +1 -0
- package/dist/commands/peer/accept-fingerprint.js +35 -0
- package/dist/commands/peer/accept-fingerprint.js.map +1 -0
- package/dist/commands/peer/add.d.ts +22 -0
- package/dist/commands/peer/add.d.ts.map +1 -0
- package/dist/commands/peer/add.js +44 -0
- package/dist/commands/peer/add.js.map +1 -0
- package/dist/commands/peer/cancel.d.ts +13 -0
- package/dist/commands/peer/cancel.d.ts.map +1 -0
- package/dist/commands/peer/cancel.js +20 -0
- package/dist/commands/peer/cancel.js.map +1 -0
- package/dist/commands/peer/link.d.ts +16 -0
- package/dist/commands/peer/link.d.ts.map +1 -0
- package/dist/commands/peer/link.js +32 -0
- package/dist/commands/peer/link.js.map +1 -0
- package/dist/commands/peer/links.d.ts +12 -0
- package/dist/commands/peer/links.d.ts.map +1 -0
- package/dist/commands/peer/links.js +25 -0
- package/dist/commands/peer/links.js.map +1 -0
- package/dist/commands/peer/list.d.ts +10 -0
- package/dist/commands/peer/list.d.ts.map +1 -0
- package/dist/commands/peer/list.js +22 -0
- package/dist/commands/peer/list.js.map +1 -0
- package/dist/commands/peer/pull.d.ts +19 -0
- package/dist/commands/peer/pull.d.ts.map +1 -0
- package/dist/commands/peer/pull.js +30 -0
- package/dist/commands/peer/pull.js.map +1 -0
- package/dist/commands/peer/push.d.ts +19 -0
- package/dist/commands/peer/push.d.ts.map +1 -0
- package/dist/commands/peer/push.js +30 -0
- package/dist/commands/peer/push.js.map +1 -0
- package/dist/commands/peer/remove.d.ts +12 -0
- package/dist/commands/peer/remove.d.ts.map +1 -0
- package/dist/commands/peer/remove.js +19 -0
- package/dist/commands/peer/remove.js.map +1 -0
- package/dist/commands/peer/rotate-key.d.ts +14 -0
- package/dist/commands/peer/rotate-key.d.ts.map +1 -0
- package/dist/commands/peer/rotate-key.js +26 -0
- package/dist/commands/peer/rotate-key.js.map +1 -0
- package/dist/commands/peer/run.d.ts +13 -0
- package/dist/commands/peer/run.d.ts.map +1 -0
- package/dist/commands/peer/run.js +31 -0
- package/dist/commands/peer/run.js.map +1 -0
- package/dist/commands/peer/runs.d.ts +15 -0
- package/dist/commands/peer/runs.d.ts.map +1 -0
- package/dist/commands/peer/runs.js +32 -0
- package/dist/commands/peer/runs.js.map +1 -0
- package/dist/commands/peer/test.d.ts +13 -0
- package/dist/commands/peer/test.d.ts.map +1 -0
- package/dist/commands/peer/test.js +30 -0
- package/dist/commands/peer/test.js.map +1 -0
- package/dist/commands/peer/unlink.d.ts +13 -0
- package/dist/commands/peer/unlink.d.ts.map +1 -0
- package/dist/commands/peer/unlink.js +20 -0
- package/dist/commands/peer/unlink.js.map +1 -0
- package/dist/commands/pg/status.d.ts.map +1 -1
- package/dist/commands/pg/status.js +6 -3
- package/dist/commands/pg/status.js.map +1 -1
- package/dist/commands/pg/up.d.ts.map +1 -1
- package/dist/commands/pg/up.js +9 -4
- package/dist/commands/pg/up.js.map +1 -1
- package/dist/commands/platform/status.d.ts.map +1 -1
- package/dist/commands/platform/status.js +4 -4
- package/dist/commands/platform/status.js.map +1 -1
- package/dist/commands/profile/purge.d.ts +20 -0
- package/dist/commands/profile/purge.d.ts.map +1 -0
- package/dist/commands/profile/purge.js +43 -0
- package/dist/commands/profile/purge.js.map +1 -0
- package/dist/commands/repo/context.d.ts.map +1 -1
- package/dist/commands/repo/context.js +3 -1
- package/dist/commands/repo/context.js.map +1 -1
- package/dist/commands/repo/graph.d.ts +3 -6
- package/dist/commands/repo/graph.d.ts.map +1 -1
- package/dist/commands/repo/graph.js +24 -40
- package/dist/commands/repo/graph.js.map +1 -1
- package/dist/commands/repo/index/index.d.ts +1 -0
- package/dist/commands/repo/index/index.d.ts.map +1 -1
- package/dist/commands/repo/index/index.js +100 -12
- package/dist/commands/repo/index/index.js.map +1 -1
- package/dist/commands/repo/search.d.ts.map +1 -1
- package/dist/commands/repo/search.js +2 -0
- package/dist/commands/repo/search.js.map +1 -1
- package/dist/commands/repo/setup.d.ts +9 -2
- package/dist/commands/repo/setup.d.ts.map +1 -1
- package/dist/commands/repo/setup.js +84 -8
- package/dist/commands/repo/setup.js.map +1 -1
- package/dist/commands/status.d.ts +4 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +21 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/transfer.d.ts +30 -0
- package/dist/commands/transfer.d.ts.map +1 -0
- package/dist/commands/transfer.js +140 -0
- package/dist/commands/transfer.js.map +1 -0
- package/dist/commands/tui.js +1 -1
- package/dist/commands/tui.js.map +1 -1
- package/dist/commands/up.d.ts +6 -27
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +63 -21
- package/dist/commands/up.js.map +1 -1
- package/dist/lib/attach.d.ts +48 -0
- package/dist/lib/attach.d.ts.map +1 -0
- package/dist/lib/attach.js +91 -0
- package/dist/lib/attach.js.map +1 -0
- package/dist/lib/chat-render.d.ts +39 -0
- package/dist/lib/chat-render.d.ts.map +1 -0
- package/dist/lib/chat-render.js +77 -0
- package/dist/lib/chat-render.js.map +1 -0
- package/dist/lib/cmek-guard.d.ts +52 -0
- package/dist/lib/cmek-guard.d.ts.map +1 -0
- package/dist/lib/cmek-guard.js +73 -0
- package/dist/lib/cmek-guard.js.map +1 -0
- package/dist/lib/content.d.ts +7 -0
- package/dist/lib/content.d.ts.map +1 -1
- package/dist/lib/content.js +9 -2
- package/dist/lib/content.js.map +1 -1
- package/dist/lib/credential-purge.d.ts +52 -0
- package/dist/lib/credential-purge.d.ts.map +1 -0
- package/dist/lib/credential-purge.js +37 -0
- package/dist/lib/credential-purge.js.map +1 -0
- package/dist/lib/ingest.d.ts.map +1 -1
- package/dist/lib/ingest.js +7 -3
- package/dist/lib/ingest.js.map +1 -1
- package/dist/lib/local-mcp-server.d.ts +82 -0
- package/dist/lib/local-mcp-server.d.ts.map +1 -0
- package/dist/lib/local-mcp-server.js +252 -0
- package/dist/lib/local-mcp-server.js.map +1 -0
- package/dist/lib/local-mcp-stdio.d.ts +8 -0
- package/dist/lib/local-mcp-stdio.d.ts.map +1 -0
- package/dist/lib/local-mcp-stdio.js +50 -0
- package/dist/lib/local-mcp-stdio.js.map +1 -0
- package/dist/lib/login-guided.d.ts +20 -0
- package/dist/lib/login-guided.d.ts.map +1 -0
- package/dist/lib/login-guided.js +89 -0
- package/dist/lib/login-guided.js.map +1 -0
- package/dist/lib/login.d.ts +58 -12
- package/dist/lib/login.d.ts.map +1 -1
- package/dist/lib/login.js +170 -12
- package/dist/lib/login.js.map +1 -1
- package/dist/lib/onboarding.d.ts +56 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +67 -0
- package/dist/lib/onboarding.js.map +1 -0
- package/dist/lib/peer-command.d.ts +51 -0
- package/dist/lib/peer-command.d.ts.map +1 -0
- package/dist/lib/peer-command.js +120 -0
- package/dist/lib/peer-command.js.map +1 -0
- package/dist/lib/peer-support.d.ts +67 -0
- package/dist/lib/peer-support.d.ts.map +1 -0
- package/dist/lib/peer-support.js +154 -0
- package/dist/lib/peer-support.js.map +1 -0
- package/dist/lib/platform-edition.d.ts +34 -0
- package/dist/lib/platform-edition.d.ts.map +1 -0
- package/dist/lib/platform-edition.js +47 -0
- package/dist/lib/platform-edition.js.map +1 -0
- package/dist/lib/platform-frontdoor-runtime.d.ts.map +1 -1
- package/dist/lib/platform-frontdoor-runtime.js +32 -1
- package/dist/lib/platform-frontdoor-runtime.js.map +1 -1
- package/dist/lib/platform-frontdoor.d.ts +26 -2
- package/dist/lib/platform-frontdoor.d.ts.map +1 -1
- package/dist/lib/platform-frontdoor.js +363 -126
- package/dist/lib/platform-frontdoor.js.map +1 -1
- package/dist/lib/platform-lifecycle.d.ts +7 -0
- package/dist/lib/platform-lifecycle.d.ts.map +1 -1
- package/dist/lib/platform-lifecycle.js +14 -3
- package/dist/lib/platform-lifecycle.js.map +1 -1
- package/dist/lib/platform-onboarding.d.ts +1 -0
- package/dist/lib/platform-onboarding.d.ts.map +1 -1
- package/dist/lib/platform-onboarding.js +13 -2
- package/dist/lib/platform-onboarding.js.map +1 -1
- package/dist/lib/platform-profile-purge.d.ts +1 -1
- package/dist/lib/platform-profile-purge.d.ts.map +1 -1
- package/dist/lib/platform-profile-purge.js +2 -1
- package/dist/lib/platform-profile-purge.js.map +1 -1
- package/dist/lib/platform-provider-prompt.d.ts +4 -0
- package/dist/lib/platform-provider-prompt.d.ts.map +1 -1
- package/dist/lib/platform-provider-prompt.js +4 -0
- package/dist/lib/platform-provider-prompt.js.map +1 -1
- package/dist/lib/platform-release-manifest.d.ts +15 -1
- package/dist/lib/platform-release-manifest.d.ts.map +1 -1
- package/dist/lib/platform-release-manifest.js +24 -0
- package/dist/lib/platform-release-manifest.js.map +1 -1
- package/dist/lib/portability-shared.d.ts +49 -0
- package/dist/lib/portability-shared.d.ts.map +1 -0
- package/dist/lib/portability-shared.js +220 -0
- package/dist/lib/portability-shared.js.map +1 -0
- package/dist/lib/project-mcp-config.d.ts +14 -0
- package/dist/lib/project-mcp-config.d.ts.map +1 -0
- package/dist/lib/project-mcp-config.js +78 -0
- package/dist/lib/project-mcp-config.js.map +1 -0
- package/dist/lib/release-package-graph.d.ts +154 -0
- package/dist/lib/release-package-graph.d.ts.map +1 -0
- package/dist/lib/release-package-graph.js +249 -0
- package/dist/lib/release-package-graph.js.map +1 -0
- package/dist/lib/repo-binding.d.ts +7 -2
- package/dist/lib/repo-binding.d.ts.map +1 -1
- package/dist/lib/repo-binding.js +131 -18
- package/dist/lib/repo-binding.js.map +1 -1
- package/dist/lib/repo-command-support.d.ts +3 -1
- package/dist/lib/repo-command-support.d.ts.map +1 -1
- package/dist/lib/repo-command-support.js.map +1 -1
- package/dist/lib/repo-local-mcp-backend.d.ts +65 -0
- package/dist/lib/repo-local-mcp-backend.d.ts.map +1 -0
- package/dist/lib/repo-local-mcp-backend.js +288 -0
- package/dist/lib/repo-local-mcp-backend.js.map +1 -0
- package/dist/lib/repo-local-mcp-runtime.d.ts +17 -0
- package/dist/lib/repo-local-mcp-runtime.d.ts.map +1 -0
- package/dist/lib/repo-local-mcp-runtime.js +136 -0
- package/dist/lib/repo-local-mcp-runtime.js.map +1 -0
- package/dist/lib/repo-scope-migration.d.ts +4 -0
- package/dist/lib/repo-scope-migration.d.ts.map +1 -0
- package/dist/lib/repo-scope-migration.js +55 -0
- package/dist/lib/repo-scope-migration.js.map +1 -0
- package/dist/lib/repo-scope.d.ts +9 -0
- package/dist/lib/repo-scope.d.ts.map +1 -0
- package/dist/lib/repo-scope.js +15 -0
- package/dist/lib/repo-scope.js.map +1 -0
- package/dist/lib/safe-file.d.ts +141 -0
- package/dist/lib/safe-file.d.ts.map +1 -0
- package/dist/lib/safe-file.js +296 -0
- package/dist/lib/safe-file.js.map +1 -0
- package/dist/lib/selfhosted-lifecycle.d.ts +78 -0
- package/dist/lib/selfhosted-lifecycle.d.ts.map +1 -0
- package/dist/lib/selfhosted-lifecycle.js +195 -0
- package/dist/lib/selfhosted-lifecycle.js.map +1 -0
- package/dist/lib/setup-console.d.ts +1 -1
- package/dist/lib/setup-console.d.ts.map +1 -1
- package/dist/lib/setup-console.js +3 -1
- package/dist/lib/setup-console.js.map +1 -1
- package/dist/lib/setup-page.d.ts.map +1 -1
- package/dist/lib/setup-page.js +28 -10
- package/dist/lib/setup-page.js.map +1 -1
- package/dist/lib/setup-plan.d.ts +4 -1
- package/dist/lib/setup-plan.d.ts.map +1 -1
- package/dist/lib/setup-plan.js +10 -2
- package/dist/lib/setup-plan.js.map +1 -1
- package/dist/lib/setup-server.d.ts.map +1 -1
- package/dist/lib/setup-server.js +19 -3
- package/dist/lib/setup-server.js.map +1 -1
- package/dist/lib/sso-login.d.ts +42 -0
- package/dist/lib/sso-login.d.ts.map +1 -0
- package/dist/lib/sso-login.js +135 -0
- package/dist/lib/sso-login.js.map +1 -0
- package/dist/lib/transfer.d.ts +80 -0
- package/dist/lib/transfer.d.ts.map +1 -0
- package/dist/lib/transfer.js +173 -0
- package/dist/lib/transfer.js.map +1 -0
- package/dist/lib/tui.d.ts +0 -6
- package/dist/lib/tui.d.ts.map +1 -1
- package/dist/lib/tui.js +6 -1
- package/dist/lib/tui.js.map +1 -1
- package/dist/lib/ui.js +1 -1
- package/dist/lib/ui.js.map +1 -1
- package/dist/lib/up-result.d.ts +46 -0
- package/dist/lib/up-result.d.ts.map +1 -0
- package/dist/lib/up-result.js +25 -0
- package/dist/lib/up-result.js.map +1 -0
- package/dist/menu/run.d.ts +7 -0
- package/dist/menu/run.d.ts.map +1 -1
- package/dist/menu/run.js +38 -2
- package/dist/menu/run.js.map +1 -1
- package/oclif.manifest.json +3585 -1532
- package/package.json +19 -13
|
@@ -63,6 +63,9 @@ ADMIN_USERNAME=admin@knowz.local
|
|
|
63
63
|
ADMIN_PASSWORD=<CHANGE_ME_at_least_12_chars_mixed>
|
|
64
64
|
# SuperAdmin console passphrase. Generate with `openssl rand -base64 32` (or equivalent).
|
|
65
65
|
# SUPERADMIN_PASSPHRASE=
|
|
66
|
+
# Optional override for privileged diagnostics (X-Super-User-Key). When unset, compose
|
|
67
|
+
# reuses SUPERADMIN_PASSPHRASE. Empty/whitespace values are rejected by the API (503).
|
|
68
|
+
# SUPERUSER_KEY=
|
|
66
69
|
# Manual Compose bootstrap (run once after the API is healthy):
|
|
67
70
|
# curl -X POST http://localhost:${API_PORT:-5000}/api/v1/bootstrap/admin \
|
|
68
71
|
# -H "X-Super-User-Key: $SUPERADMIN_PASSPHRASE" -H "Content-Type: application/json" \
|
|
@@ -104,6 +104,10 @@ services:
|
|
|
104
104
|
api:
|
|
105
105
|
# Prebuilt portable image. ""=azure/stub/BYO-OpenAI-compat build; KNOWZ_FLAVOR=-gcp => Vertex build.
|
|
106
106
|
image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-api:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}-portable${KNOWZ_FLAVOR:-}"
|
|
107
|
+
# Knowz portable images publish linux/amd64 ONLY — pin so arm64 hosts (Apple Silicon)
|
|
108
|
+
# pull and run under emulation instead of failing with "no matching manifest".
|
|
109
|
+
# No-op on amd64 hosts. Remove when OPS_PortableMultiArchImages ships arm64 manifests.
|
|
110
|
+
platform: linux/amd64
|
|
107
111
|
ports:
|
|
108
112
|
- "${BIND_ADDRESS:-127.0.0.1}:${API_PORT:-5000}:8080"
|
|
109
113
|
depends_on:
|
|
@@ -122,6 +126,7 @@ services:
|
|
|
122
126
|
environment:
|
|
123
127
|
ASPNETCORE_ENVIRONMENT: Staging
|
|
124
128
|
ASPNETCORE_URLS: http://+:8080
|
|
129
|
+
FeatureFlags__registration__requireEmailVerification: "false"
|
|
125
130
|
|
|
126
131
|
# ── Portable substrate provider switches (the three subsystem axes) ──────────────────────────
|
|
127
132
|
Knowz__Database__Provider: Postgres
|
|
@@ -168,6 +173,11 @@ services:
|
|
|
168
173
|
JwtSettings__Secret: "${JWT_SECRET}"
|
|
169
174
|
Authentication__Jwt__Secret: "${JWT_SECRET}"
|
|
170
175
|
SuperAdmin__Passphrase: "${SUPERADMIN_PASSPHRASE:?SUPERADMIN_PASSPHRASE must be set in .env}"
|
|
176
|
+
# SEC-2026-08-16-3 / #509: privileged diagnostics use Security:SuperUserKey.
|
|
177
|
+
# Application code fail-closes empty/whitespace keys (503). Compose still injects a
|
|
178
|
+
# non-empty value so portable kits that already mint SUPERADMIN_PASSPHRASE keep a
|
|
179
|
+
# working gate; SUPERUSER_KEY overrides when set.
|
|
180
|
+
Security__SuperUserKey: "${SUPERUSER_KEY:-${SUPERADMIN_PASSPHRASE}}"
|
|
171
181
|
|
|
172
182
|
# ── MCP service-to-service key (must match the mcp container) ────────────────────────────────
|
|
173
183
|
MCP__ServiceKey: "${MCP_SERVICE_KEY:?MCP_SERVICE_KEY must be set in .env}"
|
|
@@ -260,6 +270,8 @@ services:
|
|
|
260
270
|
# ── Worker: Knowz.Worker BackgroundService — drains PortableQueueJobs + enrichment auto-driver ─────
|
|
261
271
|
worker:
|
|
262
272
|
image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-worker:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}-portable${KNOWZ_FLAVOR:-}"
|
|
273
|
+
# amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
|
|
274
|
+
platform: linux/amd64
|
|
263
275
|
depends_on:
|
|
264
276
|
postgres:
|
|
265
277
|
condition: service_healthy
|
|
@@ -371,6 +383,8 @@ services:
|
|
|
371
383
|
web:
|
|
372
384
|
# Cloud-neutral SPA — plain versioned image (no portable/gcp flavor).
|
|
373
385
|
image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-web:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}"
|
|
386
|
+
# amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
|
|
387
|
+
platform: linux/amd64
|
|
374
388
|
ports:
|
|
375
389
|
- "${BIND_ADDRESS:-127.0.0.1}:${WEB_PORT:-3000}:8080"
|
|
376
390
|
depends_on:
|
|
@@ -393,6 +407,8 @@ services:
|
|
|
393
407
|
profiles: ["mcp"]
|
|
394
408
|
# Cloud-neutral MCP server — plain versioned image (no portable/gcp flavor).
|
|
395
409
|
image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-mcp:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}"
|
|
410
|
+
# amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
|
|
411
|
+
platform: linux/amd64
|
|
396
412
|
ports:
|
|
397
413
|
- "${BIND_ADDRESS:-127.0.0.1}:${MCP_PORT:-3001}:8080"
|
|
398
414
|
depends_on:
|
|
@@ -418,6 +434,8 @@ services:
|
|
|
418
434
|
|
|
419
435
|
public-site:
|
|
420
436
|
image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-public-site:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env}"
|
|
437
|
+
# amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
|
|
438
|
+
platform: linux/amd64
|
|
421
439
|
profiles: ["public-site"]
|
|
422
440
|
ports:
|
|
423
441
|
- "${BIND_ADDRESS:-127.0.0.1}:${PUBLIC_SITE_PORT:-3002}:8080"
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"releases": [
|
|
3
|
+
{
|
|
4
|
+
"version": "0.41.0",
|
|
5
|
+
"flavors": [
|
|
6
|
+
"portable",
|
|
7
|
+
"portable-gcp"
|
|
8
|
+
],
|
|
9
|
+
"releasedAt": "2026-08-31T00:00:00Z",
|
|
10
|
+
"minCliVersion": null,
|
|
11
|
+
"notes": null,
|
|
12
|
+
"digests": null
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"version": "0.40.2",
|
|
16
|
+
"flavors": [
|
|
17
|
+
"portable",
|
|
18
|
+
"portable-gcp"
|
|
19
|
+
],
|
|
20
|
+
"releasedAt": "2026-08-30T00:00:00Z",
|
|
21
|
+
"minCliVersion": null,
|
|
22
|
+
"notes": null,
|
|
23
|
+
"digests": null
|
|
24
|
+
},
|
|
3
25
|
{
|
|
4
26
|
"version": "0.35.2",
|
|
5
27
|
"flavors": [
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Knowz Self-Hosted pull kit — copied by `knowz up` into ~/.knowz/selfhosted/{name}/.env
|
|
2
|
+
# The CLI mints required secrets on first up. Do not bake passwords into images.
|
|
3
|
+
|
|
4
|
+
KNOWZ_SELFHOSTED_VERSION=0.15.1
|
|
5
|
+
API_PORT=5000
|
|
6
|
+
WEB_PORT=3000
|
|
7
|
+
MCP_PORT=3001
|
|
8
|
+
DB_PORT=1433
|
|
9
|
+
|
|
10
|
+
SA_PASSWORD=
|
|
11
|
+
JWT_SECRET=
|
|
12
|
+
ADMIN_USERNAME=admin
|
|
13
|
+
ADMIN_PASSWORD=
|
|
14
|
+
MCP_SERVICE_KEY=
|
|
15
|
+
|
|
16
|
+
# Optional: AI via Knowz mothership (operator-supplied; never baked)
|
|
17
|
+
# KNOWZ_PLATFORM_ENABLED=true
|
|
18
|
+
# KNOWZ_PLATFORM_URL=https://api.knowz.io
|
|
19
|
+
# KNOWZ_PLATFORM_APIKEY=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Knowz Self-Hosted — pull-only kit for `knowz up` (public images).
|
|
2
|
+
# Canonical source: this file. The npm CLI copies it via sync-selfhosted-assets.mjs.
|
|
3
|
+
# Source-build remains selfhosted/docker-compose.yml (build: contexts).
|
|
4
|
+
#
|
|
5
|
+
# FAIL-CLOSED: SA_PASSWORD, JWT_SECRET, ADMIN_USERNAME, ADMIN_PASSWORD, MCP_SERVICE_KEY
|
|
6
|
+
# have no defaults. The CLI mints them into a 0600 .env on first up.
|
|
7
|
+
# Pin KNOWZ_SELFHOSTED_VERSION to a concrete semver — never `latest`.
|
|
8
|
+
|
|
9
|
+
services:
|
|
10
|
+
db:
|
|
11
|
+
image: mcr.microsoft.com/mssql/server:2022-CU26-ubuntu-22.04
|
|
12
|
+
environment:
|
|
13
|
+
ACCEPT_EULA: "Y"
|
|
14
|
+
MSSQL_SA_PASSWORD: "${SA_PASSWORD:?SA_PASSWORD must be set in .env (>=12 chars, SQL Server complexity rules)}"
|
|
15
|
+
MSSQL_PID: "Express"
|
|
16
|
+
ports:
|
|
17
|
+
- "${DB_PORT:-1433}:1433"
|
|
18
|
+
volumes:
|
|
19
|
+
- knowz-db-data:/var/opt/mssql
|
|
20
|
+
healthcheck:
|
|
21
|
+
test: /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$${MSSQL_SA_PASSWORD}" -Q "SELECT 1" -C -b
|
|
22
|
+
interval: 10s
|
|
23
|
+
timeout: 5s
|
|
24
|
+
retries: 10
|
|
25
|
+
start_period: 30s
|
|
26
|
+
|
|
27
|
+
api:
|
|
28
|
+
image: ghcr.io/knowz-io/knowz-selfhosted-api:${KNOWZ_SELFHOSTED_VERSION:?KNOWZ_SELFHOSTED_VERSION must be set}
|
|
29
|
+
ports:
|
|
30
|
+
- "${API_PORT:-5000}:8080"
|
|
31
|
+
depends_on:
|
|
32
|
+
db:
|
|
33
|
+
condition: service_healthy
|
|
34
|
+
environment:
|
|
35
|
+
ConnectionStrings__McpDb: "Server=db,1433;Database=KnowzSelfHosted;User Id=sa;Password=${SA_PASSWORD:?SA_PASSWORD must be set};TrustServerCertificate=True;Encrypt=True"
|
|
36
|
+
Database__AutoMigrate: "true"
|
|
37
|
+
SelfHosted__JwtSecret: "${JWT_SECRET:?JWT_SECRET must be set in .env (>=32 chars)}"
|
|
38
|
+
SelfHosted__SuperAdminUsername: "${ADMIN_USERNAME:?ADMIN_USERNAME must be set in .env}"
|
|
39
|
+
SelfHosted__SuperAdminPassword: "${ADMIN_PASSWORD:?ADMIN_PASSWORD must be set in .env}"
|
|
40
|
+
SelfHosted__AllowedOrigins__0: "http://localhost:${WEB_PORT:-3000}"
|
|
41
|
+
SelfHosted__RateLimiting__Enabled: "true"
|
|
42
|
+
MCP__ServiceKey: "${MCP_SERVICE_KEY:?MCP_SERVICE_KEY must be set in .env}"
|
|
43
|
+
Storage__Provider: "LocalFileSystem"
|
|
44
|
+
Storage__Local__RootPath: "/data/files"
|
|
45
|
+
AzureOpenAI__Endpoint: "${AZURE_OPENAI_ENDPOINT:-}"
|
|
46
|
+
AzureOpenAI__ApiKey: "${AZURE_OPENAI_APIKEY:-}"
|
|
47
|
+
AzureOpenAI__DeploymentName: "${AZURE_OPENAI_DEPLOYMENT:-gpt-5.4}"
|
|
48
|
+
AzureOpenAI__EmbeddingDeploymentName: "${AZURE_OPENAI_EMBEDDING:-text-embedding-3-large}"
|
|
49
|
+
Embedding__ModelName: "${EMBEDDING_MODEL_NAME:-text-embedding-3-large}"
|
|
50
|
+
Embedding__Dimensions: "${EMBEDDING_DIMENSIONS:-3072}"
|
|
51
|
+
AzureAISearch__Endpoint: "${AZURE_SEARCH_ENDPOINT:-}"
|
|
52
|
+
AzureAISearch__ApiKey: "${AZURE_SEARCH_APIKEY:-}"
|
|
53
|
+
AzureAISearch__IndexName: "${AZURE_SEARCH_INDEX:-knowz-selfhosted}"
|
|
54
|
+
KnowzPlatform__Enabled: "${KNOWZ_PLATFORM_ENABLED:-false}"
|
|
55
|
+
KnowzPlatform__BaseUrl: "${KNOWZ_PLATFORM_URL:-}"
|
|
56
|
+
KnowzPlatform__ApiKey: "${KNOWZ_PLATFORM_APIKEY:-}"
|
|
57
|
+
volumes:
|
|
58
|
+
- knowz-file-storage:/data/files
|
|
59
|
+
healthcheck:
|
|
60
|
+
test: curl -f http://localhost:8080/healthz || exit 1
|
|
61
|
+
interval: 30s
|
|
62
|
+
timeout: 10s
|
|
63
|
+
retries: 5
|
|
64
|
+
start_period: 30s
|
|
65
|
+
|
|
66
|
+
web:
|
|
67
|
+
image: ghcr.io/knowz-io/knowz-selfhosted-web:${KNOWZ_SELFHOSTED_VERSION:?KNOWZ_SELFHOSTED_VERSION must be set}
|
|
68
|
+
ports:
|
|
69
|
+
- "${WEB_PORT:-3000}:8080"
|
|
70
|
+
depends_on:
|
|
71
|
+
api:
|
|
72
|
+
condition: service_started
|
|
73
|
+
|
|
74
|
+
mcp:
|
|
75
|
+
image: ghcr.io/knowz-io/knowz-selfhosted-mcp:${KNOWZ_SELFHOSTED_VERSION:?KNOWZ_SELFHOSTED_VERSION must be set}
|
|
76
|
+
ports:
|
|
77
|
+
- "${MCP_PORT:-3001}:8080"
|
|
78
|
+
depends_on:
|
|
79
|
+
api:
|
|
80
|
+
condition: service_healthy
|
|
81
|
+
environment:
|
|
82
|
+
Knowz__BaseUrl: "${MCP_API_URL:-http://api:8080}"
|
|
83
|
+
MCP__BackendMode: "${MCP_BACKEND_MODE:-selfhosted}"
|
|
84
|
+
MCP__ApiKeyValidationEndpoint: "${MCP_API_KEY_VALIDATION_ENDPOINT:-/api/vaults}"
|
|
85
|
+
MCP__ServiceKey: "${MCP_SERVICE_KEY:?MCP_SERVICE_KEY must be set in .env}"
|
|
86
|
+
Authentication__ValidateApiKey: "${MCP_VALIDATE_API_KEY:-true}"
|
|
87
|
+
healthcheck:
|
|
88
|
+
test: curl -f http://localhost:8080/.well-known/oauth-authorization-server || exit 1
|
|
89
|
+
interval: 30s
|
|
90
|
+
timeout: 10s
|
|
91
|
+
retries: 5
|
|
92
|
+
start_period: 15s
|
|
93
|
+
|
|
94
|
+
volumes:
|
|
95
|
+
knowz-db-data:
|
|
96
|
+
knowz-file-storage:
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"releases": [
|
|
3
|
+
{
|
|
4
|
+
"version": "0.15.1",
|
|
5
|
+
"flavors": ["selfhosted"],
|
|
6
|
+
"releasedAt": "2026-09-01T12:49:00Z",
|
|
7
|
+
"minCliVersion": null,
|
|
8
|
+
"notes": "User-role mothership connect/browse/pull. Anonymous GHCR triple.",
|
|
9
|
+
"digests": null
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"version": "0.15.0",
|
|
13
|
+
"flavors": ["selfhosted"],
|
|
14
|
+
"releasedAt": "2026-09-01T12:15:00Z",
|
|
15
|
+
"minCliVersion": null,
|
|
16
|
+
"notes": "Look/feel restyle, session decrypt, fail-closed compose, vite-only web image. First complete public GHCR triple since the split 0.14.x tags.",
|
|
17
|
+
"digests": null
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"version": "0.14.11",
|
|
21
|
+
"flavors": ["selfhosted"],
|
|
22
|
+
"releasedAt": "2026-05-28T00:00:00Z",
|
|
23
|
+
"minCliVersion": null,
|
|
24
|
+
"notes": "Incomplete GHCR set: api:0.14.11 exists; web/mcp 0.14.11 404 (web/mcp last published at 0.14.10). Do not pin.",
|
|
25
|
+
"digests": null
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|