အကြောင်းအရာသို့ ကျော်သွားပါ

Docker Compose ဖြင့် Quire တပ်ဆင်ခြင်း

Docker Compose ဖြင့် သင့်ကိုယ်ပိုင်အခြေခံအဆောက်အအုံတွင် Quire တပ်ဆင်ပါ။

Markdown အဖြစ် ကြည့်ပါ

ဤက အိမ်ရှင်တစ်ခုတွင် ထုတ်ကုန်အပြည့်အစုံ ဖြစ်သည်– LMS၊ ၎င်း၏နောက်ခံအလုပ်၊ realtime နှင့် ပူးပေါင်းတည်းဖြတ်မှုဝန်ဆောင်မှုများ၊ ပရိုဖိုင်နောက်ရှိ ရွေးချယ်နိုင်သောဝန်ဆောင်မှုတိုင်း။ ဒီဇိုင်းက docs/architecture/23-ops.md အပိုင်း ၂ ဖြစ်သည်။

အခြားပစ်မှတ်များ– Vercel နှင့် Cloudflare Workers က ဝဘ်အဆင့်သာ လည်ပတ်သည်။ အဆင့်မြှင့်မှုများ upgrade.md တွင်၊ အရန်များနှင့် ပြန်လည်ဖော်ထုတ်လေ့ကျင့်မှု backup-restore.md တွင်။

ဘာတွေ လိုအပ်သနည်း

  • Compose ပလပ်အင် 2.30 သို့မဟုတ် နောက်ပိုင်းပါသော Docker Engine 27 သို့မဟုတ် နောက်ပိုင်း။
  • မူလအစုအတွက် CPU core ၄ ခု မှတ်ဉာဏ် 8 GB။ --profile full ဖြင့် core ၈ ခု 16 GB (ClamAV တည်းတင် လက်မှတ် 1.5 GB ခန့် ကိုင်သည်)။
  • ဝဘ်အဆင့်အတွက် DNS အမည်တစ်ခု၊ မယုံကြည်သောအကြောင်းအရာအတွက် နောက်တစ်ခု။ ၎င်းတို့ မတူသောအိမ်ရှင်များ ဖြစ်ရမည်– SCORM ထုပ်ပိုးမှုများနှင့် အပ်လုဒ်လုပ် HTML များ အကြောင်းအရာမူလတွင် လည်ပတ်သောကြောင့်၊ LMS ၏ကွတ်ကီးများ ဘယ်တော့မှ ဖတ်၍မရပါ။
  • ဒေသခံစမ်းသပ်မှုအတွက် lvh.me နှင့် *.localhost က 127.0.0.1 သို့ ဖြေရှင်းသည်၊ docker/.env.example အသုံးပြုသည့်အရာ။ အစု၏ကိုယ်ပိုင် proxy ဝန်ဆောင်မှုက နှစ်ခုစလုံး https မှတစ်ဆင့် ဒေသခံလက်မှတ်အာဏာပိုင်ဖြင့် ဝန်ဆောင်မှုပေးသည်၊ ထို့ကြောင့် အခြားဘာမှ မတပ်ဆင်ပါ (“TLS” ကို ကြည့်ပါ)။
  • အိမ်ရှင်တွင် port 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 init

docker/scripts/init-env.sh က docker/.env ကို docker/.env.example မှ လျှို့ဝှက်ချက်တိုင်း ထုတ်လုပ်လျက် ရေးသည် (ဒေတာဘေ့စ်စကားဝှက်များ၊ လက်မှတ်ထိုးနှင့် မာစတာသော့များ၊ အကြောင်းအရာစတင်သော့အတွဲ)၊ docker/secrets/audit-signing-key.pem ရှိ စာရင်းစစ်စစ်ဆေးမှတ်လက်မှတ်ထိုးသော့နှင့်အတူ၊ Compose က အလုပ်သမားများအတွင်း လျှို့ဝှက်ချက်အဖြစ် တပ်ဆင်သည့်အရာ။ ၎င်းက sh၊ awk နှင့် openssl သာ လိုသည်၊ ရှိပြီးသား docker/.env ကို ထပ်ရေးရန် ငြင်းပယ်သည်။ ဖိုင်နှစ်ခုစလုံး အိမ်ရှင်အပြင် ကူးပါ– QUIRE_MASTER_KEY မရှိပါက ပြန်လည်ဖော်ထုတ်သောဒေတာဘေ့စ် ၎င်း၏သိမ်းထားသောအထောက်အထားများ စာဝှက်ဖြည်၍မရပါ။ ကိုယ်တိုင် ဖိုင်ဖြည့်မည့်အစား cp docker/.env.example docker/.env။ ဖိုင်က လျှို့ဝှက်ချက်တစ်ခုစီ မည်သို့ထုတ်လုပ်ရမည်ကို ဆိုသည်။

မူလနှစ်ခုစလုံး https ဖြစ်ရမည်– အကြောင်းအရာဝန်ဆောင်မှုက ထုတ်လုပ်ရေးတွင် ရိုးရိုး http ငြင်းပယ်သည်၊ ၎င်းတို့ မှတ်ပုံတင်နိုင်သောဒိုမိန်း မမျှဝေရပါ။ proxy ဝန်ဆောင်မှုက နှစ်ခုစလုံးအတွက် TLS အဆုံးသတ်သည် (“TLS” ကို ကြည့်ပါ)။ init-env.sh က http:// မူလ ငြင်းပယ်သည်။

