Przejdź do głównej zawartości

Montaż (runbook)

Kroki instalacji tenanta na aios-core — tryb aion (hub) lub standalone (eject).

Okno terminala
# na serwerze / w CI
cp -a /var/www/aios-core /var/www/<tenant>.example.pl
cd /var/www/<tenant>.example.pl
cp .env.example .env
# uzupełnij POSTGRES_*, DIRECTUS_*, AION_*
npm install

modules.json — wybór pluginów i trybu:

Pole Znaczenie
mode aion | standalone
tenant_id ID w hub (wymagane w aion)
plugins aios-seo, aios-articles, aios-images, aios-webmcp, aios-tracking, opcjonalnie aios-commerce
profiles ["commerce"] tylko po kill-gate Discovery
slots mapowanie slotów Astro (header/footer/article)
  1. Utwórz wpis tenanta w hub registry (hub.aionflow.pl / clients.json).
  2. Wygeneruj tenant key (Bearer) → AION_TENANT_KEY + AION_TENANT_ID.
  3. Ustaw AION_MODE=aion, AION_HUB_URL=https://hub.aionflow.pl.
  4. Smoke: NetworkPort dokłada X-Aion-Tenant; UsageMeter batche do /api/usage.
Okno terminala
docker compose up -d
# zaimportuj schema/schema.snapshot.json (+ fragmenty pluginów, np. tracking_config)
npm run data # fixtures/dump → apps/starter/src/data (dev)
npm run build

Tracking: wgraj packages/tracking/schema/tracking_config.json — IDs GA4/Meta tylko w Directus / env, nigdy w kodzie.

Plugin aios-webmcp w plugins → Astro aiosWebmcp({ packs: [...] }) wstrzykuje bridge (injectScript head-inline).

  • Packs day-one: site-nav, contact, content-credentials
  • Pack commerce wyłącznie z profilem commerce
  • Weryfikacja: HTML zawiera modelContext / registerTool; node scripts/check-webmcp-html.mjs
Okno terminala
npm run exit-harness -- apps/starter/dist

W standalone build musi mieć zero URL *.aionflow.pl. W aion tenant zostaje w sieci — harness i tak skanuje artefakty pod kątem wycieków zgodnie z polityką projektu.

  1. modules.json: "mode": "standalone", tenant_id: null
  2. Usuń AION_TENANT_KEY / callouty hub
  3. UsageMeter → lokalny usage_log (Directus)
  4. Stock: BYOK (PEXELS_API_KEY / PIXABAY_API_KEY / UNSPLASH_ACCESS_KEY) zamiast BOT_STOCK_URL
  5. npm run exit-harness -- dist → PASS
  6. Odłącz symlink / wpis hub (opcjonalnie zachowaj historię usage)

aios-commerce instaluj tylko gdy Discovery potwierdzi katalog + inventory + fulfillment i profiles: ["commerce"].
Bez tego nie dodawaj pluginu ani stron /produkty — zob. packages/commerce/plugin/directus/README.md.

  • npm test + npm run ci:no-nuxt + npm run ci:no-hardcode-analytics
  • npm run build + check-webmcp-html (gdy webmcp włączony)
  • Directus health 200
  • Hub /api/usage?tenant=… (tryb aion) po pierwszym calloucie
  • ExitHarness PASS