Aia nā lula ma ka māhele 7 o docs/architecture/23-ops.md a me ka māhele 4.1 o docs/architecture/07-data.md. Eia ke kaʻina hana.
Ka hōʻoia e palekana ai
Holo pololei ka mana R ma ke kūkulu ʻikepili R a me R emi hoʻokahi. Māhele ʻia kēlā me kēia hoʻololi kūkulu ʻikepili i ka hoʻonui, hoʻololi, a me ka pani ʻana:
- Hoʻonui: hoʻohui i kolamu, papaʻaina, a i ʻole helu kuhikuhi hou. Nānā ʻole ke code kahiko iā ia.
- Hoʻololi, no hoʻokahi mana a ʻoi: kākau ke code hou i nā ʻano ʻelua a heluhelu i ke ʻano hou; hoʻopiha kahi hana hiki ke hoʻomau i nā lālani kahiko.
- Pani: wehe i ke ʻano kahiko ma kahi mana ma hope, ʻo ia wale nō.
No laila hiki i nā kaʻina hana kahiko a hou ke kaʻana i hoʻokahi waihona ʻikepili i kēlā me kēia manawa o kahi hōʻano hou holo mālie. ʻAʻohe neʻe ʻikepili i lalo: ʻaʻole hiki i kahi neʻe i holoi kolamu i hoʻokahi hola i hala ke hoʻihoʻi i nā lālani i kākau ʻia i ia hola.
Nānā ka hana CI schema-compat i ka hōʻoia i kēlā me kēia mana ma ka holo ʻana i nā hoʻāʻo o ka mana ma mua ma luna o ke kūkulu ʻikepili hou.
Ma mua o kou hoʻomaka ʻana
- E heluhelu i nā memo hoʻokuʻu. Hōʻike ka hoʻokuʻu e pono ai i manawa mālama, me ka manaʻo lōʻihi; hoʻokahi wale nō ma kēlā me kēia mana.
- Holo i ka hoʻāʻo hoʻihoʻi, a i ʻole hōʻoia ua hala ia no kēia hoʻokuʻu (backup-restore.md). Kāohi ka hoʻāʻo hāʻule i ka hōʻano hou.
- E hana i kope papaʻa kumu:
docker compose -f docker/compose.yaml --profile backup run --rm backup.
Docker Compose ma hoʻokahi host
export QUIRE_RELEASE=2026.10.0 # or set it in docker/.env
docker compose -f docker/compose.yaml pull # or build
docker compose -f docker/compose.yaml run --rm migrate
docker compose -f docker/compose.yaml up -d --no-deps web content collab
docker compose -f docker/compose.yaml up -d --no-deps worker schedulerHe manaʻo ko ke kaʻina:
- Neʻe ʻikepili mua, i ka wā e lawelawe ana ka mana kahiko i ka hoʻoili. ʻAʻole ʻike ʻia nā neʻe hoʻonui iā ia.
- A laila ka papa pūnaewele. Ma SIGTERM, hoʻololi kēlā me kēia kaʻina pūnaewele iā
/readyzidraining, hoʻopau i nā noi e holo ana i loko o 30 kekona, pani i nā kahawai me ka hōʻailona hoʻohui hou, a puka. He 40 kekona ʻostop_grace_periodi ʻoki ʻole ai ʻo Compose i ka hoʻopau olakino. - ʻO nā worker ka hope, i hana ʻia ai ke ʻano hanana hou ma mua o ka manaʻo ʻia e ka mea ʻaiʻē hou. Hoʻōki koke nā worker i ka loaʻa ʻana o nā hana a loaʻa iā lākou 120 kekona; loaʻa hou ʻia kekahi hana ʻaʻole hiki ke hoʻopau ʻia ma kahi ʻē aʻe, palekana kēia no ka hana hoʻokahi-wale nō o kēlā me kēia hana. Hoʻolilo ka scheduler i ke alakaʻi ma kona māka manawa aʻe.
Ma hoʻokahi host, pani ʻo Compose i kēlā me kēia ipu ma kona kaʻina, no laila he wā pōkole ke kaʻawale no kēlā me kēia lawelawe. No ka nele loa o kahi wā kaʻawale, holo i ʻelua ipu papa pūnaewele ma hope o kou proxy ponoʻī (faila pani e hoʻohui ana i lawelawe web lua me ka ʻole o ke awa hoʻolaha), a hana hou iā lākou hoʻokahi i ka manawa, e kali ana i ka hōʻike olakino o kēlā me kēia ma mua o ka neʻe ʻana aku.
Nā host he nui a i ʻole orchestrator
E hoʻohana i ke kaʻina like: neʻe ʻikepili hoʻokahi manawa mai kekahi hana hoʻokahi, a laila hoʻohou mālie i ka papa pūnaewele me hoʻokahi mea hoʻonui a ʻaʻohe mea hiki ʻole, a laila nā worker. Kuhikuhi i nā hoʻāʻo mākaukau iā /readyz a me nā hoʻāʻo ola iā /healthz.
Me nā waihona ʻikepili tenant hoʻolaʻa, hana nā mea ʻelua i ka ʻanuʻu migrate: neʻe mua i ka waihona ʻikepili hoʻomalu, a laila kēlā me kēia waihona i helu ʻia ma ops.tenant_database, hoʻokahi i kēlā manawa ma lalo o kona laka ponoʻī. ʻAʻole hoʻōki ka hewa ma kekahi waihona tenant i nā mea ʻē aʻe. Ma hope o nā waihona a pau, hoʻohālikelike ka hana i nā puke neʻe a puka me ka helu hewa ke ʻokoʻa nā neʻe i hoʻohana ʻia e kekahi waihona mai nā mea o ka waihona hoʻomalu; inoa ʻia kēlā me kēia mea ma hope a ma mua paha. Hoʻouka pū ke kauoha hoʻokahi i nā papa queue ma kēlā me kēia waihona, no ka mea hoʻohana ka worker i nā hana tenant i hoʻopaʻa ʻia ma kahi i kākau ʻia ai.
bun apps/worker/src/migrate.ts # what the Compose step runs
bun run db:migrate:all # the same, from a checkoutLoaʻa kēlā me kēia waihona hoʻolaʻa ma ka inoa i hoʻopaʻa ʻia ai. Pono kahi waihona i hoʻopaʻa ʻia ma ke ʻano env:QUIRE_DB_NORTHWIND_URL i kēia mau mea:
| Loli | Hoʻohana ʻia no |
|---|---|
QUIRE_DB_NORTHWIND_URL |
Kuleana polokalamu, no ka papa pūnaewele a me ka worker |
QUIRE_DB_NORTHWIND_URL_MIGRATOR |
Kuleana neʻe, no kēia kauoha a no nā hoʻololi wahi |
QUIRE_DB_NORTHWIND_URL_SUPERUSER |
Koho: hoʻopili hou i ka hoʻomaka mua (nā kuleana, nā papa hana, nā kōkua) ma mua o ka neʻe ʻana |
Hōʻike ʻia kahi waihona i hoʻopaʻa ʻia me ka pilina _MIGRATOR ʻole ma ke ʻano he hewa; ʻaʻole loa e kāpae wale ʻia. Hiki ke hoʻohou mālie i ka papa pūnaewele ma hope o ka pau ʻana o ka waihona hoʻomalu. Hoʻomaopopo ka waihona tenant i lohi i hoʻokahi hola; hoʻouna ʻaoʻao ka lohi lā hoʻokahi.
pgvector
Mai ka neʻe 0264 aku, hoʻohana ka ʻike kumu i helu kuhikuhi pgvector HNSW inā loaʻa ka hoʻonui ma ke kikowaena; kūkulu ʻia ka lawelawe Compose postgres me ia (docker/postgres.Dockerfile). Hana ka migrate mua ma hope o ka hoʻololi kiʻi i ka hoʻonui ma o ka hoʻomaka superuser; hoʻohui ʻo 0264 i kolamu vector i hana ʻia a kūkulu i ka helu kuhikuhi. Kākau hou ka hoʻohui kolamu i app.ai_chunk hoʻokahi manawa ma lalo o laka kūʻokoʻa, no laila kali nā noi kumu; ʻaʻole hoʻopā kekahi mea ʻē aʻe i kēlā papaʻaina.
Ma kahi kikowaena ʻaʻohe pgvector, hoʻopaʻa ʻo 0264 i leka hoʻomaopopo a ʻaʻohe mea e hoʻololi; pololei mau ka huli. Me pgvector ma mua o 0.8, kūkulu ʻia ke kolamu a me ka helu kuhikuhi akā pololei mau ka huli a hōʻano hou ʻia ka hoʻonui (alter extension vector update), no ka mea, pono ka huli kānana HNSW i nā huli kaʻina o 0.8. No ka hoʻā ʻana ma hope ma kahi kikowaena nele iā ia, hoʻouka i ka hoʻonui, holo hou i ka hoʻomaka (a i ʻole create extension vector ma ke ʻano he superuser), a laila ma ke ʻano he quire_migrator:
set maintenance_work_mem = '1GB'; -- the HNSW build is much faster in memory
select ops.ai_chunk_enable_vector_index();Hana hoʻokahi wale nō ia a hoʻihoʻi iā enabled a i ʻole unavailable. E holo pū iā ia ma kēlā me kēia waihona tenant hoʻolaʻa.
Hoʻihoʻi i ka mana ma mua
Loaʻa mau ka hoʻihoʻi code: hoʻonoho iā QUIRE_RELEASE i ka tag ma mua, a holo hou iā up -d. Hana kēia no ka mea kūpono ke kūkulu ʻikepili ma nā ʻaoʻao ʻelua i loko o hoʻokahi mana.
ʻAʻole hāʻawi ʻia ka hoʻihoʻi kūkulu ʻikepili. ʻO nā mea hiki ʻole ke wehe a me ke ʻano hoʻihoʻi:
| ʻAʻole hiki ke hoʻihoʻi | Hoʻihoʻi |
|---|---|
| Neʻe pani i holoi kolamu | Hoʻihoʻi manawa kikoʻī ma mua o ka holoi ʻana i waihona ʻikepili hou; unuhi a hoʻohui |
| Hoʻololi ʻikepili ma kahi | Hana like, a laila hoʻoponopono i nā kākau ma hope |
| Nā webhook a me nā hanana i hoʻouna ʻia | Nā hanana uku pānaʻi, ʻaʻole loa ka holoi ʻana |
| Leka uila i hoʻouna ʻia | Kākau kekahi kanaka i ka memo ukali |
| Kaulahao hash hōʻoia | ʻAʻole loa e kākau hou; hoʻohui i komo hoʻoponopono |
ʻO ia ke kumu e hoʻokuʻu hoʻokahi ʻia ai ka neʻe pani: loaʻa i ka hoʻihoʻi kahi palena maʻemaʻe.
Nānā i ka hōʻano hou
docker compose -f docker/compose.yaml ps # every service healthy
curl -fsS http://localhost:8080/readyz # ready, and what is configured
docker compose -f docker/compose.yaml logs migrate # the migrations applied