အစုက ပုံသေအစီအစဉ်ဖြင့် စတင်သည်၊ အဆင့်တစ်ခုစီ ၎င်းအလား တစ်ခုကို စောင့်သည်–

  1. postgres ကျန်းမာလာသည်။ ပထမဆုံးစတင်မှုတွင် ၎င်း၏ init script (docker/postgres/init/90-passwords.sh) က အခန်းကဏ္ဍစကားဝှက်လေးခု သတ်မှတ်သည်။
  2. migrate က ရွှေ့ပြောင်းမှုတိုင်း အသုံးချပြီး ထိန်းချုပ်ဒေတာဘေ့စ်နှင့် သီးသန့် tenant ဒေတာဘေ့စ်တိုင်းတွင် အလုပ်တန်းစီ အခြေခံတည်ဆောက်သည်၊ ၎င်းတို့အားလုံး သဘောတူသည်ကို စစ်ဆေးပြီး ထွက်သည် (docs/ops/upgrade.md)။ ရွှေ့ပြောင်းမှုများ စတင်တိုင်း လည်ပတ်ပြီး ထပ်တူညီမှုကင်းသောကြောင့်၊ အဆင့်မြှင့်မှုက image အသစ်နှင့် ပြန်လည်စတင်မှု ဖြစ်သည်။
  3. init (apps/web/src/first-run.ts) က အက်ပလီကေးရှင်းဒေတာဘေ့စ်ကို QUIRE_DATABASE_ID အောက်၌ မှတ်တမ်းတင်ပြီး၊ QUIRE_SETUP_ADMIN_EMAIL သတ်မှတ်ထားသည့်အခါ ပထမအဖွဲ့အစည်းနှင့် ၎င်း၏စီမံခန့်ခွဲသူ ဖန်တီးသည်။ လက်မှတ်ထိုးဝင်လိပ်စာနှင့် ထုတ်လုပ်သောစကားဝှက်ကို docker compose logs init တွင် တစ်ကြိမ်သာ ရိုက်နှိပ်သည်။
  4. web၊ content၊ worker၊ scheduler၊ collab နှင့် centrifugo စတင်သည်။
  5. proxy က web နှင့် content ကျန်းမာသည်နှင့် စတင်သည်။

https://demo. ကို သင့်အက်ပလီကေးရှင်းဒိုမိန်းဖြင့် ဆက်၍ ဖွင့်ပါ (init မှတ်တမ်း လက်မှတ်ထိုးဝင်လိပ်စာအတိအကျ ရိုက်နှိပ်သည်)၊ လက်မှတ်ထိုးဝင်ပါ။ ဒေသခံတပ်ဆင်မှုတွင် proxy ၏လက်မှတ်အာဏာပိုင်ကို အရင်ယုံကြည်ပါ (“TLS” ကို ကြည့်ပါ)။ ထုတ်လုပ်သောစကားဝှက်ကို /account/security တွင် ပြောင်းပါ။

လိုအပ်သောလျှို့ဝှက်ချက်မပါဘဲ စတင်သောလုပ်ငန်းစဉ်က စတင်ရန် ငြင်းပယ်ပြီး ၎င်း၏မှတ်တမ်းတွင် ပျောက်နေသောဆက်တင် အမည်ပေးသည်။ ဘာမှ တစ်ဝက်စီစဉ်လျက် မစတင်ပါ။

ဝန်ဆောင်မှုများနှင့် ပရိုဖိုင်များ

ဝန်ဆောင်မှု ပရိုဖိုင် ဘာလုပ်သနည်း
postgres always ဒေတာဘေ့စ် (pgvector ပါသော PostgreSQL 18၊ docker/postgres.Dockerfile မှ တည်ဆောက်သည်)၊ ပထမစတင်မှုကတည်းက WAL မော်ကွန်းတင်လျက်
migrate၊ init always တစ်ကြိမ်သုံး– ရွှေ့ပြောင်းမှုများ၊ ထို့နောက် ပထမလည်ပတ်မှု
web always QUIRE_HTTP_PORT (8080) ရှိ LMS
content always QUIRE_CONTENT_PORT (8081) ရှိ မယုံကြည်သောအကြောင်းအရာမူလ
worker always နောက်ခံအလုပ်များ– အီးမေးလ်၊ အစီရင်ခံစာများ၊ ဖိုင်လုပ်ဆောင်မှု၊ webhook များ
scheduler always ထပ်တလဲလဲအလုပ်များ– runtime အချိန်ဇယား ၆၄ ခု မှတ်ပုံတင်ပြီး အလုပ်သမားထံ လွှဲသည်။ တစ်ကြိမ်တွင် ဦးဆောင်သူတစ်ဦး
collab always ပူးပေါင်းတည်းဖြတ်မှု websocket၊ QUIRE_COLLAB_HTTP_PORT (1234) တွင်
centrifugo always Realtime ဖြန့်ဝေမှု၊ QUIRE_REALTIME_PORT (8000) တွင်
proxy always Caddy၊ port 80 နှင့် 443 ရှိ TLS တံခါးဝ (“TLS” ကို ကြည့်ပါ)
valkey cache သိမ်းဆည်းမှုနှင့် နှုန်းကန့်သတ်ချက်များ
clamav scan အပ်လုဒ်များ၏ မဲလ်ဝဲလ်စကင်ဖတ်ခြင်း
gotenberg preview Office မှ PDF အစမ်းကြည့်မှုများ၊ လက်မှတ်ဖော်ပြမှု
imgproxy images အရွယ်ပြောင်းပြီး ပြောင်းလဲသောရုပ်ပုံများ
transcoder video ဗီဒီယိုပြန်ဖော်ထုတ်မှုများအတွက် LGPL-သီးသန့် ffmpeg ပါသောအလုပ်သမား image
seaweedfs storage ဤအိမ်ရှင်တွင် S3 နှင့်ကိုက်ညီသော object သိုလှောင်မှု
otelcol observability OpenTelemetry စုဆောင်းသူ
mailpit devmail ထွက်သွားသောမေးလ်အားလုံး ဖမ်းသည်၊ Quire စမ်းသုံးရန်
backup backup တစ်ကြိမ်သုံးအခြေအရန်။ backup-restore.md ကို ကြည့်ပါ
backup-scheduler၊ backup-offsite backup QUIRE_BACKUP_INTERVAL_HOURS တိုင်း အခြေအရန်တစ်ခု၊ အပတ်စဉ်စစ်ဆေးလေ့ကျင့်မှုပါသော စာဝှက်ထားသောအိမ်ရှင်ပြင်မိတ္တူများ
h5p h5p QUIRE_H5P_IMAGE တွင် သင်ပေးသော H5P LTI 1.3 ကိရိယာ image၊ QUIRE_H5P_PORT (8090) တွင်။ “H5P ဝန်ဆောင်မှုပေးသူ ချိတ်ဆက်ခြင်း” ကို ကြည့်ပါ

