[{"data":1,"prerenderedAt":672},["ShallowReactive",2],{"navigation":3,"doc-/infra-and-deploy/self-host":217,"docs-all-paths":617},[4,19,39,63,87,111,127,195,211],{"title":5,"path":6,"stem":7,"children":8},"Welcome","/welcome","01.welcome",[9,11,15],{"title":5,"path":6,"stem":10},"01.welcome/index",{"title":12,"path":13,"stem":14},"Astar とは（5分）","/welcome/product-in-5-min","01.welcome/01.product-in-5-min",{"title":16,"path":17,"stem":18},"事業文脈","/welcome/business-context","01.welcome/02.business-context",{"title":20,"path":21,"stem":22,"children":23},"Getting Started","/getting-started","02.getting-started",[24,27,31,35],{"title":25,"path":21,"stem":26},"はじめかた","02.getting-started/index",{"title":28,"path":29,"stem":30},"リポジトリ取得と環境構築","/getting-started/repo-setup","02.getting-started/01.repo-setup",{"title":32,"path":33,"stem":34},"日々の開発ループ","/getting-started/dev-loop","02.getting-started/02.dev-loop",{"title":36,"path":37,"stem":38},"検証の 4 層","/getting-started/verification-tiers","02.getting-started/03.verification-tiers",{"title":40,"path":41,"stem":42,"children":43},"Architecture","/architecture","03.architecture",[44,47,51,55,59],{"title":45,"path":41,"stem":46},"アーキテクチャ","03.architecture/index",{"title":48,"path":49,"stem":50},"マルチテナンシーと RLS","/architecture/multi-tenancy-rls","03.architecture/01.multi-tenancy-rls",{"title":52,"path":53,"stem":54},"認可モデル","/architecture/authorization","03.architecture/02.authorization",{"title":56,"path":57,"stem":58},"AI サブシステム","/architecture/ai-subsystem","03.architecture/03.ai-subsystem",{"title":60,"path":61,"stem":62},"データモデル","/architecture/data-model","03.architecture/04.data-model",{"title":64,"path":65,"stem":66,"children":67},"Backend","/backend","04.backend",[68,71,75,79,83],{"title":69,"path":65,"stem":70},"バックエンド","04.backend/index",{"title":72,"path":73,"stem":74},"層構造","/backend/layering","04.backend/01.layering",{"title":76,"path":77,"stem":78},"規約","/backend/conventions","04.backend/02.conventions",{"title":80,"path":81,"stem":82},"テスト","/backend/testing","04.backend/03.testing",{"title":84,"path":85,"stem":86},"マイグレーション","/backend/migrations","04.backend/04.migrations",{"title":88,"path":89,"stem":90,"children":91},"Frontend","/frontend","05.frontend",[92,95,99,103,107],{"title":93,"path":89,"stem":94},"フロントエンド","05.frontend/index",{"title":96,"path":97,"stem":98},"モジュール内部構造","/frontend/module-anatomy","05.frontend/01.module-anatomy",{"title":100,"path":101,"stem":102},"API アクセスの一本道","/frontend/api-access-chain","05.frontend/02.api-access-chain",{"title":104,"path":105,"stem":106},"i18n","/frontend/i18n","05.frontend/03.i18n",{"title":108,"path":109,"stem":110},"デザインシステム","/frontend/design-system","05.frontend/04.design-system",{"title":112,"path":113,"stem":114,"children":115},"Go Agent And Cli","/go-agent-and-cli","06.go-agent-and-cli",[116,119,123],{"title":117,"path":113,"stem":118},"Go agent と CLI","06.go-agent-and-cli/index",{"title":120,"path":121,"stem":122},"Go agent","/go-agent-and-cli/go-agent","06.go-agent-and-cli/01.go-agent",{"title":124,"path":125,"stem":126},"CLI","/go-agent-and-cli/cli","06.go-agent-and-cli/02.cli",{"title":128,"path":129,"stem":130,"children":131},"Modules","/modules","07.modules",[132,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191],{"title":133,"path":129,"stem":134},"モジュール","07.modules/index",{"title":136,"path":137,"stem":138},"テーブル","/modules/table","07.modules/01.table",{"title":140,"path":141,"stem":142},"ドキュメントツリー","/modules/document","07.modules/02.document",{"title":144,"path":145,"stem":146},"AIチャット","/modules/ai","07.modules/03.ai",{"title":148,"path":149,"stem":150},"認証・権限","/modules/auth","07.modules/04.auth",{"title":152,"path":153,"stem":154},"AI取込","/modules/organize","07.modules/05.organize",{"title":156,"path":157,"stem":158},"ストレージ","/modules/storage","07.modules/06.storage",{"title":160,"path":161,"stem":162},"NAS同期","/modules/sync","07.modules/07.sync",{"title":164,"path":165,"stem":166},"ワークスペース","/modules/workspace","07.modules/08.workspace",{"title":168,"path":169,"stem":170},"テナントとメンバーシップ","/modules/tenant-membership","07.modules/09.tenant-membership",{"title":172,"path":173,"stem":174},"検索","/modules/search","07.modules/10.search",{"title":176,"path":177,"stem":178},"表示ビュー","/modules/display","07.modules/11.display",{"title":180,"path":181,"stem":182},"テンプレート","/modules/template","07.modules/12.template",{"title":184,"path":185,"stem":186},"メール","/modules/mail","07.modules/13.mail",{"title":188,"path":189,"stem":190},"電話","/modules/phone","07.modules/14.phone",{"title":192,"path":193,"stem":194},"リアルタイム","/modules/realtime","07.modules/15.realtime",{"title":196,"path":197,"stem":198,"children":199},"Infra And Deploy","/infra-and-deploy","08.infra-and-deploy",[200,203,207],{"title":201,"path":197,"stem":202},"インフラとデプロイ","08.infra-and-deploy/index",{"title":204,"path":205,"stem":206},"環境の種類","/infra-and-deploy/environments","08.infra-and-deploy/01.environments",{"title":208,"path":209,"stem":210},"セルフホスト構成","/infra-and-deploy/self-host","08.infra-and-deploy/02.self-host",{"title":212,"path":213,"stem":214,"children":215},"docs-map","/docs-map","09.docs-map/index",[216],{"title":212,"path":213,"stem":214},{"id":218,"title":208,"body":219,"description":611,"extension":612,"meta":613,"navigation":614,"path":209,"seo":615,"stem":210,"__hash__":616},"docs/08.infra-and-deploy/02.self-host.md",{"type":220,"value":221,"toc":604},"minimark",[222,225,246,261,265,302,305,473,480,489,493,496,526,571,574],[223,224,208],"h1",{"id":208},[226,227,228,232,233,236,237,240,241,245],"p",{},[229,230,231],"code",{},"docker-compose.selfhost.yml","（リポジトリルート）と ",[229,234,235],{},"deploy/helm/"," / ",[229,238,239],{},"deploy/k8s/"," は、",[242,243,244],"strong",{},"顧客が自分のインフラに Astar をデプロイするための配布物","です。日々の開発ループとは別物です。",[247,248,250],"callout",{"type":249},"warning",[226,251,252,253,257,258,260],{},"コードを書きながら動作確認したいだけなら、このページではなく ",[254,255,256],"a",{"href":33},"はじめに / dev-loop"," を使ってください。",[229,259,231],{}," は本番相当のビルド済みイメージを使う想定で、コード変更のたびにフルビルドが走るため開発ループには向きません。",[262,263,231],"h2",{"id":264},"docker-composeselfhostyml",[226,266,267,268,271,272,275,276,236,279,236,282,285,286,289,290,293,294,297,298,301],{},"ルート ",[229,269,270],{},"README.md"," の Self-Hosted セクションが示す通り、",[229,273,274],{},".env"," に必須シークレット（",[229,277,278],{},"APP_ENCRYPTION_KEY",[229,280,281],{},"SESSION_PASSWORD",[229,283,284],{},"JWT_SECRET","、いずれも顧客側で ",[229,287,288],{},"openssl rand"," 等で新規生成するローカル値 — ",[229,291,292],{},"infrastructure/secrets/secrets.json"," とは無関係）を用意してから ",[229,295,296],{},"docker compose -f docker-compose.selfhost.yml up -d"," を叩くだけで ",[229,299,300],{},"http://localhost:3000"," が立ち上がる構成です。",[226,303,304],{},"含まれるサービス:",[306,307,308,324],"table",{},[309,310,311],"thead",{},[312,313,314,318,321],"tr",{},[315,316,317],"th",{},"サービス",[315,319,320],{},"イメージ / ビルド元",[315,322,323],{},"役割",[325,326,327,347,372,387,402,417,440,458],"tbody",{},[312,328,329,335,340],{},[330,331,332],"td",{},[229,333,334],{},"postgres",[330,336,337],{},[229,338,339],{},"pgvector/pgvector:pg17",[330,341,342,343,346],{},"DB。",[229,344,345],{},"app_user","（RLS 用）は init スクリプトで作成、以降のマイグレーションは backend 起動時の Flyway が担当",[312,348,349,357,362],{},[330,350,351,236,354],{},[229,352,353],{},"minio",[229,355,356],{},"minio-init",[330,358,359],{},[229,360,361],{},"minio/minio",[330,363,364,365,367,368,371],{},"S3 互換オブジェクトストレージ。",[229,366,356],{}," が ",[229,369,370],{},"documents"," バケットをバージョニング有効で作成",[312,373,374,379,384],{},[330,375,376],{},[229,377,378],{},"kreuzberg",[330,380,381],{},[229,382,383],{},"ghcr.io/kreuzberg-dev/kreuzberg:4.7.4",[330,385,386],{},"ドキュメントのテキスト抽出（OCR/Markdown化）",[312,388,389,394,399],{},[330,390,391],{},[229,392,393],{},"ndlocr",[330,395,396],{},[229,397,398],{},"infrastructure/ndlocr/",[330,400,401],{},"日本語最適化 OCR（NDLOCR-Lite）",[312,403,404,409,414],{},[330,405,406],{},[229,407,408],{},"doc-export",[330,410,411],{},[229,412,413],{},"packages/doc-export/",[330,415,416],{},"HTML → PDF/PNG エクスポートレンダラー",[312,418,419,424,429],{},[330,420,421],{},[229,422,423],{},"doc-converter",[330,425,426],{},[229,427,428],{},"infrastructure/gcp/docker/doc-converter/",[330,430,431,432,435,436,439],{},"旧 Office 形式 (",[229,433,434],{},".doc","/",[229,437,438],{},".xls",") の LibreOffice 変換",[312,441,442,447,452],{},[330,443,444],{},[229,445,446],{},"backend",[330,448,449],{},[229,450,451],{},"infrastructure/gcp/docker/backend/Dockerfile.production",[330,453,454,455],{},"Spring Boot API。",[229,456,457],{},"SPRING_PROFILES_ACTIVE=selfhost",[312,459,460,465,470],{},[330,461,462],{},[229,463,464],{},"frontend",[330,466,467],{},[229,468,469],{},"frontend/Dockerfile",[330,471,472],{},"Nuxt Web UI",[226,474,475,476,479],{},"認証は組み込みモード（",[229,477,478],{},"NUXT_PUBLIC_AUTH_MODE: builtin","）で、本番 SaaS の Auth0 は使いません。",[247,481,483],{"type":482},"info",[226,484,485,486,488],{},"Collabora（ブラウザ内 Office 編集）は本番 SaaS では専用 GCE VM として動いていますが、現時点の ",[229,487,231],{}," には含まれていません。self-host 環境でこの機能が必要な場合は個別に構成が必要です。",[262,490,492],{"id":491},"kubernetes-版deployhelmdeployk8s","Kubernetes 版（deploy/helm・deploy/k8s）",[226,494,495],{},"より大規模な顧客向けに、Compose の代わりに Kubernetes へデプロイする経路も用意されています。",[497,498,499,506],"ul",{},[500,501,502,505],"li",{},[229,503,504],{},"deploy/helm/astar/"," — Helm チャート",[500,507,508,510,511,514,515,514,518,521,522,525],{},[229,509,239],{}," — Helm を使わないプレーンな YAML マニフェスト一式（",[229,512,513],{},"namespace.yaml"," → ",[229,516,517],{},"secret.yaml",[229,519,520],{},"configmap.yaml"," → 各サービスの順に ",[229,523,524],{},"kubectl apply","）",[226,527,528,529,531,532,534,535,537,538,236,540,236,542,236,544,236,546,236,548,550,551,554,555,558,559,562,563,566,567,570],{},"サービス構成は Compose 版と近いものの、",[229,530,239],{}," には ",[229,533,393],{}," と ",[229,536,423],{}," が含まれず（",[229,539,334],{},[229,541,353],{},[229,543,378],{},[229,545,408],{},[229,547,446],{},[229,549,464],{}," の 6 つ）、認証も ",[229,552,553],{},"SPRING_PROFILES_ACTIVE=local","（モック認証）固定です。frontend/backend の Docker イメージは ",[229,556,557],{},"ghcr.io"," に push される専用ビルド（",[229,560,561],{},"release.yml"," の ",[229,564,565],{},"build-frontend-docker"," ジョブ等）で、",[242,568,569],{},"本番 SaaS の Cloudflare Pages / GCE デプロイとは別系統","です。",[262,572,573],{"id":573},"この構成を触るときの注意",[497,575,576,582,598],{},[500,577,578,579,581],{},"顧客のセルフホスト環境そのものには通常アクセスしません。動作確認はローカルで ",[229,580,296],{}," を実行して行います。",[500,583,584,585,588,589,236,591,236,594,597],{},"Compose・Helm・k8s マニフェストのいずれかに新しいサービスや環境変数を足すときは、",[242,586,587],{},"3 経路すべて","（",[229,590,231],{},[229,592,593],{},"deploy/helm/astar/values.yaml",[229,595,596],{},"deploy/k8s/*.yaml","）の整合を確認してください。放置すると経路ごとに構成がずれます。",[500,599,600,601,603],{},"ここでの環境変数名・デフォルト値は配布物の一部であり公開情報ですが、本番の ",[229,602,292],{}," に載っている実際のシークレット値とは無関係です。混同しないこと。",{"title":605,"searchDepth":606,"depth":606,"links":607},"",2,[608,609,610],{"id":264,"depth":606,"text":231},{"id":491,"depth":606,"text":492},{"id":573,"depth":606,"text":573},"docker-compose.selfhost.yml と Kubernetes マニフェストが何のためのものか — 顧客向けセルフホストデプロイであり、開発ループではないことを整理する。","md",{},true,{"title":208,"description":611},"kaeYQQiSQBfu5V5Jbw44PXREKHPSZm31sgT_UBqbuQs",[618,620,621,623,624,625,626,627,628,629,630,631,633,634,635,636,637,639,640,641,642,643,645,647,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,667,668,669,670],{"path":13,"title":619},"Astar とは何か（5分で）",{"path":17,"title":16},{"path":6,"title":622},"ようこそ",{"path":29,"title":28},{"path":33,"title":32},{"path":37,"title":36},{"path":21,"title":25},{"path":49,"title":48},{"path":53,"title":52},{"path":57,"title":56},{"path":61,"title":60},{"path":41,"title":632},"システムアーキテクチャ",{"path":73,"title":72},{"path":77,"title":76},{"path":81,"title":80},{"path":85,"title":84},{"path":65,"title":638},"バックエンドガイド",{"path":97,"title":96},{"path":101,"title":100},{"path":105,"title":104},{"path":109,"title":108},{"path":89,"title":644},"フロントエンドガイド",{"path":121,"title":646},"Go agent — NAS 同期エージェント",{"path":125,"title":648},"astar CLI",{"path":113,"title":117},{"path":137,"title":136},{"path":141,"title":140},{"path":145,"title":144},{"path":149,"title":148},{"path":153,"title":152},{"path":157,"title":156},{"path":161,"title":160},{"path":165,"title":164},{"path":169,"title":168},{"path":173,"title":172},{"path":177,"title":176},{"path":181,"title":180},{"path":185,"title":184},{"path":189,"title":188},{"path":193,"title":192},{"path":129,"title":666},"モジュール索引",{"path":205,"title":204},{"path":209,"title":208},{"path":197,"title":201},{"path":213,"title":671},"docs/ 地図",1785452455541]