ນີ້ແມ່ນຜະລິດຕະພັນຄົບຖ້ວນຢູ່ເຊີບເວີດຽວ: LMS, ງານພື້ນຫຼັງຂອງມັນ,
ບໍລິການແກ້ໄຂຮ່ວມກັນແບບສົດ ແລະ ບໍລິການທາງເລືອກທຸກໆອັນຢູ່
ເບື້ອງຫຼັງ profile ໜຶ່ງ. ດີຊາຍນແມ່ນ docs/architecture/23-ops.md ບົດທີ 2.
ເປົ້າໝາຍອື່ນໆ: Vercel ແລະ Cloudflare Workers ແລ່ນແຕ່ຊັ້ນເວັບ. ການອັບເດດຢູ່ໃນ upgrade.md, ແລະ ການ ສຳຮາງ ແລະ ການຝຶກການກູ້ຄືນຢູ່ໃນ backup-restore.md.
ສິ່ງທີ່ທ່ານຕ້ອງການ
- Docker Engine 27 ຫຼື ຖັດໄປພ້ອມ Compose plugin 2.30 ຫຼື ຖັດໄປ.
- 4 ຫົວຊິ່ງ CPU ແລະ 8 GB ຄວາມຈື່ຈຳສຳລັບ stack ຄ່າເລີ່ມຕົ້ນ; 8 ຫົວຊິ່ງ
ແລະ 16 GB ດ້ວຍ
--profile full(ClamAV ແຕ່ລະອັນຖືກລາຍເຊັນ ປະມານ 1.5 GB). - ຊື່ DNS ສຳລັບຊັ້ນເວັບ ແລະ ຊື່ທີສອງສຳລັບເນື້ອຫາທີ່ບໍ່ໄວ້ເຊື່ອຖື. ພວກມັນຕ້ອງເປັນເຊີບເວີທີ່ແຕກຕ່າງກັນ: ຊຸດ SCORM ແລະ HTML ທີ່ອັບ ໂຫຼດແລ່ນຢູ່ຕົ້ນສະບັບຂອງເນື້ອຫາ ເພື່ອໃຫ້ພວກມັນບໍ່ເຄີຍສາມາດ ອ່ານ cookie ຂອງ LMS ໄດ້.
- ສຳລັບການທົດສອບທ້ອງຖິ່ນ
lvh.meແລະ*.localhostແກ້ໄປ 127.0.0.1 ເຊິ່ງແມ່ນສິ່ງທີ່docker/.env.exampleໃຊ້. ບໍລິການproxyເອງຂອງ stack ບໍລິການທັງສອງຜ່ານ https ດ້ວຍ certificate authority ທ້ອງຖິ່ນ ດັ່ງນັ້ນບໍ່ມີຫຍັງອື່ນຖືກຕິດຕັ້ງ (ເບິ່ງ “TLS”). - ພອດ 80 ແລະ 443 ວ່າງຢູ່ເຊີບເວີ (
QUIRE_PROXY_HTTP_PORTແລະQUIRE_PROXY_HTTPS_PORTຍ້າຍພວກມັນ).
ການແລ່ນຄັ້ງທຳອິດ
QUIRE_APP_ORIGIN=https://learn.example.org \
QUIRE_CONTENT_ORIGIN=https://content.example-content.org \
QUIRE_SETUP_ADMIN_EMAIL=you@example.org \
docker/scripts/init-env.sh
docker compose -f docker/compose.yaml up -d --build
docker compose -f docker/compose.yaml logs initdocker/scripts/init-env.sh ຂຽນ docker/.env ຈາກ docker/.env.example
ພ້ອມຄວາມລັບທຸກໆອັນທີ່ສ້າງແລ້ວ (ລະຫັດຜ່ານຖານຂໍ້ມູນ, ກະແຈ
ລາຍລານື້ ແລະ master, ຄູ່ກະແຈເປີດເລີ່ມເນື້ອຫາ) ແລະ ກະແຈ
ລາຍລານື້ຈຸດກວດສອບການກວດກາຢູ່ docker/secrets/audit-signing-key.pem
ເຊິ່ງ Compose mount ມັນເຂົ້າ workers ເປັນຄວາມລັບ. ມັນຕ້ອງການແຕ່
sh, awk ແລະ openssl ເທົ່ານັ້ນ ແລະ ປະຕິເສດການຂຽນທັບ
docker/.env ທີ່ມີຢູ່ແລ້ວ. ຄັດລອກໄຟລ໌ທັງສອງອອກຈາກເຊີບເວີ: ໂດຍ
ບໍ່ມີ QUIRE_MASTER_KEY ຖານຂໍ້ມູນທີ່ກູ້ຄືນມາບໍ່ສາມາດຖືກຖອກລະຫັດ
ຂໍ້ມູນທີ່ເກັບໄວ້ໄດ້. ເພື່ອເຕີມໄຟລ໌ດ້ວຍມືແທນ cp docker/.env.example docker/.env; ໄຟລ໌ບອກວິທີສ້າງຄວາມລັບແຕ່ລະອັນ.
ຕົ້ນສະບັບທັງສອງຕ້ອງເປັນ https: ບໍລິການເນື້ອຫາປະຕິເສດ http
ເລຍໃນການຜະລິດ ແລະ ພວກມັນບໍ່ຄວນແບ່ງ domain ທີ່ສາມາດລົງທະບຽນ
ໄດ້ຮ່ວມກັນ. ບໍລິການ proxy ຢຸດ TLS ສຳລັບທັງສອງ (ເບິ່ງ “TLS”);
init-env.sh ປະຕິເສດເນື້ອຫາຕົ້ນສະບັບ http://.
Stack ເລີ່ມໃນລຳດັບທີ່ກຳນົດໄວ້ ແລະ ຂັ້ນຕອນແຕ່ລະອັນລໍຖ້າ ຂັ້ນຕອນກ່ອນໜ້າ:
postgresກາຍເປັນສະບາຍດີ. ໃນການເລີ່ມຄັ້ງທຳອິດແທ້ ສະຄຣິບ init ຂອງມັນ (docker/postgres/init/90-passwords.sh) ຕັ້ງລະຫັດ ຜ່ານບົດບາດທັງສີ່.migrateນຳໃຊ້ການຍ້າຍຂໍ້ມູນທຸກໆຄັ້ງ ແລະ ເລີ່ມຕາຕະລາງງານ ໃນຖານຂໍ້ມູນຄວບຄຸມ ແລະ ໃນຖານຂໍ້ມູນ tenant ສະເພາະທຸກໆແຫ່ງ, ກວດສອບວ່າພວກມັນລ້ວນຕົກລົງກັນ ຈາກນັ້ນອອກ (docs/ops/upgrade.md). ການຍ້າຍຂໍ້ມູນແລ່ນໃນທຸກໆຄັ້ງທີ່ເລີ່ມ ແລະ ເປັນ idempotent ດັ່ງນັ້ນການອັບເດດແມ່ນຮູບລະບົບໃໝ່ ແລະ ການເລີ່ມລະບົບໃໝ່.init(apps/web/src/first-run.ts) ບັນທຶກຖານຂໍ້ມູນຂອງແອັບ ພັກພາຍໃຕ້QUIRE_DATABASE_IDແລະ, ເມື່ອQUIRE_SETUP_ADMIN_EMAILຖືກຕັ້ງ, ສ້າງອົງການທຳອິດ ແລະ ຜູ້ບໍລິຫານຂອງມັນ. ທີ່ຢູ່ເຂົ້າ ສູ່ລະບົບ ແລະ ລະຫັດຜ່ານທີ່ສ້າງຈະພິມອອກໜຶ່ງຄັ້ງ, ໃນdocker compose logs init.web,content,worker,scheduler,collabແລະcentrifugoເລີ່ມ.proxyເລີ່ມເມື່ອwebແລະcontentເປັນສະບາຍດີແລ້ວ.
ເປີດ https://demo. ຕິດຕາມດ້ວຍ domain ແອັບພິເຄຊັນຂອງທ່ານ (ບັນທຶກ
init ພິມທີ່ຢູ່ເຂົ້າສູ່ລະບົບທີ່ແນ່ນອນ) ແລະ ເຂົ້າສູ່ລະບົບ. ໃນ
ການຕິດຕັ້ງທ້ອງຖິ່ນ ເຊື່ອຖື certificate authority ຂອງ proxy ກ່ອນ
(ເບິ່ງ “TLS”). ປ່ຽນລະຫັດຜ່ານທີ່ສ້າງທີ່ /account/security.
ຂະບວນການທີ່ເລີ່ມໂດຍບໍ່ມີຄວາມລັບທີ່ຈຳເປັນຈະປະຕິເສດການເລີ່ມ ແລະ ລະບຸການຕັ້ງຄ່າທີ່ຂາດໃນບັນທຶກຂອງມັນ. ບໍ່ມີຫຍັງເລີ່ມ ໂດຍຕັ້ງຄ່າຄ້າງ.
ບໍລິການ ແລະ profiles
| ບໍລິການ | Profile | ສິ່ງທີ່ມັນເຮັດ |
|---|---|---|
| postgres | ສະເໝີ | ຖານຂໍ້ມູນ (PostgreSQL 18 ກັບ pgvector, ສ້າງຈາກ docker/postgres.Dockerfile), ພ້ອມ WAL ຈັດເກັບໄວ້ນັບແຕ່ການບູດຄັ້ງທຳອິດ |
| migrate, init | ສະເໝີ | ແຮກດຽວ: ການຍ້າຍຂໍ້ມູນ ຈາກນັ້ນການແລ່ນຄັ້ງທຳອິດ |
| web | ສະເໝີ | LMS, ຢູ່ QUIRE_HTTP_PORT (8080) |
| content | ສະເໝີ | ຕົ້ນສະບັບຂອງເນື້ອຫາທີ່ບໍ່ໄວ້ເຊື່ອຖື, ຢູ່ QUIRE_CONTENT_PORT (8081) |
| worker | ສະເໝີ | ງານພື້ນຫຼັງ: ອີເມວ, ລາຍງານ, ການປະມວນຜົນໄຟລ໌, webhooks |
| scheduler | ສະເໝີ | ງານຊ້ຳເວລາ: ລົງທະບຽນຕາຕະລາປັບກາງ 64 ແຫ່ງ ແລະ ມອບໃຫ້ worker; ຜູ້ນຳໜຶ່ງຄົນໃນເວລາດຽວ |
| collab | ສະເໝີ | websocket ການແກ້ໄຂຮ່ວມກັນ, ຢູ່ QUIRE_COLLAB_HTTP_PORT (1234) |
| centrifugo | ສະເໝີ | ການແຈກຢາຍສົດ, ຢູ່ QUIRE_REALTIME_PORT (8000) |
| proxy | ສະເໝີ | Caddy, ຊອນໜ້າ TLS ໃນພອດ 80 ແລະ 443 (ເບິ່ງ “TLS”) |
| valkey | cache |
Cache ແລະ ຂໍ້ຈຳກັດອັດຕາ |
| clamav | scan |
ການສະແກນ malware ສຳລັບການອັບໂຫຼດ |
| gotenberg | preview |
Office ເປັນ PDF previews, ການສະແດງໃບຢັ້ງຢືນ |
| imgproxy | images |
ຮູບທີ່ປັບຂະໜາດ ແລະ ປ່ຽນຮູບແບບ |
| transcoder | video |
ຮູບລະບົບ worker ກັບ ffmpeg ທີ່ເປັນແຕ່ LGPL, ສຳລັບການປ່ຽນຮູບວິດີໂອ |
| seaweedfs | storage |
ການເກັບ object ທີ່ເຂົ້າກັບ S3 ຢູ່ເຊີບເວີນີ້ |
| otelcol | observability |
ຕົວເກັບ OpenTelemetry |
| mailpit | devmail |
ຈັບທຸກຈົດໝາຍທີ່ອອກໄປ, ສຳລັບລອງໃຊ້ Quire |
| backup | backup |
base backup ແຮກດຽວ; ເບິ່ງ backup-restore.md |
| backup-scheduler, backup-offsite | backup |
base backup ທຸກ QUIRE_BACKUP_INTERVAL_HOURS, ແລະ ສຳເນົານອກເຊີບເວີທີ່ລະຫັດພ້ອມການຝຶກກວດສອບລາຍອາທິດ |
| h5p | h5p |
ຮູບລະບົບເຄື່ອງມື H5P LTI 1.3 ທີ່ທ່ານສະໜອງໃນ QUIRE_H5P_IMAGE, ຢູ່ QUIRE_H5P_PORT (8090); ເບິ່ງ “ການເຊື່ອມຕໍ່ຜູ້ໃຫ້ບໍລິການ H5P” |
--profile full ເລີ່ມບໍລິການທາງເລືອກທຸກໆອັນນອກເໜືອ backup
ແລະ h5p. ເລີ່ມໜຶ່ງດ້ວຍ docker compose -f docker/compose.yaml --profile scan up -d. ໂດຍບໍ່ມີບໍລິການທາງເລືອກ Quire ຍັງເຮັດວຽກ
ແລະ ບອກສິ່ງທີ່ຂາດ: ບໍ່ມີສະແກນເນີໝາຍຄວາມວ່າການອັບໂຫຼດຖືກ
ເກັບໂດຍບໍ່ຖືກສະແກນ ແລະ ຜູ້ບໍລິຫານຈະຖືກບອກ; ບໍ່ມີ Gotenberg
ໝາຍຄວາມວ່າໄຟລ໌ສະເໜີການດາວໂຫຼດແທນການເບິ່ງຕົວຢ່າງ; ບໍ່ມີ
transcoder ໝາຍຄວາມວ່າວິດີໂອຫຼີ້ນເປັນໄຟລ໌ຕົ້ນສະບັບ.
ຮູບລະບົບພາສທີສາມທຸກໆອັນ ແລະ ພັນທະກຳລິເບນສຂອງມັນລາຍຊື່
ຢູ່ docker/third-party-containers.yaml.
ການເຊື່ອມຕໍ່ຜູ້ໃຫ້ບໍລິການ H5P
Quire ບໍ່ໃສ່ຫຼືສົ່ງ runtime ຫຼື sidecar ຂອງ H5P (ADR 0019). ຖ້າທ່ານ ໃຊ້ H5P ສະໜອງການຈະລົງທະບຽນທີ່ເປັນເຈົ້າຂອງບໍລິການຂອງທ່ານ ເອງ ຫຼື ດຳເນີນ instance H5P ຕິດຕັ້ງເອງຂອງທ່ານແຍກຈາກ Quire. ລົງທະບຽນຜູ້ໃຫ້ບໍລິການນັ້ນເປັນເຄື່ອງມືພາຍນອກ LTI 1.3 ແລະ ເພີ່ມເນື້ອຫາຂອງມັນເຂົ້າຫຼັກສູດເປັນກິດຈະກຳເຄື່ອງມື. Quire ແລກປ່ຽນຄະແນນ ແລະ ຄວາມຄືບໜ້າການປະເມີນ/ການກະທຳຜ່ານ LTI Assignment and Grade Services (AGS). ຖ້າຜູ້ໃຫ້ບໍລິການຍັງສົ່ງຖາ xAPI ຕັ້ງຄ່າສິ່ງນັ້ນແຍກສຳລັບຮ້ານເກັບຖາ xAPI ຂອງ Quire; ການ ແລກປ່ຽນຄະແນນ/ຄວາມຄືບໜ້າ AGS ບໍ່ສົ່ງຖາ xAPI. ການນຳເຂົ້າ Moodle ລາຍງານກິດຈະກຳ H5P ເປັນສິ່ງທີ່ຕ້ອງການການເຊື່ອມຕໍ່ ເຄື່ອງມື LTI. ຜູ້ໃຫ້ບໍລິການຍັງຮັບຜິດຊອບ runtime H5P, ການຂຽນ, ທະນາຄານເນື້ອຫາ ແລະ ປະຫວັດການລອງຂອງຕົນ.
ເພື່ອແລ່ນ instance ຕິດຕັ້ງເອງຂອງທ່ານເອງເທິງເຊີບເວີນີ້ ຕັ້ງ
QUIRE_H5P_IMAGE ເປັນຮູບລະບົບຂອງມັນ ແລະ ເລີ່ມ profile h5p.
Compose ເຜີຍແຜ່ມັນຢູ່ QUIRE_H5P_PORT (8090) ແລະ ເກັບຂໍ້ມູນ
ຂອງມັນໄວ້ໃນ volume h5p-data; ຮູບລະບົບ ແລະ ພັນທະກຳທີ່ມາ
ພ້ອມມັນຍັງເປັນຂອງທ່ານ.
ການຕັ້ງຄ່າ
ຂະບວນການທຸກໆອັນອ່ານ docker/.env. ເທມເພລດ docker/.env.example
ລາຍຊື່ແຕ່ລະການຕັ້ງຄ່າພ້ອມຄ່າເລີ່ມຕົ້ນຂອງມັນ. ກຸ່ມຕ່າງໆ:
ທີ່ຢູ່
| ການຕັ້ງຄ່າ | ຄວາມໝາຍ |
|---|---|
QUIRE_APP_ORIGIN |
ທີ່ຢູ່ສາທາລະນະຂອງ LMS, ເຊັ່ນ https://learn.example.com |
QUIRE_CONTENT_ORIGIN |
ຕົ້ນສະບັບຂອງເນື້ອຫາ, ເຊີບເວີໜຶ່ງທີ່ແຕກຕ່າງ |
QUIRE_PLATFORM_DOMAINS |
domain ທີ່ອົງການຢູ່ພາຍໃຕ້, ຄັດດ້ວຍເຄັມ |
QUIRE_MARKETING_ORIGIN |
Optional. The marketing site, default https://quirelms.com. The only origin the waitlist form (POST /api/waitlist, POST /waitlist) accepts and redirects to. Comma separated; a www. variant is allowed only if listed |
QUIRE_DEPLOY_TARGET |
compose ທີ່ນີ້. ເບິ່ງຄູ່ມານຳອື່ນສຳລັບ vercel ແລະ cloudflare |
QUIRE_TRUSTED_PROXY_CIDRS |
proxy ທີ່ X-Forwarded-For ຂອງມັນຖືກເຊື່ອຖື |
ຄວາມລັບ
| ການຕັ້ງຄ່າ | ຄວາມໝາຍ |
|---|---|
QUIRE_SECRET_KEY |
ລາຍລານື້ເຊັນຊັນ ແລະ token. 64 ຕົວອັກສອນ hex |
QUIRE_MASTER_KEY |
ຫຸ້ມຂໍ້ມູນລະຫັດເຂົ້າເຖິງທີ່ເກັບໄວ້ເຊັ່ນ SSO ແລະຄວາມລັບ webhook. 32 ໂບຍ, base64. ຊັ້ນເວັບ ແລະ worker ຕ້ອງການຄ່າດຽວກັນ. ການປ່ຽນ: key-rotation.md |
QUIRE_MASTER_KEY_VERSION |
ປ້າຍເວີຊັນຂອງ master key, v1ເມື່ອບໍ່ໄດ້ຕັ້ງ. ສູງຂຶ້ນເມື່ອທ່ານປ່ຽນມັນ |
QUIRE_MASTER_KEY_RETIRED |
master keys ກ່ອນໜ້ານີ້ທີ່ຍັງຕ້ອງການອ່ານສິ່ງທີ່ພວກມັນຜະໜວກ, ເປັນ v1=<base64>. ລຶບຫຼັງຈາກການປ່ຽນສຳເລັດໂດຍບໍ່ມີຫຍັງຄ້າງ |
QUIRE_COLLAB_SIGNING_KEY |
ແບ່ງປັນໂດຍ web ແລະ collabເພື່ອລາຍລານື້ token ການແກ້ໄຂ |
QUIRE_BACKUP_SIGNING_KEY |
ລາຍລານື້ສຳຮາງຫຼັກສູດ (ທາງເລືອກ) |
ເກັບສຳເນົາ QUIRE_MASTER_KEY ໃນບ່ອນອື່ນນອກເໜືອເຊີບເວີນີ້.
ຖານຂໍ້ມູນທີ່ກູ້ຄືນໂດຍບໍ່ມີມັນບໍ່ສາມາດຖືກຖອກລະຫັດຂໍ້ມູນ
ລະຫັດເຂົ້າເຖິງທີ່ມັນຖືກໄວ້ໄດ້.
ຖານຂໍ້ມູນ
| ການຕັ້ງຄ່າ | ຄວາມໝາຍ |
|---|---|
POSTGRES_PASSWORD |
superuser, ໃຊ້ໂດຍ container ແລະການສຳຮາງ |
QUIRE_DB_APP_PASSWORD, QUIRE_DB_MIGRATOR_PASSWORD, QUIRE_DB_REPORT_PASSWORD, QUIRE_DB_AUDIT_PASSWORD |
ລະຫັດຜ່ານບົດບາດ, ຕັ້ງໃນການເລີ່ມຄັ້ງທຳອິດ |
DATABASE_URL |
ບົດບາດຂອງແອັບ. ການປ້ອງກັນຂັ້ນແຖວນຳໃຊ້ກັບ query ທຸກໆອັນທີ່ມັນເຮັດ |
DATABASE_MIGRATOR_URL, QUIRE_MIGRATION_URL |
ບົດບາດ migrator, ສຳລັບ migrate ແລະ init |
QUIRE_SUPERUSER_URL |
ໃຊ້ແຕ່ໂດຍການແລ່ນຄັ້ງທຳອິດ |
QUIRE_REPORT_DATABASE_URL |
ບົດບາດລາຍງານທີ່ອ່ານຢ່າງດຽວ, ສຳລັບລາຍງານ ແລະເຄື່ອງສ້າງລາຍງານ |
QUIRE_AUDIT_DATABASE_URL |
ບົດບາດການກວດກາ, ສຳລັບ console ການກວດກາ ແລະການສົ່ງອອກ SIEM |
QUIRE_DATABASE_ID |
UUID ໃດກໍ່ໄດ້, ປັກໄວ້ຕະຫຼອດຊີວິດຂອງການຕິດຕັ້ງ |
ລະຫັດຜ່ານບົດບາດຖືກນຳໃຊ້ແຕ່ເມື່ອ volume ຂອງຖານຂໍ້ມູນຖືກສ້າງ
ຄັ້ງທຳອິດ. ເພື່ອປ່ຽນໜຶ່ງອັນຕໍ່ມາ ໃຊ້ ALTER ROLE ຈາກນັ້ນອັບເດດ
URL ທີ່ກົງກັນ.
QUIRE_REPORT_DATABASE_URL ໃຊ້ສຳລັບຖານຂໍ້ມູນທາງກາຍະພາບທີ່
ຕັ້ງຄ່າໂດຍ DATABASE_URL. ສຳລັບຖານຂໍ້ມູນທາງກາຍະພາບທີ່ລົງ
ທະບຽນອື່ນໆ ຕັ້ງ URL ການເຊື່ອມຕໍ່ quire_report ຂອງມັນເອງໃນ
ສະພາບແວດລ້ອມ web ແລະ worker ຈາກນັ້ນວາງຊື່ຕົວແປໃນຊ່ອງ
Reporting environment variable ຂອງຖານຂໍ້ມູນນັ້ນເປັນ env:NAME.
ການອ້າງອີງຕ້ອງຊີ້ໄປທີ່ຖານຂໍ້ມູນດຽວກັນກັບການເຊື່ອມຕໍ່ app
ຂອງມັນ ໂດຍສະເພາະ replica ຂອງມັນ. ພື້ນຜິວລາຍງານທຸກໆອັນ
ຕິດຕາມ tenant ໄປຫາການເຊື່ອມຕໍ່ລາຍງານຂອງຖານຂໍ້ມູນເອງ:
ເຄື່ອງສ້າງລາຍງານ ແລະລາຍງານທີ່ບັນທຶກໄວ້, ການສົ່ງທີ່ນັດໄວ້,
ການສົ່ງອອກລາຍງານ, ການວິເຄາະ, ບັນທຶກການກວດກາ, ຊັບພະຍາກອນ
ການກວດກາຂອງ REST ແລະການຄົ້ນຫາການກວດກາຂອງຜູ້ຊ່ວຍ. ບໍ່ມີ
ອັນໃດຂອງພວກມັນເຄີຍຢຸມຢາມ URL ລາຍງານຂອງຖານຂໍ້ມູນອື່ນ.
ເມື່ອຖານຂໍ້ມູນບໍ່ມີການເຊື່ອມຕໍ່ລາຍງານ ລາຍງານປົກກະຕິແລ່ນ
ເທິງການເຊື່ອມຕໍ່ແອັບພັກຂອງຖານຂໍ້ມູນນັ້ນເອງ ໃນຂະນະທີ່
ການວິເຄາະ ແລະການອ່ານການກວດກາທຸກໆອັນປະຕິເສດ ແລະບອກ
ດັ່ງນັ້ນ ເພາະບົດບາດແອັບພັກບໍ່ສາມາດອ່ານເສັ້ນການກວດກາໄດ້.
ແຂກຮັບຊົງ
| ການຕັ້ງຄ່າ | ສະບັບນີ້ | ໝາຍເຫດ |
|---|---|---|
QUIRE_STORAGE_DRIVER |
local (ຄ່າເລີ່ມຕົ້ນ), s3 ຫຼື azure |
local ເກັບໄຟລ໌ໄວ້ໃນ volume files. s3 ຄຸມຄອງ AWS S3, R2, GCS interoperability ແລະທີ່ເກັບເຂົ້າກັບ S3 ອື່ນໆ ພ້ອມການອັບໂຫຼດ multipart ທີ່ສາມາດສືບຕໍ່ໄດ້ |
QUIRE_REALTIME_DRIVER |
inprocess (ຄ່າເລີ່ມຕົ້ນ), sse, centrifugo ຫຼື durable_objects |
inprocess ເໝາະສຳລັບ container ເວັບດຽວ; ໃຊ້ centrifugo ຫຼື sse ເມື່ອມີຫຼາຍອັນ |
QUIRE_CACHE_DRIVER |
memory (ຄ່າເລີ່ມຕົ້ນ), postgres ຫຼື valkey |
memory ແມ່ນຕາມຂະບວນການ; ໃຊ້ valkey ຫຼື postgresເພື່ອໃຫ້ຂໍ້ຈຳກັດອັດຕາຖືກຮັກສາຂ້າມ container |
QUIRE_VIDEO_DRIVER |
ffmpeg (ຄ່າເລີ່ມຕົ້ນ) ຫຼື progressive_mp4 |
ຫຼື ຜູ້ໃຫ້ບໍລິການເປັນເຈົ້າຂອງ: Cloudflare Stream, Mux ຫຼື Bunny, ໂດຍກະແຈຂອງພວກເຂົາ |
QUIRE_IMAGE_DRIVER |
noop (ຄ່າເລີ່ມຕົ້ນ), imgproxy ຫຼື cloudflare |
noop ບໍລິການຮູບທຸກໆອັນດ້ວຍຂະໜາດຕົ້ນສະບັບຂອງມັນ. imgproxy ຕ້ອງການ profile images ແລະການຕັ້ງຄ່າຂ້າງລຸ່ມ; cloudflare ໃຊ້ Cloudflare Images |
QUIRE_MEETING_PROVIDER |
bbb, zoom, teams, meet, jitsi ຫຼື in_process |
ຄ່າເລີ່ມຕົ້ນຂອງເພລຟອມສຳລັບເຊັນຊັນສົດ. ບໍ່ໄດ້ຕັ້ງ, ເຊັນຊັນສົດຈະບອກວ່າບໍ່ຖືກຕັ້ງຄ່າ ຈົນກວ່າອົງການໜຶ່ງຈະເຊື່ອມບັນຊີຂອງຕົນເອງພາຍໃຕ້ Integrations, Live session provider. ບັນຊີຂອງອົງການເອງສະເໝີຊະນະຄ່ານີ້. ການຕັ້ງຄ່າຂອງແຕ່ລະຜູ້ໃຫ້ບໍລິການເອງ (BBB_URL ແລະ BBB_SECRET, ຕົວແປ ZOOM_*, TEAMS_*, GOOGLE_MEET_* ແລະ JITSI_*) ອ່ານແຕ່ສຳລັບຜູ້ໃຫ້ບໍລິການທີ່ລະບຸໄວ້ທີ່ນີ້ |
QUIRE_MEETING_REGIONS |
ລາຍຊື່ຄັດຂອງ eu, uk, us |
ບ່ອນທີ່ຜູ້ໃຫ້ບໍລິການຄ່າເລີ່ມຕົ້ນຂອງເພລຟອມປະມວນຜົນການປະຊຸມ. ບໍ່ໄດ້ຕັ້ງ, ມັນບໍ່ຖືກກວດສອບກັບອົງການທີ່ຖືກຜູກກັບເຂດ ເຊັ່ນກ່ອນໜ້ານີ້. ບັນຊີຂອງອົງການເອງລະບຸເຂດຂອງຕົນຢູ່ໜ້າຂອງມັນ |
ຄ່າຂອງແຂກຮັບຊົງທີ່ສະບັບນີ້ບໍ່ລວມຢູ່ຈະຖືກປະຕິເສດເມື່ອຊັ້ນ ເວັບເລີ່ມ ພ້ອມຊື່ການຕັ້ງຄ່າ ແທນທີ່ຈະຖືກແທນທີ່ໂດຍລະງັບ ໂດຍຄ່າເລີ່ມຕົ້ນ.
ຮູບພາບ
ໜ້າຕ່າງໆຂໍຮູບທີ່ສີ່ຂະໜາດທີ່ກຳນົດໄວ້ຜ່ານ
/api/files/{id}/image/{size} ເຊິ່ງກວດສອບການເຂົ້າເຖິງດຽວກັນ
ກັບໄຟລ໌ເອງ ຈາກນັ້ນ redirect ໄປຫາບໍລິການຮູບ. ແຕ່ລະອົງການສາມາດ
ຂໍຮູບໃໝ່ ແລະຄູ່ຂະໜາດ QUIRE_IMAGE_SPECS_PER_HOUR (ຄ່າເລີ່ມຕົ້ນ
2000) ຕໍ່ຊົ່ວໂມງ; ຂະໜາດທີ່ຜະລິດແລ້ວໃນຊົ່ວໂມງນັ້ນບໍ່ນັບ.
ໃຊ້ valkey ຫຼື postgres ສຳລັບ QUIRE_CACHE_DRIVER ກັບ container
ເວັບຫຼາຍກວ່າໜຶ່ງ ເພື່ອໃຫ້ຂໍ້ຈຳກັດຖືກຮັກສາຂ້າມພວກມັນ.
| ການຕັ້ງຄ່າ | ແຂກຮັບຊົງ | ໝາຍເຫດ |
|---|---|---|
IMGPROXY_URL |
imgproxy |
ທີ່ຢູ່ທີ່ເບີເຊີເຂົ້າເຖິງ imgproxy, ຕົວຢ່າງ https://images.example.org. Profile images ເຜີຍແຜ່ມັນຢູ່ QUIRE_IMAGES_PORT (8082) |
IMGPROXY_KEY, IMGPROXY_SALT |
imgproxy |
ສະຕຣິງ hex, ຄ່າດຽວກັນທີ່ imgproxy ເລີ່ມດ້ວຍ. ສ້າງແຕ່ລະອັນດ້ວຍ openssl rand -hex 32. Quire ລາຍລານື້ທີ່ຢູ່ຮູບທຸກໆອັນດ້ວຍພວກມັນ ດັ່ງນັ້ນ imgproxy ບໍ່ສະແດງຫຍັງທີ່ Quire ບໍ່ໄດ້ຂໍ |
QUIRE_IMAGE_SOURCE_ORIGIN |
imgproxy ກັບການເກັບທ້ອງຖິ່ນ |
ບ່ອນທີ່ imgproxy ດຶງຕົ້ນສະບັບຈາກ. Compose ຕັ້ງ http://web:3000. ດ້ວຍການເກັບ s3 ຫຼື azure imgproxy ດຶງຈາກ bucket ແລະສິ່ງນີ້ບໍ່ຖືກນຳໃຊ້ |
CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_IMAGES_TOKEN, CLOUDFLARE_IMAGES_ACCOUNT_HASH |
cloudflare |
API token ກັບສິດແກ້ໄຂ Images ແລະ account hash ຈາກ Images, Developer resources. ເປີດ flexible variants ສຳລັບບັນຊີ |
CLOUDFLARE_IMAGES_SIGNING_KEY |
cloudflare |
ທາງເລືອກ. ເມື່ອຕັ້ງ ຮູບເປັນສ່ວນຕົວ ແລະທຸກໆທີ່ຢູ່ຖືກລາຍລານື້ ແລະໝົດອາຍຸ. ໂດຍບໍ່ມີມັນ ຮູບເປັນສາທາລະນະຢູ່ທີ່ຢູ່ທີ່ສະແດງອອກຈາກ QUIRE_SECRET_KEY ທີ່ບໍ່ມີໃຜສາມາດເດົາໄດ້ |
Cloudflare Images ເກັບສຳເນົາຂອງຕົນເອງຂອງຕົ້ນສະບັບແຕ່ລະອັນ ທີ່ມັນບໍລິການ. ເມື່ອໄຟລ໌ຖືກລຶບ worker ລຶບສຳເນົານັ້ນກ່ອນ ຕົ້ນສະບັບ.
Queue
ງານພື້ນຫຼັງໃຊ້ pg-boss ໃນຖານຂໍ້ມູນ Postgres ດຽວກັນ ດັ່ງນັ້ນ
ບໍ່ມີບໍລິການ queue ໃຫ້ແລ່ນ ແລະບໍ່ມີຫຍັງໃຫ້ຕັ້ງຄ່າ. ງານຖືກ
ບັນທຶກເຂົ່າ queue ໃນ transaction ດຽວກັນກັບການປ່ຽນແປງທີ່ເຮັດ
ໃຫ້ພວກມັນເກີດ ດັ່ງນັ້ນການລົ້ມລະບົບບໍ່ສາມາດສູນງານໜຶ່ງ
ຫຼືສົ່ງງານໜຶ່ງສອງຄັ້ງ. QUIRE_QUEUE_DRIVER ແມ່ນ pgboss ທີ່ນີ້,
ຄ່າເລີ່ມຕົ້ນຂອງມັນ; vercel ແລະ cloudflare ຍ້າຍແຕ່ການ
ແຈ້ງເຕືອນເບົາໆ ແລະການສົ່ງ webhook ໄປຫາ queue ເອງຂອງເພລຟອມ
ແລະຄູ່ມານຳ Vercel ແລະ Cloudflare ອະທິບາຍພວກມັນ ແລະວິທີ
ທີ່ຊັ້ນເວັບຂອງພວກມັນບັນທຶກເຂົ້າ queue.
ອີເມວ
ຕັ້ງໜຶ່ງໃນສິ່ງເຫຼົ່ານີ້:
QUIRE_EMAIL_PROVIDER_CONFIG: object JSON ທີ່ລະບຸຜູ້ໃຫ້ບໍລິການ HTTP ແລະລະຫັດເຂົ້າເຖິງຂອງມັນ, ເຊັ່ນ{"provider":"postmark","token":"..."}. Postmark, Amazon SES, Mailgun, SendGrid ແລະ Resend ໂດຍສະໜັບສະໜູນ.QUIRE_SMTP_URL:smtp://user:password@host:587. ແຕ່ເປົ້າໝາຍນີ້; ເປົ້າໝາຍ serverless ກັກ SMTP.
QUIRE_MAIL_FROM ແມ່ນຜູ້ສົ່ງ. ສຳລັບລອງໃຊ້ Quire ເລີ່ມ profile
devmail, ຕັ້ງ QUIRE_SMTP_URL=smtp://mailpit:1025, ແລະອ່ານ
ຈົດໝາຍທີ່ http://localhost:8025.
ບໍລິການທາງເລືອກ
| ການຕັ້ງຄ່າ | ກັບ profile |
|---|---|
CLAMAV_URL=tcp://clamav:3310 |
scan |
GOTENBERG_URL=http://gotenberg:3000 |
preview |
IMGPROXY_KEY, IMGPROXY_SALT |
images |
VALKEY_URL=redis://valkey:6379 |
cache |
QUIRE_OPENSEARCH_URL ຫຼື QUIRE_MEILISEARCH_URL |
ການຄົ້ນຫາພາຍນອກ; Postgres ຄົ້ນຫາເຕັມຂໍ້ຄວາມແທນ |
QUIRE_BREACH_CHECK_PROVIDER=off, QUIRE_BREACH_CHECK_URL |
ການກວດສອບການຮົ້ວລະຫັດຜ່ານ. ເປີດໂດຍຄ່າເລີ່ມຕົ້ນຕໍ່ api.pwnedpasswords.com (ສົ່ງແຕ່ hash prefix ສີ່ຕົວອັກສອນ); off ປິດມັນ, ແລະ URL ຊີ້ໄປຫາ range API ທີ່ທ່ານດຳເນີນເອງ |
ການສັງເກດເບິ່ງ
OTEL_EXPORTER_OTLP_ENDPOINT ຊື່ຕົວເກັບທີ່ຂະບວນການທຸກໆອັນສົ່ງ
trace ແລະ metrics ໄປ; ກັບ profile observability ມັນແມ່ນ
http://otelcol:4318 ແລະ docker/otel-collector.yaml ແມ່ນບ່ອນ
ທີ່ທ່ານເພີ່ມ exporter ສຳລັບ backend ຂອງທ່ານ. ຊັ້ນເວັບ, worker,
scheduler, ຂະບວນການ content ແລະ collab export spans ຜ່ານ
OTLP/HTTP (ຄຳຮ້ອງຂໍເວັບ, transaction ຂອງຖານຂໍ້ມູນ tenant, ງານ
worker ແລະການເອີ້ນອອກ) ເມື່ອມັນຖືກຕັ້ງ, ແລະ metrics ໄປຫາ
endpoint ດຽວກັນທຸກໆນາທີ (OTEL_METRICS_EXPORTER=none ປິດພວກ
ມັນ). OTEL_TRACES_SAMPLER_ARG ຕັ້ງສ່ວນທີ່ຖືກເກັບໄວ້ຂອງ traces.
ບັນທຶກໄປຫາສະຕຣີມສະຕານເອກອັກຄະທີ່ LOG_LEVEL ແລະ Compose
ໝຸນພວກມັນ. Traces ບໍ່ເຄີຍພົວພັນຂໍ້ມູນສ່ວນຕົວ.
ການອອກພື້ນທີ່ຕາມເຂດ (ການຢູ່ຂໍ້ມູນ EU)
QUIRE_REGION=eu ບອກວ່າ stack ບໍລິການອົງການສະຫະພາບເອີຣົບ.
worker ຈາກນັ້ນຈະກັກຄຳຮ້ອງຂໍອອກທຸກໆອັນທີ່ເຮັດສຳລັບອົງການ
ທີ່ຖືກຜູກກັບ EU ໃຫ້ຢູ່ໃນ allowlist (21-compliance.md ບົດທີ 8.1).
Allowlist ແມ່ນເຊີບເວີທີ່ບໍລິການທີ່ຕັ້ງຄ່າແລ້ວປະກາດສຳລັບເຂດ
ນັ້ນ (endpoint ການເກັບ, ຜູ້ໃຫ້ບໍລິການອີເມວ, ຜູ້ໃຫ້ບໍລິການວິດີໂອ
ເປັນເຈົ້າຂອງ, ເປົ້າໝາຍການເກັບຂອງອົງການເອງ, ຜູ້ໃຫ້ບໍລິການ AI
ແລະບັນຊີອີເມວ), ເຊີບເວີຂອງບໍລິການໃດໆພາຍໃຕ້ການຍົກເວັ້ນ
ທີ່ກຳລັງມີຜົນ, ແລະເຊີບເວີທີ່ທ່ານລາຍຊື່ໃນ
QUIRE_EGRESS_ALLOW_HOSTS. ຄຳຮ້ອງຂໍໄປຫາເຊີບເວີສາທາລະນະ
ອື່ນຈະຖືກປະຕິເສດກ່ອນທີ່ຈະສົ່ງ, ການປະຕິເສດຖືກຂຽນລົງ
ເສັ້ນການກວດກາຂອງອົງການເປັນ privacy/egress_refused ແລະ
ມັນຖືກລາຍຊື່ພາຍໃຕ້ Compliance, Data residency.
| ການຕັ້ງຄ່າ | ຄ່າ | ຜົນກະທົບ |
|---|---|---|
QUIRE_EGRESS_ALLOW_HOSTS |
ລາຍຊື່ hostname ທີ່ຄັດ, ຫຼື *.example.org ສຳລັບ subdomain ທຸກໆອັນ |
ເຊີບເວີເພີ່ມເຕີມທີ່ອົງການ EU ສາມາດເຂົ້າເຖິງໄດ້. Endpoint ຂອງ webhook, xAPI ແລະ SIEM, ກະແສບລັອກ ແລະເຊີບເວີ Amazon SES ຂຶ້ນກັບທີ່ນີ້ ເພາະມັນເປັນການເລືອກຂອງອົງການເອງ ແລະບໍ່ມີບໍລິການໃດປະກາດພວກມັນ. Loopback, ທີ່ຢູ່ເອກະຊົນ ແລະຊື່ label ດຽວເຊັ່ນ web ຫຼື clamav ແມ່ນເຄືອຂ່າຍຂອງທ່ານເອງ ແລະບໍ່ເຄີຍຖືກກວດສອບ |
ອົງການ UK ແລະ US ບໍ່ຖືກຜູກກັບລາຍຊື່ເຊີບເວີ; ພວກເຂົາຮັກສາ
ການກວດສອບເຂດຂອງບໍລິການ. ຕັ້ງລາຍຊື່ໃສ່ worker; ໜ້າ admin
ອ່ານມັນຈາກຊັ້ນເວັບເພື່ອສະແດງ allowlist ດັ່ງນັ້ນວາງມັນໃນ
docker/.env ເຊິ່ງບໍລິການທຸກໆອັນອ່ານ.
ການກວດສອບຂອງແອັບພັກໃຫ້ຂໍ້ຜິດພາດທີ່ຊັດເຈນ ແລະລາຍການ
ການກວດກາ ແລະມັນບໍ່ແມ່ນການຮັບປະກັນ: ລະຫັດສາມາດຜິດໄດ້.
ການຮັບປະກັນແມ່ນເຄືອຂ່າຍ. Compose ບໍ່ບັງຄັບມັນໃຫ້ທ່ານ.
ສຳລັບ stack ຕາມເຂດ ວາງບໍລິການ worker ແລະ web ເທິງເຄືອ
ຂ່າຍ internal: true ທີ່ເສັ້ນທາງອອກດຽວຂອງມັນແມ່ນ egress
proxy (ຕົວຢ່າງ container Squid ຫຼື tinyproxy) ທີ່ອະນຸຍາດເຊີບເວີ
ດຽວກັນກັບ QUIRE_EGRESS_ALLOW_HOSTS ບວກເຊີບເວີຂອງບໍລິການ
ທີ່ທ່ານຕັ້ງຄ່າ ແລະຕັ້ງ HTTPS_PROXY ສຳລັບບໍລິການເຫຼົ່ານັ້ນ.
ໜ້າການຢູ່ລາຍຊື່ເຊີບເວີທີ່ແນ່ນອນທີ່ແອັບພັກອະນຸຍາດ ດັ່ງນັ້ນ
ລາຍຊື່ທັງສອງສາມາດປຽບທຽບກັນໄດ້.
ສຸຂະພາບ
| Endpoint | ຄວາມໝາຍ |
|---|---|
/healthz |
Liveness: ຂະບວນການຕອບ. Compose health checks ໃຊ້ສິ່ງນີ້ |
/readyz |
Readiness: dependency ເຂົ້າເຖິງໄດ້ ແລະບໍລິການທາງເລືອກແຕ່ລະອັນລາຍງານວ່າຖືກຕັ້ງຄ່າຫຼືບໍ່. ຊີ້ load balancer ຂອງທ່ານໄປທີ່ນີ້ |
docker compose -f docker/compose.yaml ps ສະແດງສຸຂະພາບຂອງແຕ່ລະ
ບໍລິການ.
TLS
ບໍລິການ proxy (Caddy, Apache-2.0, docker/caddy/Caddyfile) ເປັນ
ສ່ວນໜຶ່ງຂອງ stack ຄ່າເລີ່ມຕົ້ນ. ມັນຕອບຢູ່ພອດ 80 ແລະ 443 ແລະ
ແຈກກາງ:
| ເຊີບເວີ ຫຼື ເສັ້ນທາງ | ໄປຫາ |
|---|---|
QUIRE_PROXY_CONTENT_HOST |
content |
QUIRE_PROXY_APP_HOST, subdomain ຂອງ tenant ທຸກໆອັນ ແລະ domain ທີ່ກຳນົດເອງ |
web |
/_collab/ ຢູ່ເຊີບເວີເຫຼົ່ານັ້ນ |
collab (websocket, QUIRE_COLLAB_URL) |
/_realtime/connection/ ຢູ່ເຊີບເວີເຫຼົ່ານັ້ນ |
websocket ຂອງ client ຂອງ centrifugo; server API ຂອງມັນບໍ່ເຄີຍຖືກເປີດເຜີຍ |
/_images/ ຢູ່ເຊີບເວີເຫຼົ່ານັ້ນ |
imgproxy, ກັບ profile images (IMGPROXY_URL) |
init-env.sh ສະແດງ QUIRE_PROXY_APP_HOST, QUIRE_PROXY_CONTENT_HOST,
QUIRE_PROXY_HTTPS_PORT, QUIRE_COLLAB_URL ແລະ IMGPROXY_URL ຈາກ
ຕົ້ນສະບັບທັງສອງ ດັ່ງນັ້ນພວກມັນບໍ່ສາມາດຫ່າງອອກຈາກກັນໄດ້.
ແກ້ໄຂພວກມັນຮ່ວມກັນຖ້າທ່ານປ່ຽນຕົ້ນສະບັບໜຶ່ງດ້ວຍມື.
ໃບຢັ້ງຢືນຕິດຕາມ QUIRE_PROXY_TLS:
-
internal(ຄ່າເລີ່ມຕົ້ນ): certificate authority ເອງຂອງ Caddy, ສຳລັບlocalhost,*.localhostແລະlvh.me. ເຊື່ອຖື root ຂອງ ມັນໜຶ່ງຄັ້ງ ຈາກນັ້ນກວດສອບ:docker compose -f docker/compose.yaml cp \ proxy:/data/caddy/pki/authorities/local/root.crt ./quire-local-ca.crtເພີ່ມ
quire-local-ca.crtເຂົ້າໃນສະຖານທີ່ເຊື່ອຖືຂອງລະບົບ ຫຼືເບີເຊີ.curlຮັບມັນດ້ວຍ--cacert. -
ທີ່ຢູ່ອີເມວ: ໃບຢັ້ງຢືນ ACME ອັດຕະໂນມັດ (Let’s Encrypt, ຈາກນັ້ນ ZeroSSL) ສຳລັບ hostname ແທ້. DNS ສຳລັບຕົ້ນສະບັບທັງສອງ ແລະ ເຊີບເວີ tenant ທຸກໆອັນຕ້ອງຊີ້ໄປທີ່ນີ້ ແລະພອດ 80 ແລະ 443 ຕ້ອງເຂົ້າເຖິງໄດ້ຈາກອິນເຕີເນັດ.
ເຊີບເວີຂອງ tenant ຖືກອອກໃບຢັ້ງຢືນຕາມຄວາມຕ້ອງການ, ໃນການ
ເຂົ້າຢ້ຽມຄັ້ງທຳອິດ, ແລະແຕ່ເມື່ອ web ຢືນຢັນວ່າຊື່ຂຶ້ນກັບ
ການຕິດຕັ້ງນີ້ (/tls-allowed, ຖາມຢູ່ເຄືອຂ່າຍ Compose). ບໍ່
ຕ້ອງການໃບຢັ້ງຢືນ wildcard ຫຼື plugin ຜູ້ໃຫ້ບໍລິການ DNS ແລະ
ຄົນແປກໜ້າທີ່ຊີ້ຊື່ໄປຫາເຊີບເວີບໍ່ສາມາດເຮັດໃຫ້ມັນຂໍໃບ
ຢັ້ງຢືນໄດ້. ໃບຢັ້ງຢືນ ແລະອົງການທ້ອງຖິ່ນຢູ່ໃນ volume
caddy-data; ສຳຮາງມັນພ້ອມສິ່ງອື່ນຖ້າທ່ານໃຊ້ internal.
Web ເຊື່ອຖື X-Forwarded-For ຈາກ proxy ແຕ່ຢ່າງດຽວ: proxy ມີ
ທີ່ຢູ່ທີ່ກຳນົດ (QUIRE_PROXY_ADDRESS, ຄ່າເລີ່ມ 172.29.64.10)
ຢູ່ subnet ທີ່ກຳນົດ (QUIRE_COMPOSE_SUBNET) ແລະ
QUIRE_TRUSTED_PROXY_CIDRS ຊື່ທີ່ຢູ່ນັ້ນ. ຖ້າ subnet ຕຳກັບເຄືອ
ຂ່າຍໜຶ່ງຢູ່ເຊີບເວີ ປ່ຽນທັງສອງ ແລະແລ່ນ docker compose down
ກ່ອນ up.
ເບື້ອງຫຼັງ reverse proxy ຂອງທ່ານເອງ
ເພື່ອໃຊ້ load balancer ຫຼື proxy ທີ່ທ່ານແລ່ນຢູ່ແລ້ວແທນ ປ່ອຍ
proxy ອອກ (docker compose up -d --scale proxy=0) ແລະຢຸດ TLS
ເບື້ອງໜ້າຂອງ web (8080), content (8081), collab (1234, websocket)
ແລະ centrifugo (8000, websocket). ຕັ້ງທີ່ຢູ່ສາທາລະນະໃນ
QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN ແລະ QUIRE_COLLAB_URL
(wss://) ແລະຊ່ວງທີ່ຢູ່ຂອງ proxy ຂອງທ່ານໃນ
QUIRE_TRUSTED_PROXY_CIDRS.
ການແກ້ໄຂບັນຫາ
initອອກດ້ວຍ “QUIRE_DATABASE_ID is not a UUID”: ຕັ້ງມັນດ້ວຍuuidgen.webເລີ່ມຄືນດ້ວຍ “did not start on compose”: ບັນທຶກລາຍຊື່ ແຕ່ລະການຕັ້ງຄ່າທີ່ມັນບໍ່ສາມາດເຄົາລົບ ແລະສິ່ງທີ່ຈະໃຊ້ແທນ.- ການປ່ຽນລະຫັດຜ່ານບົດບາດໃນ
.envຫຼັງການເລີ່ມຄັ້ງທຳອິດ ບໍ່ເຮັດຫຍັງ: ສະຄຣິບ init ແລ່ນໜຶ່ງຄັ້ງ. ໃຊ້ALTER ROLE. - ການອັບໂຫຼດລົ້ມແຫຼວດ້ວຍຂໍ້ຜິດພາດການສະແກນໃນຂະນະທີ່
CLAMAV_URLຖືກຕັ້ງ: ClamAV ດາວໂຫຼດລາຍເຊັນຂອງມັນໃນການ ເລີ່ມຄັ້ງທຳອິດ ເຊິ່ງໃຊ້ເວລາສອງສາມນາທີ.