--profile full က backup နှင့် h5p မှလွဲ၍ ရွေးချယ်နိုင်သောဝန်ဆောင်မှုတိုင်း စတင်သည်။ docker compose -f docker/compose.yaml --profile scan up -d ဖြင့် တစ်ခု စတင်ပါ။ ရွေးချယ်နိုင်သောဝန်ဆောင်မှုမရှိဘဲ Quire ဆက်အလုပ်လုပ်ပြီး ဘာပျောက်နေသည်ကို ဆိုသည်– စကင်နာမရှိပါက အပ်လုဒ်များ စကင်မဖတ်ဘဲ သိမ်းပြီး စီမံခန့်ခွဲသူအား ပြောသည်။ Gotenberg မရှိပါက ဖိုင်များ အစမ်းကြည့်မည့်အစား ဒေါင်းလုဒ် ပေးသည်။ transcoder မရှိပါက ဗီဒီယို မူရင်းဖိုင်အတိုင်း ဖွင့်သည်။

ပြင်ပအဖွဲ့အစည်း image တိုင်းနှင့် ၎င်း၏လိုင်စင်တာဝန်များ docker/third-party-containers.yaml တွင် စာရင်းပြုစုထားသည်။

H5P ဝန်ဆောင်မှုပေးသူ ချိတ်ဆက်ခြင်း

Quire က H5P runtime သို့မဟုတ် sidecar ထည့်သွင်း သို့မဟုတ် ပို့ဆောင်မထားပါ (ADR 0019)။ H5P အသုံးပြုပါက သင့်ကိုယ်ပိုင်လက်ခံပေးထားသောစာရင်းသွင်းမှု ပေးပါ သို့မဟုတ် သင့်ကိုယ်ပိုင်ကိုယ်တိုင်လက်ခံသော H5P instance ကို Quire နှင့် သီးခြား လည်ပတ်ပါ။ ထိုဝန်ဆောင်မှုပေးသူကို LTI 1.3 ပြင်ပကိရိယာအဖြစ် မှတ်ပုံတင်ပြီး ၎င်း၏အကြောင်းအရာကို ကိရိယာလှုပ်ရှားမှုများအဖြစ် သင်တန်းများသို့ ထည့်ပါ။ Quire က အမှတ်များနှင့် လှုပ်ရှားမှု/အမှတ်ပေးတိုးတက်မှုကို LTI Assignment and Grade Services (AGS) မှတစ်ဆင့် ဖလှယ်သည်။ ဝန်ဆောင်မှုပေးသူ xAPI ထုတ်ပြန်ချက်များလည်း ပို့ပါက၊ Quire ၏ xAPI ထုတ်ပြန်ချက်သိုလှောင်မှုအတွက် ယင်းကို သီးခြားစီစဉ်ပါ။ AGS အမှတ်/တိုးတက်မှုဖလှယ်မှုက xAPI ထုတ်ပြန်ချက်များ မပို့ပါ။ Moodle တင်သွင်းမှုများက H5P လှုပ်ရှားမှုများကို LTI ကိရိယာချိတ်ဆက်မှု လိုအပ်သည်ဟု အစီရင်ခံသည်။ ဝန်ဆောင်မှုပေးသူ ၎င်း၏ H5P runtime၊ ရေးသားမှု၊ အကြောင်းအရာဘဏ်နှင့် ကြိုးပမ်းမှုမှတ်တမ်း တာဝန်ဆက်ယူသည်။

ဤအိမ်ရှင်တွင် သင့်ကိုယ်ပိုင်ကိုယ်တိုင်လက်ခံသော instance လည်ပတ်ရန် QUIRE_H5P_IMAGE ကို ၎င်း၏ image အဖြစ် သတ်မှတ်ပြီး h5p ပရိုဖိုင် စတင်ပါ။ Compose က ၎င်းကို QUIRE_H5P_PORT (8090) တွင် ထုတ်ဝေပြီး ၎င်း၏ဒေတာကို h5p-data volume တွင် ထားသည်။ image နှင့် ၎င်းနှင့်ပါလာသောတာဝန်များ သင့်အရာဆက်ဖြစ်သည်။

ဆက်တင်များ

လုပ်ငန်းစဉ်တိုင်း docker/.env ဖတ်သည်။ ပုံစံ docker/.env.example က ဆက်တင်တစ်ခုစီ မူလတန်ဖိုးနှင့်အတူ စာရင်းပြုစုသည်။ အုပ်စုများ–

လိပ်စာများ

ဆက်တင် အဓိပ္ပာယ်
QUIRE_APP_ORIGIN LMS ၏အများပြည်သူလိပ်စာ၊ ဥပမာ https://learn.example.com
QUIRE_CONTENT_ORIGIN အကြောင်းအရာမူလ၊ မတူသောအိမ်ရှင်
QUIRE_PLATFORM_DOMAINS အဖွဲ့အစည်းများ နေထိုင်သောဒိုမိန်းများ၊ ကော်မာခြား
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 X-Forwarded-For ယုံကြည်ရသော Proxy များ

လျှို့ဝှက်ချက်များ

ဆက်တင် အဓိပ္ပာယ်
QUIRE_SECRET_KEY session များနှင့် တိုကင်များ လက်မှတ်ထိုးသည်။ hex စာလုံး ၆၄ လုံး
QUIRE_MASTER_KEY SSO နှင့် webhook လျှို့ဝှက်ချက်များကဲ့သို့ သိမ်းထားသောအထောက်အထားများ ထုပ်ပိုးသည်။ 32 byte၊ base64။ ဝဘ်အဆင့်နှင့် အလုပ်သမား တူညီသောတန်ဖိုး လိုအပ်သည်။ လှည့်ပြောင်းမှု– key-rotation.md
QUIRE_MASTER_KEY_VERSION မာစတာသော့၏ဗားရှင်းတံဆိပ်၊ မသတ်မှတ်ထားလျှင် v1။ လှည့်ပြောင်းသည့်အခါ မြှင့်ပါ
QUIRE_MASTER_KEY_RETIRED ၎င်းတို့တံဆိပ်ခတ်သည့်အရာ ဖတ်ရန် လိုနေသေးသောအစောမာစတာသော့များ၊ v1=<base64> အဖြစ်။ လှည့်ပြောင်းမှု မဖြေရှင်းရသေးဘာမှမရှိဘဲ ပြီးသည်နှင့် ဖယ်ရှားပါ
QUIRE_COLLAB_SIGNING_KEY တည်းဖြတ်တိုကင်များ လက်မှတ်ထိုးရန် ဝဘ်နှင့် collab မျှဝေသည်
QUIRE_BACKUP_SIGNING_KEY သင်တန်းအရန်များ လက်မှတ်ထိုးသည် (ရွေးချယ်နိုင်)

QUIRE_MASTER_KEY ၏မိတ္တူကို ဤအိမ်ရှင်အပြင် အခြားနေရာ၌ ထားပါ။ ၎င်းမပါဘဲ ပြန်လည်ဖော်ထုတ်သောဒေတာဘေ့စ် ၎င်းကိုင်သောအထောက်အထားများ စာဝှက်ဖြည်၍မရပါ။

ဒေတာဘေ့စ်

ဆက်တင် အဓိပ္ပာယ်
POSTGRES_PASSWORD superuser၊ ကွန်တိန်နာနှင့် အရန်များ အသုံးပြုသည်
QUIRE_DB_APP_PASSWORD၊ QUIRE_DB_MIGRATOR_PASSWORD၊ QUIRE_DB_REPORT_PASSWORD၊ QUIRE_DB_AUDIT_PASSWORD အခန်းကဏ္ဍစကားဝှက်များ၊ ပထမစတင်မှုတွင် သတ်မှတ်သည်
DATABASE_URL အက်ပလီကေးရှင်းအခန်းကဏ္ဍ။ ၎င်းလုပ်သောမေးမြန်းမှုတိုင်းတွင် အတန်းအဆင့်လုံခြုံမှု သက်ဆိုင်သည်
DATABASE_MIGRATOR_URL၊ QUIRE_MIGRATION_URL ရွှေ့ပြောင်းသူအခန်းကဏ္ဍ၊ migrate နှင့် init အတွက်
QUIRE_SUPERUSER_URL ပထမလည်ပတ်မှုတွင်သာ အသုံးပြုသည်
QUIRE_REPORT_DATABASE_URL အစီရင်ခံစာများနှင့် အစီရင်ခံတည်ဆောက်သူအတွက် ဖတ်ရန်သာအစီရင်ခံအခန်းကဏ္ဍ
QUIRE_AUDIT_DATABASE_URL စာရင်းစစ်ကွန်ဆိုးလ်နှင့် SIEM ထုတ်ယူမှုအတွက် စာရင်းစစ်အခန်းကဏ္ဍ
QUIRE_DATABASE_ID UUID မဆို၊ တပ်ဆင်မှုသက်တမ်းတစ်လျှောက် ပုံသေ

အခန်းကဏ္ဍစကားဝှက်များကို ဒေတာဘေ့စ် volume ပထမဖန်တီးသည့်အခါသာ အသုံးချသည်။ နောက်ပိုင်း တစ်ခု ပြောင်းရန် ALTER ROLE အသုံးပြုပြီး ကိုက်ညီသော URL မွမ်းမံပါ။

QUIRE_REPORT_DATABASE_URL ကို DATABASE_URL စီစဉ်သောရုပ်ပိုင်းဆိုင်ရာဒေတာဘေ့စ်အတွက် အသုံးပြုသည်။ အခြားမှတ်ပုံတင်ထားသောရုပ်ပိုင်းဆိုင်ရာဒေတာဘေ့စ်မဆိုအတွက် ၎င်း၏ကိုယ်ပိုင် quire_report ချိတ်ဆက်မှု URL ကို ဝဘ်နှင့် အလုပ်သမားပတ်ဝန်းကျင်များတွင် သတ်မှတ်ပြီး၊ ထို့နောက် ထိုဒေတာဘေ့စ်၏ အစီရင်ခံပတ်ဝန်းကျင်ကိန်းရှင် အကွက်တွင် ကိန်းရှင်အမည်ကို env:NAME အဖြစ် ထည့်ပါ။ အကိုးအကားက ၎င်း၏အက်ပ်ချိတ်ဆက်မှုနှင့် တူညီသောဒေတာဘေ့စ်ကို ညွှန်ရမည်၊ ဖြစ်နိုင်ပါက ၎င်း၏ဖတ်ပုံတူ။ အစီရင်ခံမျက်နှာပြင်တိုင်း tenant နောက် ၎င်း၏ကိုယ်ပိုင်ဒေတာဘေ့စ်၏အစီရင်ခံချိတ်ဆက်မှုသို့ လိုက်သည်– အစီရင်ခံတည်ဆောက်သူနှင့် သိမ်းထားသောအစီရင်ခံစာများ၊ အချိန်ဇယားဆွဲပို့ဆောင်မှုများ၊ အစီရင်ခံထုတ်ယူမှုများ၊ ခွဲခြမ်းစိတ်ဖြာမှု၊ စာရင်းစစ်မှတ်တမ်း၊ REST စာရင်းစစ်အရင်းအမြစ်များနှင့် လက်ထောက်၏စာရင်းစစ်ရှာဖွေမှု။ ၎င်းတို့မဆို အခြားဒေတာဘေ့စ်၏အစီရင်ခံမှု URL ဘယ်တော့မှ မငှားပါ။ ဒေတာဘေ့စ်တစ်ခုတွင် အစီရင်ခံချိတ်ဆက်မှုမရှိပါက၊ သာမန်အစီရင်ခံစာများ ထိုဒေတာဘေ့စ်၏ကိုယ်ပိုင်အက်ပလီကေးရှင်းချိတ်ဆက်မှုတွင် လည်ပတ်ပြီး၊ ခွဲခြမ်းစိတ်ဖြာမှုနှင့် စာရင်းစစ်ဖတ်မှုတိုင်း ငြင်းပယ်ပြီး ထိုအကြောင်း ဆိုသည်၊ အက်ပလီကေးရှင်းအခန်းကဏ္ဍ စာရင်းစစ်လမ်းကြောင်း ဖတ်၍မရသောကြောင့်။

မောင်းနှင်သူများ

ဆက်တင် ဤထုတ်ဝေမှု မှတ်စုများ
QUIRE_STORAGE_DRIVER local (မူလ)၊ s3 သို့မဟုတ် azure local က ဖိုင်များကို files volume တွင် ထားသည်။ s3 က AWS S3၊ R2၊ GCS အပြန်အလှန်လုပ်ဆောင်မှုနှင့် အခြား S3 နှင့်ကိုက်ညီသောသိုလှောင်မှုများ အကျုံးဝင်သည်၊ ပြန်စလို့ရသော အစိတ်ပိုင်းများခွဲအပ်လုဒ်များနှင့်
QUIRE_REALTIME_DRIVER inprocess (မူလ)၊ sse၊ centrifugo သို့မဟုတ် durable_objects inprocess က ဝဘ်ကွန်တိန်နာတစ်ခုအတွက် မှန်သည်။ အများအပြားရှိသည့်အခါ centrifugo သို့မဟုတ် sse အသုံးပြုပါ
QUIRE_CACHE_DRIVER memory (မူလ)၊ postgres သို့မဟုတ် valkey memory က လုပ်ငန်းစဉ်တစ်ခုစီအလိုက်။ ကွန်တိန်နာများ ဖြတ်၍ နှုန်းကန့်သတ်ချက်များ တည်စေရန် valkey သို့မဟုတ် postgres အသုံးပြုပါ
QUIRE_VIDEO_DRIVER ffmpeg (မူလ) သို့မဟုတ် progressive_mp4 သို့မဟုတ် လက်ခံပေးထားသောဝန်ဆောင်မှုပေးသူ– Cloudflare Stream၊ Mux သို့မဟုတ် Bunny၊ ၎င်းတို့၏သော့များဖြင့်
QUIRE_IMAGE_DRIVER noop (မူလ)၊ imgproxy သို့မဟုတ် cloudflare noop က ရုပ်ပုံတိုင်း ၎င်း၏မူရင်းအရွယ်အစား ဝန်ဆောင်မှုပေးသည်။ imgproxy က images ပရိုဖိုင်နှင့် အောက်၌ဆက်တင်များ လိုအပ်သည်။ cloudflare က Cloudflare Images အသုံးပြုသည်
QUIRE_MEETING_PROVIDER bbb၊ zoom၊ teams၊ meet၊ jitsi သို့မဟုတ် in_process တိုက်ရိုက်အစည်းအဝေးများအတွက် ပလက်ဖောင်းမူလ။ မသတ်မှတ်ထားပါက၊ အဖွဲ့အစည်းတစ်ခုက Integrations၊ တိုက်ရိုက်အစည်းအဝေးဝန်ဆောင်မှုပေးသူအောက်၌ ၎င်း၏ကိုယ်ပိုင်အကောင့် ချိတ်ဆက်သည်အထိ၊ တိုက်ရိုက်အစည်းအဝေးများ စီစဉ်မထားဟု ဆိုသည်။ အဖွဲ့အစည်းတစ်ခု၏ကိုယ်ပိုင်အကောင့် ဤတန်ဖိုးကို အမြဲအနိုင်ရသည်။ ဝန်ဆောင်မှုပေးသူတစ်ခုစီ၏ကိုယ်ပိုင်ဆက်တင်များ (BBB_URL နှင့် BBB_SECRET၊ ZOOM_*၊ TEAMS_*၊ GOOGLE_MEET_* နှင့် JITSI_* ကိန်းရှင်များ) က ဤနေရာတွင် အမည်ပေးသောဝန်ဆောင်မှုပေးသူအတွက်သာ ဖတ်သည်
QUIRE_MEETING_REGIONS eu၊ uk၊ us ၏ ကော်မာစာရင်း ပလက်ဖောင်းမူလဝန်ဆောင်မှုပေးသူ အစည်းအဝေးများ လုပ်ဆောင်သည့်နေရာ။ မသတ်မှတ်ထားပါက၊ ဒေသတစ်ခုတွင် ချိတ်ထားသောအဖွဲ့အစည်းနှင့် တိုက်ဆိုင်မစစ်ဆေးပါ၊ အလား။ အဖွဲ့အစည်းတစ်ခု၏ကိုယ်ပိုင်အကောင့် ၎င်း၏ဒေသများကို ၎င်း၏စာမျက်နှာတွင် ဖော်ပြသည်

ဤထုတ်ဝေမှု မပါဝင်သောမောင်းနှင်သူတန်ဖိုးကို ဝဘ်အဆင့် စတင်သည့်အခါ ဆက်တင် အမည်ပေး၍ ငြင်းပယ်သည်၊ မူလတန်ဖိုးဖြင့် တိတ်တဆိတ် အစားထိုးမည့်အစား။

ရုပ်ပုံများ

စာမျက်နှာများ /api/files/{id}/image/{size} မှတစ်ဆင့် ပုံသေအရွယ်အစားလေးမျိုးဖြင့် ရုပ်ပုံများ တောင်းသည်၊ ဖိုင်ကိုယ်တိုင်နှင့် တူညီသောဝင်ရောက်မှု စစ်ဆေးပြီး ရုပ်ပုံဝန်ဆောင်မှုသို့ ပြန်ညွှန်းသည်။ အဖွဲ့အစည်းတစ်ခုစီ တစ်နာရီ QUIRE_IMAGE_SPECS_PER_HOUR (မူလ 2000) ရုပ်ပုံနှင့်အရွယ်အစားအတွဲအသစ် တောင်းနိုင်သည်။ ထိုတစ်နာရီ ထုတ်လုပ်ပြီးသားအရွယ်အစားများ မရေတွက်ပါ။ ဝဘ်ကွန်တိန်နာတစ်ခုထက်ပိုပါက valkey သို့မဟုတ် postgres ကို QUIRE_CACHE_DRIVER အတွက် အသုံးပြုပါ၊ ကန့်သတ်ချက် ၎င်းတို့ ဖြတ်၍ တည်စေရန်။

ဆက်တင် မောင်းနှင်သူ မှတ်စုများ
IMGPROXY_URL imgproxy imgproxy သို့ ဘရောက်ဆာများ ရောက်သောလိပ်စာ၊ ဥပမာ https://images.example.org။ 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 က ပုံးမှ ယူပြီး ယင်းကို မသုံးပါ
CLOUDFLARE_ACCOUNT_ID၊ CLOUDFLARE_IMAGES_TOKEN၊ CLOUDFLARE_IMAGES_ACCOUNT_HASH cloudflare Images တည်းဖြတ်ခွင့်ပါသော API တိုကင်၊ Images၊ Developer အရင်းအမြစ်များမှ အကောင့် hash။ အကောင့်အတွက် ပြောင်းလွယ်သောမူကွဲများ ဖွင့်ပါ
CLOUDFLARE_IMAGES_SIGNING_KEY cloudflare ရွေးချယ်နိုင်။ သတ်မှတ်ထားပါက ရုပ်ပုံများ သီးသန့်ဖြစ်ပြီး လိပ်စာတိုင်း လက်မှတ်ထိုးသက်တမ်းကုန်သည်။ ၎င်းမရှိပါက ရုပ်ပုံများ QUIRE_SECRET_KEY မှ ဆင်းသက်သော မည်သူမှ ခန့်မှန်း၍မရသောလိပ်စာများတွင် အများပြည်သူ ဖြစ်သည်

Cloudflare Images က ၎င်းဝန်ဆောင်မှုပေးသောမူရင်းတစ်ခုစီ၏ကိုယ်ပိုင်မိတ္တူ သိမ်းသည်။ ဖိုင်တစ်ခု ဖျက်ခံရသည့်အခါ အလုပ်သမားက မူရင်းမတိုင်မီ ထိုမိတ္တူ ဖျက်သည်။

တန်းစီ

နောက်ခံအလုပ်များ တူညီသော Postgres ဒေတာဘေ့စ်တွင် pg-boss အသုံးပြုသည်၊ ထို့ကြောင့် လည်ပတ်ရန်တန်းစီဝန်ဆောင်မှု မရှိပါ စီစဉ်ရန်ဘာမှမရှိပါ။ အလုပ်များ ၎င်းတို့ကို ဖြစ်စေသောပြောင်းလဲမှုနှင့် တူညီသောငွေလွှဲတွင် တန်းစီသည်၊ ထို့ကြောင့် ပျက်ကျမှု တစ်ခုကို ဆုံးရှုံးစေ သို့မဟုတ် နှစ်ကြိမ်ပို့၍မရပါ။ QUIRE_QUEUE_DRIVER က ဤနေရာတွင် pgboss ဖြစ်သည်၊ ၎င်း၏မူလ။ vercel နှင့် cloudflare က ပေါ့ပါးသောအသိပေးချက်နှင့် webhook ပို့ဆောင်မှုများသာ ပလက်ဖောင်း၏ကိုယ်ပိုင်တန်းစီသို့ ရွှေ့သည်၊ Vercel နှင့် Cloudflare လမ်းညွှန်များက ၎င်းတို့နှင့် ၎င်းတို့၏ဝဘ်အဆင့်များ မည်သို့တန်းစီသည်ကို ဖော်ပြသည်။

အီးမေးလ်

တစ်ခုခု သတ်မှတ်ပါ–

  • QUIRE_EMAIL_PROVIDER_CONFIG– HTTP ဝန်ဆောင်မှုပေးသူနှင့် ၎င်း၏အထောက်အထားများ အမည်ပေးသော JSON object တစ်ခု၊ ဥပမာ {"provider":"postmark","token":"..."}။ Postmark၊ Amazon SES၊ Mailgun၊ SendGrid နှင့် Resend ပံ့ပိုးထားသည်။
  • QUIRE_SMTP_URL– smtp://user:password@host:587။ ဤပစ်မှတ်သာ။ ဆာဗာမဲ့ပစ်မှတ်များ SMTP ပိတ်ဆို့သည်။

QUIRE_MAIL_FROM က ပေးပို့သူ ဖြစ်သည်။ Quire စမ်းသုံးရန် devmail ပရိုဖိုင် စတင်ပါ၊ QUIRE_SMTP_URL=smtp://mailpit:1025 သတ်မှတ်ပါ၊ http://localhost:8025 တွင် မေးလ် ဖတ်ပါ။

ရွေးချယ်နိုင်သောဝန်ဆောင်မှုများ

ဆက်တင် ပရိုဖိုင်နှင့်
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 ရှေ့ဆက် စာလုံးငါးလုံးသာ ပို့သည်)။ off က ပိတ်သည်၊ URL က သင်လက်ခံသော range API ကို ညွှန်သည်

စောင့်ကြည့်လေ့လာနိုင်မှု

OTEL_EXPORTER_OTLP_ENDPOINT က လုပ်ငန်းစဉ်တိုင်း ခြေရာများနှင့် မက်ထရစ်များ ပို့သောစုဆောင်းသူ အမည်ပေးသည်။ observability ပရိုဖိုင်ဖြင့် ၎င်းက http://otelcol:4318 ဖြစ်သည်၊ docker/otel-collector.yaml က သင့် backend အတွက် ထုတ်ယူသူ ထည့်သည့်နေရာ ဖြစ်သည်။ ဝဘ်အဆင့်၊ အလုပ်သမား၊ အချိန်ဇယားဆွဲသူ၊ အကြောင်းအရာနှင့် collab လုပ်ငန်းစဉ်များ သတ်မှတ်ထားသည့်အခါ OTLP/HTTP မှတစ်ဆင့် span များ ထုတ်ယူသည် (ဝဘ်တောင်းဆိုမှုများ၊ tenant ဒေတာဘေ့စ်ငွေလွှဲများ၊ အလုပ်သမားအလုပ်များနှင့် အထွက်ခေါ်ဆိုမှုများ)၊ မိနစ်တိုင်း တူညီသော endpoint သို့ မက်ထရစ်များ (OTEL_METRICS_EXPORTER=none က ၎င်းတို့ကို ပိတ်သည်)။ OTEL_TRACES_SAMPLER_ARG က သိမ်းသောခြေရာများ၏အစု သတ်မှတ်သည်။ မှတ်တမ်းများ LOG_LEVEL တွင် စံထုတ်ယူမှုသို့ သွားပြီး Compose က ၎င်းတို့ကို လှည့်သည်။ ခြေရာများ ကိုယ်ရေးကိုယ်တာဒေတာ ဘယ်တော့မှ မသယ်ပါ။

ဒေသတွင်းထွက်ပေါက် (EU ဒေတာနေထိုင်မှု)

QUIRE_REGION=eu က အစုက ဥရောပသမဂ္ဂအဖွဲ့အစည်းများ ဝန်ဆောင်မှုပေးသည်ဟု ဆိုသည်။ ထို့နောက် အလုပ်သမားက EU တွင် ချိတ်ထားသောအဖွဲ့အစည်းအတွက် ပြုလုပ်သောအထွက်တောင်းဆိုမှုတိုင်း ခွင့်ပြုစာရင်းတွင် ကိုင်ထားသည် (21-compliance.md အပိုင်း 8.1)။ ခွင့်ပြုစာရင်းက ဒေသအတွက် စီစဉ်ထားသောဝန်ဆောင်မှုများ ကြေညာသောအိမ်ရှင်များ (သိုလှောင်မှု endpoint၊ အီးမေးလ်ဝန်ဆောင်မှုပေးသူ၊ လက်ခံပေးထားသောဗီဒီယိုဝန်ဆောင်မှုပေးသူ၊ အဖွဲ့အစည်း၏ကိုယ်ပိုင်သိုလှောင်မှုပစ်မှတ်များ၊ AI ဝန်ဆောင်မှုပေးသူများနှင့် အီးမေးလ်အကောင့်)၊ တက်ကြွခြွင်းချက်အောက်ရှိ ဝန်ဆောင်မှုမဆို၏အိမ်ရှင်များ၊ QUIRE_EGRESS_ALLOW_HOSTS တွင် သင်စာရင်းပြုစုသောအိမ်ရှင်များ ဖြစ်သည်။ အခြားအများပြည်သူအိမ်ရှင်မဆိုသို့ တောင်းဆိုမှုကို မပို့မီ ငြင်းပယ်သည်၊ ငြင်းပယ်မှုကို အဖွဲ့အစည်း၏စာရင်းစစ်လမ်းကြောင်းတွင် privacy/egress_refused အဖြစ် ရေးသည်၊ Compliance၊ ဒေတာနေထိုင်မှုအောက်၌ စာရင်းပြုစုသည်။

ဆက်တင် တန်ဖိုးများ သက်ရောက်မှု
QUIRE_EGRESS_ALLOW_HOSTS ကော်မာစာရင်းအိမ်ရှင်အမည်များ၊ သို့မဟုတ် subdomain တိုင်းအတွက် *.example.org EU အဖွဲ့အစည်း ရောက်နိုင်သောအပိုအိမ်ရှင်များ။ Webhook၊ xAPI နှင့် SIEM endpoint များ၊ ဘလော့ဂ်အဟာရများနှင့် Amazon SES အိမ်ရှင်များ ဤနေရာတွင် ပါဝင်သည်၊ ၎င်းတို့က အဖွဲ့အစည်း၏ကိုယ်ပိုင်ရွေးချယ်မှု ဖြစ်ပြီး ဝန်ဆောင်မှုမဆို ၎င်းတို့ကို ကြေညာမထားသောကြောင့်။ Loopback၊ သီးသန့်လိပ်စာများနှင့် web သို့မဟုတ် clamav ကဲ့သို့ တံဆိပ်တစ်ခုတည်းအမည်များ သင့်ကိုယ်ပိုင်ကွန်ရက် ဖြစ်ပြီး ဘယ်တော့မှ မစစ်ဆေးပါ

UK နှင့် US အဖွဲ့အစည်းများ အိမ်ရှင်စာရင်းတွင် မကိုင်ထားပါ။ ၎င်းတို့ ဝန်ဆောင်မှုဒေသစစ်ဆေးမှုများ ဆက်ထားသည်။ စာရင်းကို အလုပ်သမားတွင် သတ်မှတ်ပါ။ စီမံခန့်ခွဲစာမျက်နှာက ခွင့်ပြုစာရင်း ပြရန် ဝဘ်အဆင့်တွင် ၎င်းကို ဖတ်သည်၊ ထို့ကြောင့် ဝန်ဆောင်မှုတိုင်း ဖတ်သော docker/.env တွင် ထည့်ပါ။

အက်ပလီကေးရှင်းစစ်ဆေးမှုက ရှင်းလင်းသောအမှားနှင့် စာရင်းစစ်ထည့်သွင်းမှုတစ်ခု ပေးသည်၊ အာမခံချက် မဟုတ်ပါ– ကုဒ် မှားနိုင်သည်။ အာမခံချက်က ကွန်ရက် ဖြစ်သည်။ Compose က သင့်အတွက် ၎င်းကို အကောင်အထည်မဖော်ပါ။ ဒေသတွင်းအစုအတွက် worker နှင့် web ဝန်ဆောင်မှုများကို ထွက်လမ်းတစ်ခုတည်းသာ ထွက်ပေါက် proxy (ဥပမာ Squid သို့မဟုတ် tinyproxy ကွန်တိန်နာ) ဖြစ်သော internal: true ကွန်ရက်တွင် ထားပါ၊ QUIRE_EGRESS_ALLOW_HOSTS နှင့် တူညီသောအိမ်ရှင်များ သင့်စီစဉ်ထားသောဝန်ဆောင်မှုများ၏အိမ်ရှင်များနှင့်အတူ ခွင့်ပြုသည့်အရာ၊ ထိုဝန်ဆောင်မှုများအတွက် HTTPS_PROXY သတ်မှတ်ပါ။ နေထိုင်မှုစာမျက်နှာက အက်ပလီကေးရှင်း ခွင့်ပြုသောအိမ်ရှင်အတိအကျ စာရင်းပြုစုသည်၊ ထို့ကြောင့် စာရင်းနှစ်ခု နှိုင်းယှဉ်၍ရသည်။

ကျန်းမာရေး

endpoint အဓိပ္ပာယ်
/healthz အသက်ရှင်မှု– လုပ်ငန်းစဉ် ဖြေကြားသည်။ Compose ကျန်းမာရေးစစ်ဆေးမှုများ ယင်းကို အသုံးပြုသည်
/readyz အသင့်ဖြစ်မှု– မှီခိုမှုများ ရောက်နိုင်သည်၊ ရွေးချယ်နိုင်သောဝန်ဆောင်မှုတစ်ခုစီ စီစဉ်ထားသည် သို့မဟုတ် မဟုတ် အစီရင်ခံလျက်။ သင့် load balancer ကို ဤနေရာ ညွှန်ပါ

docker compose -f docker/compose.yaml ps က ဝန်ဆောင်မှုတစ်ခုစီ၏ကျန်းမာရေး ပြသသည်။

TLS

proxy ဝန်ဆောင်မှု (Caddy၊ Apache-2.0၊ docker/caddy/Caddyfile) က မူလအစု၏အစိတ်အပိုင်း ဖြစ်သည်။ port 80 နှင့် 443 တွင် ဖြေကြားပြီး လမ်းကြောင်းပေးသည်–

အိမ်ရှင် သို့မဟုတ် လမ်းကြောင်း သွားသည့်နေရာ
QUIRE_PROXY_CONTENT_HOST content
QUIRE_PROXY_APP_HOST၊ tenant subdomain တိုင်းနှင့် စိတ်ကြိုက်ဒိုမိန်း web
ထိုအိမ်ရှင်များတွင် /_collab/ collab (websocket၊ QUIRE_COLLAB_URL)
ထိုအိမ်ရှင်များတွင် /_realtime/connection/ centrifugo ၏ client websocket။ ၎င်း၏ဆာဗာ API ဘယ်တော့မှ မထုတ်ဖော်ပါ
ထိုအိမ်ရှင်များတွင် /_images/ imgproxy၊ 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 (မူလ)– localhost၊ *.localhost နှင့် lvh.me အတွက် Caddy ၏ကိုယ်ပိုင်လက်မှတ်အာဏာပိုင်။ ၎င်း၏အမြစ် တစ်ကြိမ်ယုံကြည်ပြီး ရှာဖွေပါ–

    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)။ မူလနှစ်ခုနှင့် tenant အိမ်ရှင်တိုင်းအတွက် DNS ဤနေရာ ညွှန်ရမည်၊ port 80 နှင့် 443 အင်တာနက်မှ ရောက်နိုင်ရမည်။

Tenant အိမ်ရှင်များ တောင်းဆိုမှုအလိုက်၊ ပထမလာရောက်မှုတွင်၊ ဝဘ်က အမည် ဤတပ်ဆင်မှုမှ ဟုတ် အတည်ပြုမှသာ ထုတ်ပေးသည် (/tls-allowed၊ Compose ကွန်ရက်တွင် မေးသည်)။ wildcard လက်မှတ် သို့မဟုတ် DNS ဝန်ဆောင်မှုပေးသူပလပ်အင် မလိုပါ၊ အမည်တစ်ခု အိမ်ရှင်သို့ ညွှန်သောသူစိမ်း လက်မှတ်များ တောင်းခိုင်း၍မရပါ။ လက်မှတ်များနှင့် ဒေသခံအာဏာပိုင် caddy-data volume တွင် နေသည်။ internal အသုံးပြုပါက ကျန်အရာများနှင့် အတူ အရန်သိမ်းပါ။

ဝဘ်က proxy တည်းတင် X-Forwarded-For ကို ယုံကြည်သည်– proxy တွင် ပုံသေလိပ်စာ (QUIRE_PROXY_ADDRESS၊ မူလ 172.29.64.10) ပုံသေကွန်ရွက်ခွဲ (QUIRE_COMPOSE_SUBNET) တွင် ရှိသည်၊ QUIRE_TRUSTED_PROXY_CIDRS က ထိုလိပ်စား အမည်ပေးသည်။ ကွန်ရွက်ခွဲ အိမ်ရှင်ရှိကွန်ရက်နှင့် တိုက်မိပါက နှစ်ခုစလုံး ပြောင်းပြီး docker compose down ကို up မပြုမီ လည်ပတ်ပါ။

သင့်ကိုယ်ပိုင်ပြောင်းပြန် proxy နောက်

အစား သင်လည်ပတ်ပြီးသား load balancer သို့မဟုတ် proxy အသုံးပြုရန် proxy ချန်ပါ (docker compose up -d --scale proxy=0)၊ web (8080)၊ content (8081)၊ collab (1234၊ websocket) နှင့် centrifugo (8000၊ websocket) ရှေ့တွင် TLS အဆုံးသတ်ပါ။ အများပြည်သူလိပ်စာများ 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 script တစ်ကြိမ်လည်ပတ်သည်။ ALTER ROLE အသုံးပြုပါ။
  • CLAMAV_URL သတ်မှတ်ထားစဉ် အပ်လုဒ်များ စကင်အမှားဖြင့် မအောင်ပါ– ClamAV က ပထမစတင်မှုတွင် ၎င်း၏လက်မှတ်များ ဒေါင်းလုဒ်လုပ်သည်၊ မိနစ်အနည်းငယ် ကြာသည်။
လမ်းညွှန်

ရှာဖွေရန် ရိုက်ထည့်ပါ…

↑↓ ရွှေ့ပါ↵ ရွေးချယ်ပါEsc ပိတ်ပါ