Ale dirèkteman nan kontni an

Enstale Quire avèk Docker Compose

Enstale Quire sou pwòp enfrastrikti w avèk Docker Compose.

Gade kòm Markdown

Sa a se pwodwi konplè a sou yon sèl host: LMS la, travay an aryè-plan li yo, sèvis reyalite-a-kounye a ak koreksyon an kolaborasyon, ansanm ak tout sèvis opsyonèl ki dèyè yon pwofil. Konsepsyon an nan docs/architecture/23-ops.md, seksyon 2.

Lòt sib: Vercel ak Cloudflare Workers kouri web tier la sèlman. Enfòmasyon sou mizajou nan upgrade.md, epi sou backup ak egzèsis restorasyon nan backup-restore.md.

Sa ou bezwen

  • Docker Engine 27 oswa pi resan, avèk Compose plugin 2.30 oswa pi resan.
  • 4 nwayo CPU ak 8 GB memwa pou stack default la; 8 nwayo ak 16 GB avèk --profile full (ClamAV poukont li kenbe apeprè 1.5 GB siyati).
  • Yon non DNS pou web tier la ak yon lòt pou kontni ki pa fyab. Yo dwe sou host diferan: pakè SCORM ak HTML telechaje yo kouri nan content origin lan, konsa yo pa kapab li cookies LMS la.
  • Pou yon tès lokal, lvh.me ak *.localhost mennen nan 127.0.0.1, menm jan docker/.env.example konfigire l. Sèvis proxy stack la sèvi toude sou https ak pwòp otorite sètifika lokal li; konsa, pa bezwen enstale lòt bagay (gade “TLS”).
  • Pò 80 ak 443 yo dwe lib sou host la (QUIRE_PROXY_HTTP_PORT ak QUIRE_PROXY_HTTPS_PORT kapab deplase yo).

Premye demaraj

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 ekri docker/.env apati docker/.env.example; li jenere tout sekrè yo (modpas bazdone, kle siyati ak kle prensipal, pè kle lansman kontni) ansanm ak kle siyati pwen verifikasyon odit la nan docker/secrets/audit-signing-key.pem. Compose monte dènye a nan worker yo kòm sekrè. Script la bezwen sèlman sh, awk ak openssl; li refize ranplase yon docker/.env ki deja egziste. Kopye toude fichye yo deyò host sa a: san QUIRE_MASTER_KEY, yon bazdone retabli pa kapab dechifre kalifikatif li estoke. Pou ranpli fichye a alamen pito, kouri cp docker/.env.example docker/.env; fichye a esplike fason pou jenere chak sekrè.

Toude origin yo dwe https: sèvis kontni an refize http senp nan pwodiksyon, epi yo pa dwe pataje yon domèn registrab. Sèvis proxy a fini TLS pou toude (gade “TLS”); init-env.sh refize yon origin http://.

Stack la kòmanse nan yon lòd fiks, epi chak etap tann etap anvan an:

  1. postgres vin an sante. Nan premye demaraj la sèlman, init script li a (docker/postgres/init/90-passwords.sh) mete modpas kat wòl yo.
  2. migrate aplike chak migration epi inisyalize ke travay yo nan bazdone kontwòl la ansanm ak chak bazdone tenant dedye; li verifye yo tout dakò, apre sa li sòti (docs/ops/upgrade.md). Migration yo kouri nan chak demaraj epi yo idempotent; donk, yon mizajou mande yon nouvo image epi yon rekòmansman.
  3. init (apps/web/src/first-run.ts) anrejistre bazdone aplikasyon an anba QUIRE_DATABASE_ID; lè QUIRE_SETUP_ADMIN_EMAIL fikse, li kreye premye òganizasyon an ak administratè li. Yo montre adrès koneksyon ak modpas jenere a yon sèl fwa nan docker compose logs init.
  4. web, content, worker, scheduler, collab ak centrifugo kòmanse.
  5. proxy kòmanse lè web ak content vin an sante.

Louvri https://demo. ansanm ak domèn aplikasyon w lan (log init bay adrès koneksyon egzak la), epi konekte. Sou enstalasyon lokal, fè òdinatè w oswa navigatè w fè konfyans otorite sètifika proxy a anvan (gade “TLS”). Chanje modpas jenere a nan /account/security.

Yon pwosesis ki kòmanse san sekrè obligatwa a refize demare epi bay non paramèt ki manke a nan log li. Anyen pa kòmanse avèk konfigirasyon enkonplè.

Sèvis ak pwofil

Sèvis Pwofil Sa li fè
postgres toujou Bazdone a (PostgreSQL 18 ak pgvector, konstwi apati docker/postgres.Dockerfile), WAL achive depi premye demaraj
migrate, init toujou Yon sèl ekzekisyon: migration, apre sa premye demaraj
web toujou LMS la, sou QUIRE_HTTP_PORT (8080)
content toujou Content origin ki pa fyab, sou QUIRE_CONTENT_PORT (8081)
worker toujou Travay an aryè-plan: imèl, rapò, tretman fichye, webhook
scheduler toujou Travay peryodik: anrejistre 64 runtime schedule epi remèt yo bay worker; yon sèl lidè alafwa
collab toujou Websocket koreksyon an kolaborasyon, sou QUIRE_COLLAB_HTTP_PORT (1234)
centrifugo toujou Distribisyon reyalite-a-kounye a, sou QUIRE_REALTIME_PORT (8000)
proxy toujou Caddy, antre TLS la sou pò 80 ak 443 (gade “TLS”)
valkey cache Kach ak limit demann
clamav scan Analiz malveyan nan fichye telechaje
gotenberg preview Aperçu Office an PDF, rann sètifika
imgproxy images Redimansyon ak konvèsyon imaj
transcoder video Image worker ki gen ffmpeg LGPL sèlman, pou rann vèsyon videyo
seaweedfs storage Depo objè konpatib S3 sou host sa a
otelcol observability Collector OpenTelemetry
mailpit devmail Ranmase tout imèl k ap soti, pou eseye Quire
backup backup Sovgad baz ki kouri yon sèl fwa; gade backup-restore.md
backup-scheduler, backup-offsite backup Sovgad baz chak QUIRE_BACKUP_INTERVAL_HOURS, epi kopi chiffres deyò host avèk egzèsis verifikasyon chak semèn
h5p h5p Image zouti H5P LTI 1.3 ou bay la nan QUIRE_H5P_IMAGE, sou QUIRE_H5P_PORT (8090); gade “Konekte ak yon founisè H5P”

--profile full kòmanse tout sèvis opsyonèl sof backup ak h5p. Pou kòmanse youn, kouri docker compose -f docker/compose.yaml --profile scan up -d. Quire toujou mache san sèvis opsyonèl epi li di sa ki manke: san analiz, yo estoke upload yo san tès epi yo avèti administratè a; san Gotenberg, yo ofri fichye yo pou telechajman olye aperçu; san transcoder, videyo a jwe kòm fichye orijinal la.

Yo bay lis chak image twazyèm pati ak obligasyon lisans li nan docker/third-party-containers.yaml.

Konekte ak yon founisè H5P

Quire pa entegre ni distribye yon runtime oswa sidecar H5P (ADR 0019). Si w sèvi ak H5P, pran pwòp abònman akomode w oswa opere yon enstans H5P oto-akomode apa ak Quire. Anrejistre founisè sa a kòm zouti ekstèn LTI 1.3 epi ajoute kontni li nan kou kòm aktivite zouti. Quire echanje nòt ak pwogrè aktivite/koreksyon atravè LTI Assignment and Grade Services (AGS). Si founisè a voye xAPI statement tou, konfigire sa separeman pou statement store xAPI Quire a; echanj nòt/pwogrè AGS pa voye xAPI statement. Enpòtasyon Moodle rapòte aktivite H5P kòm aktivite ki bezwen koneksyon zouti LTI. Founisè a rete responsab runtime H5P li, zouti kreyasyon, bank kontni ak istwa tantativ.

Pou kouri pwòp enstans oto-akomode pa w sou host sa a, mete QUIRE_H5P_IMAGE sou image li a epi kòmanse pwofil h5p la. Compose pibliye li sou QUIRE_H5P_PORT (8090) epi konsève done li nan volume h5p-data; image la ak tout obligasyon ki mache avè l rete pou ou.

Paramèt

Chak pwosesis li docker/.env. Modèl la, docker/.env.example, bay lis chak paramèt ak valè default li. Men gwoup yo:

Adrès

Paramèt Siyifikasyon
QUIRE_APP_ORIGIN Adrès piblik LMS la, tankou https://learn.example.com
QUIRE_CONTENT_ORIGIN Content origin lan, sou yon lòt host
QUIRE_PLATFORM_DOMAINS Domèn òganizasyon yo anba, separe ak vigil
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 isit la. Gade lòt gid yo pou vercel ak cloudflare
QUIRE_TRUSTED_PROXY_CIDRS Proxy yo fè konfyans sou X-Forwarded-For yo voye a

Sekrè

Paramèt Siyifikasyon
QUIRE_SECRET_KEY Siyen sesyon ak token. 64 karaktè hexadesimal
QUIRE_MASTER_KEY Vlope kalifikatif estoke tankou sekrè SSO ak webhook. 32 bytes, base64. Web tier ak worker dwe gen menm valè a. Wotasyon: key-rotation.md
QUIRE_MASTER_KEY_VERSION Etikèt vèsyon kle prensipal la; v1 si pa gen valè. Ogmante li lè w chanje kle a
QUIRE_MASTER_KEY_RETIRED Ansyen kle prensipal ki toujou nesesè pou li sa yo te sele avèk li, sou fòm v1=<base64>. Retire li lè wotasyon an fini san anyen poko rezoud
QUIRE_COLLAB_SIGNING_KEY Web ak collab pataje li pou siyen token koreksyon
QUIRE_BACKUP_SIGNING_KEY Siyen backup kou yo (opsyonèl)

Kenbe yon kopi QUIRE_MASTER_KEY yon lòt kote pase sou host sa a. Yon bazdone retabli san li pa ka dechifre kalifikatif li genyen yo.

Bazdone

Paramèt Siyifikasyon
POSTGRES_PASSWORD Modpas superuser; container ak sovgad yo itilize li
QUIRE_DB_APP_PASSWORD, QUIRE_DB_MIGRATOR_PASSWORD, QUIRE_DB_REPORT_PASSWORD, QUIRE_DB_AUDIT_PASSWORD Modpas wòl yo, yo mete nan premye demaraj
DATABASE_URL Wòl aplikasyon an. Sekirite nivo liy aplike nan chak demann li fè
DATABASE_MIGRATOR_URL, QUIRE_MIGRATION_URL Wòl migrator a, pou migrate ak init
QUIRE_SUPERUSER_URL Yo sèvi avè l sèlman nan premye demaraj
QUIRE_REPORT_DATABASE_URL Wòl lekti-sèlman pou rapò ak zouti kreyasyon rapò a
QUIRE_AUDIT_DATABASE_URL Wòl odit la, pou konsòl odit ak ekspòtasyon SIEM
QUIRE_DATABASE_ID Nenpòt UUID, li pa chanje pandan tout dire enstalasyon an

Yo aplike modpas wòl yo sèlman premye fwa yo kreye volume bazdone a. Pou chanje youn apre sa, sèvi ak ALTER ROLE epi mete URL ki koresponn lan ajou.

Yo sèvi ak QUIRE_REPORT_DATABASE_URL pou bazdone fizik DATABASE_URL konfigire a. Pou nenpòt lòt bazdone fizik ki anrejistre, mete pwòp URL koneksyon quire_report pa li nan anviwònman web ak worker yo, epi mete non varyab la nan chan Reporting environment variable bazdone sa a kòm env:NAME. Referans lan dwe montre menm bazdone ak koneksyon app li a, de preferans yon kopi lekti. Chak ekran rapò swiv tenant la pou rive nan koneksyon rapò pwòp bazdone pa li: zouti kreyasyon ak rapò sove yo, livrezon pwograme, ekspòtasyon rapò, analytics, jounal odit, resous odit REST ak rechèch odit asistan an. Okenn ladan yo pa janm prete URL rapò yon lòt bazdone. Lè yon bazdone pa gen koneksyon rapò, rapò òdinè yo sèvi ak pwòp koneksyon aplikasyon bazdone sa a; analytics ak tout lekti odit yo refize epi di rezon an, paske wòl aplikasyon an pa kapab li rejis odit la.

Driver

Paramèt Nan vèsyon sa a Nòt
QUIRE_STORAGE_DRIVER local (default), s3 oswa azure local konsève fichye yo nan volume files. s3 kouvri AWS S3, R2, entèoperabilite GCS ak lòt depo konpatib S3, avèk upload multipart ki reprann apre entèripsyon
QUIRE_REALTIME_DRIVER inprocess (default), sse, centrifugo oswa durable_objects inprocess apwopriye pou yon web container; sèvi ak centrifugo oswa sse lè gen plizyè
QUIRE_CACHE_DRIVER memory (default), postgres oswa valkey memory separe pou chak pwosesis; sèvi ak valkey oswa postgres pou limit demann yo mache atravè plizyè container
QUIRE_VIDEO_DRIVER ffmpeg (default) oswa progressive_mp4 Oswa founisè akomode: Cloudflare Stream, Mux oswa Bunny, ak kle pa yo
QUIRE_IMAGE_DRIVER noop (default), imgproxy oswa cloudflare noop sèvi chak imaj nan gwosè orijinal li. imgproxy bezwen pwofil images la ak paramèt ki pi ba yo; cloudflare sèvi ak Cloudflare Images
QUIRE_MEETING_PROVIDER bbb, zoom, teams, meet, jitsi oswa in_process Founisè default platfòm la pou sesyon an dirèk. Si pa fikse, sesyon yo parèt pa konfigire jiskaske yon òganizasyon konekte pwòp kont li anba Integrations, Live session provider. Kont òganizasyon an toujou pase anvan valè sa a. Yo li paramèt chak founisè (BBB_URL ak BBB_SECRET, varyab ZOOM_*, TEAMS_*, GOOGLE_MEET_* ak JITSI_*) sèlman pou founisè yo nonmen isit la
QUIRE_MEETING_REGIONS Lis eu, uk, us separe ak vigil Rejyon kote founisè default platfòm la trete reyinyon yo. Si pa fikse, tankou anvan, yo pa konpare li ak rejyon yon òganizasyon fikse. Kont pa òganizasyon an bay rejyon li yo sou pwòp paj li

Lè web tier la kòmanse, li refize yon valè driver vèsyon sa a pa genyen epi li nonmen paramèt la, olye li ranplase li an silans ak default la.

Imaj

Paj yo mande imaj nan kat gwosè fiks atravè /api/files/{id}/image/{size}. Endpoint sa a verifye menm dwa aksè ak fichye a, epi li redirije sou sèvis imaj la. Chak òganizasyon kapab mande jiska QUIRE_IMAGE_SPECS_PER_HOUR (default 2000) nouvo pè imaj-ak-gwosè pa èdtan; gwosè ki te deja pwodui nan menm èdtan an pa konte. Lè gen plis pase yon web container, sèvi ak valkey oswa postgres pou QUIRE_CACHE_DRIVER pou limit la aplike sou tout yo.

Paramèt Driver Nòt
IMGPROXY_URL imgproxy Adrès browser yo itilize pou rive nan imgproxy, pa egzanp https://images.example.org. Pwofil images la pibliye li sou QUIRE_IMAGES_PORT (8082)
IMGPROXY_KEY, IMGPROXY_SALT imgproxy Chèn hexadesimal, menm valè yo sèvi lè yo demare imgproxy. Jenere yo chak avèk openssl rand -hex 32. Quire siyen chak adrès imaj ak valè sa yo, konsa imgproxy pa rann imaj Quire pa t mande
QUIRE_IMAGE_SOURCE_ORIGIN imgproxy ak depo lokal Kote imgproxy pran imaj orijinal yo. Compose mete http://web:3000. Avèk depo s3 oswa azure, imgproxy pran yo nan bucket la epi li pa itilize paramèt sa a
CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_IMAGES_TOKEN, CLOUDFLARE_IMAGES_ACCOUNT_HASH cloudflare Token API ki gen dwa modifye Images, ak account hash ki nan Images, Developer resources. Aktive flexible variants pou kont lan
CLOUDFLARE_IMAGES_SIGNING_KEY cloudflare Opsyonèl. Lè li fikse, imaj yo prive epi chak adrès siyen epi ekspire. San li, imaj yo piblik nan adrès ki derive apati QUIRE_SECRET_KEY epi pèsonn pa ka devine yo

Cloudflare Images kenbe pwòp kopi chak imaj orijinal li sèvi. Lè yo efase yon fichye, worker la efase kopi sa a anvan orijinal la.

Ke travay

Travay an aryè-plan yo sèvi ak pg-boss nan menm bazdone Postgres la, donk pa gen sèvis ke pou kouri ni anyen pou konfigire. Yo mete travay nan ke nan menm transaction ak chanjman ki te kreye yo, konsa yon aksidan pa pèdi ni voye menm travay la de fwa. Isit la QUIRE_QUEUE_DRIVER default la se pgboss; vercel ak cloudflare voye sèlman livrezon notifikasyon lejè ak webhook nan ke platfòm yo. Gid Vercel ak Cloudflare yo dekri yo ak fason web tier pa yo mete travay nan ke.

Imèl

Mete youn nan paramèt sa yo:

  • QUIRE_EMAIL_PROVIDER_CONFIG: yon objè JSON ki nonmen yon founisè HTTP ak kalifikatif li, tankou {"provider":"postmark","token":"..."}. Postmark, Amazon SES, Mailgun, SendGrid ak Resend disponib.
  • QUIRE_SMTP_URL: smtp://user:password@host:587. Se sib sa a sèlman ki pèmèt li; sib serverless yo bloke SMTP.

Moun k ap voye a se QUIRE_MAIL_FROM. Pou eseye Quire, kòmanse pwofil devmail la, mete QUIRE_SMTP_URL=smtp://mailpit:1025 epi li imèl yo nan http://localhost:8025.

Sèvis opsyonèl

Paramèt Avèk pwofil
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 oswa QUIRE_MEILISEARCH_URL Rechèch ekstèn; sinon rechèch tèks konplè Postgres
QUIRE_BREACH_CHECK_PROVIDER=off, QUIRE_BREACH_CHECK_URL Verifikasyon modpas ki te deja konpwomèt. Aktive pa default sou api.pwnedpasswords.com (yo voye sèlman senk premye karaktè yon hash); off dezaktive li, epi URL la ka montre sou yon range API ou òganize

Obsèvabilite

OTEL_EXPORTER_OTLP_ENDPOINT bay non collector chak pwosesis voye tras ak mezi yo. Avèk pwofil observability, li se http://otelcol:4318; ajoute exporter backend pa w la nan docker/otel-collector.yaml. Lè paramèt la fikse, pwosesis web tier, worker, scheduler, content ak collab voye span sou OTLP/HTTP (demann web, transaction bazdone tenant, travay worker ak apèl sortan) ak mezi sou menm endpoint chak minit (OTEL_METRICS_EXPORTER=none fèmen mezi yo). OTEL_TRACES_SAMPLER_ARG fikse pwopòsyon tras yo konsève. Log yo ale sou standard output nan nivo LOG_LEVEL, epi Compose vire yo. Tras pa pote done pèsonèl.

Trafik sortan rejyonal (rezidans done EU)

QUIRE_REGION=eu di stack la sèvi òganizasyon nan Inyon Ewopeyen. Worker la kenbe chak demann sortan yon òganizasyon ki fikse nan EU nan limit yon allowlist (21-compliance.md seksyon 8.1). Allowlist la se host sèvis konfigire yo deklare pou rejyon an (endpoint depo a, founisè imèl la, founisè videyo akomode a, sib depo òganizasyon an, founisè IA ak kont imèl), host sèvis ki anba derogasyon aktyèl yo ak host ou mete nan QUIRE_EGRESS_ALLOW_HOSTS. Yo refize yon demann pou nenpòt lòt host piblik anvan li soti; yo ekri refi a nan tras odit òganizasyon an kòm privacy/egress_refused epi li parèt anba Compliance, Data residency.

Paramèt Valè Efè
QUIRE_EGRESS_ALLOW_HOSTS Lis hostname separe ak vigil, oswa *.example.org pou tout sou-domèn Host anplis yon òganizasyon EU kapab kontakte. Endpoint webhook, xAPI ak SIEM, flux blog ak host Amazon SES dwe la paske òganizasyon an chwazi yo, okenn sèvis pa deklare yo. Bouk lokal, adrès prive ak non ki gen yon sèl etikèt tankou web oswa clamav se rezo pa w; yo pa janm verifye

Yo pa kenbe òganizasyon UK ak US nan yon lis host; yo kontinye sibi verifikasyon rejyon sèvis yo. Mete lis la sou worker la; paj admin nan web tier la li li pou montre allowlist la. Se poutèt sa mete li nan docker/.env, ki tout sèvis li.

Verifikasyon aplikasyon an bay yon erè klè ak antre odit, men se pa garanti a: kòd kapab gen erè. Rezo a bay garanti a; Compose pa aplike li pou ou. Pou yon stack rejyonal, mete sèvis worker ak web sou yon rezo internal: true kote sèl chemen pou soti pase nan yon proxy trafik sortan (pa egzanp container Squid oswa tinyproxy) ki pèmèt menm host ak QUIRE_EGRESS_ALLOW_HOSTS ansanm ak host sèvis konfigire yo. Mete HTTPS_PROXY pou sèvis sa yo. Paj rezidans lan bay host egzak aplikasyon an pèmèt, konsa ou kapab konpare de lis yo.

Sante

Endpoint Siyifikasyon
/healthz Viv: pwosesis la reponn. Health check Compose yo sèvi ak sa
/readyz Pare: depandans yo aksesib epi chak sèvis opsyonèl rapòte si li konfigire oswa non. Montre load balancer ou endpoint sa a

docker compose -f docker/compose.yaml ps montre sante chak sèvis.

TLS

Sèvis proxy a (Caddy, Apache-2.0, docker/caddy/Caddyfile) se yon pati nan stack default la. Li reponn sou pò 80 ak 443 epi dirije trafik:

Host oswa chemen Ale nan
QUIRE_PROXY_CONTENT_HOST content
QUIRE_PROXY_APP_HOST, chak sou-domèn tenant ak domèn pèsonalize web
/_collab/ sou host sa yo collab (websocket, QUIRE_COLLAB_URL)
/_realtime/connection/ sou host sa yo websocket client centrifugo a; API sèvè a pa janm ekspoze
/_images/ sou host sa yo imgproxy, avèk pwofil images la (IMGPROXY_URL)

init-env.sh derive QUIRE_PROXY_APP_HOST, QUIRE_PROXY_CONTENT_HOST, QUIRE_PROXY_HTTPS_PORT, QUIRE_COLLAB_URL ak IMGPROXY_URL apati de origin yo, konsa yo rete ann amoni. Si w chanje yon origin alamen, chanje paramèt sa yo ansanm avè l.

Sètifika yo suiv paramèt QUIRE_PROXY_TLS la:

  • internal (default la): pwòp otorite sètifika Caddy pou localhost, *.localhost ak lvh.me. Fè sistèm oswa navigatè a fè root li konfyans yon sèl fwa, apre sa jwenn li:

    docker compose -f docker/compose.yaml cp \
      proxy:/data/caddy/pki/authorities/local/root.crt ./quire-local-ca.crt

    Ajoute quire-local-ca.crt nan magazen konfyans sistèm oswa navigatè a. Pou curl, bay li ak --cacert.

  • Yon adrès imèl: sètifika ACME otomatik (Let’s Encrypt, apre sa ZeroSSL) pou hostname reyèl. DNS de origin yo ak chak host tenant dwe mennen isit la, epi entènèt la dwe kapab rive nan pò 80 ak 443.

Yo bay tenant host sètifika sou demann, nan premye vizit la, epi sèlman lè web konfime non an pou enstalasyon sa a (/tls-allowed, yo mande sa sou rezo Compose la). Pa bezwen sètifika wildcard oswa plugin founisè DNS; yon etranje pa kapab fè host la mande yon sètifika lè li voye yon non nan host sa a. Sètifika ak otorite lokal yo nan volume caddy-data; si w sèvi ak internal, mete li nan sovgad ak rès la.

Web fè konfyans X-Forwarded-For ki soti nan proxy sèlman: adrès proxy a fiks (QUIRE_PROXY_ADDRESS, default 172.29.64.10) sou yon sous-rezo fiks (QUIRE_COMPOSE_SUBNET), epi QUIRE_TRUSTED_PROXY_CIDRS bay adrès sa a. Si sous-rezo a antre an konfli ak yon rezo host la, chanje yo toude epi kouri docker compose down anvan up.

Dèyè pwòp reverse proxy pa w

Pou pito sèvi ak load balancer oswa proxy w ap kouri deja, pa kòmanse proxy a (docker compose up -d --scale proxy=0), epi fini TLS devan web (8080), content (8081), collab (1234, websocket) ak centrifugo (8000, websocket). Mete adrès piblik yo nan QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN ak QUIRE_COLLAB_URL (wss://), epi seri adrès proxy a nan QUIRE_TRUSTED_PROXY_CIDRS.

Rezoud pwoblèm

  • init sòti ak “QUIRE_DATABASE_ID is not a UUID”: mete li avèk uuidgen.
  • web rekòmanse ak “did not start on compose”: log la bay chak paramèt li pa ka respekte ak sa pou itilize pito.
  • Chanje modpas wòl nan .env apre premye demaraj pa fè anyen: init script la kouri yon sèl fwa. Sèvi ak ALTER ROLE.
  • Upload echwe ak erè analiz lè CLAMAV_URL fikse: nan premye demaraj, ClamAV telechaje siyati li yo, sa pran kèk minit.
Navigasyon

Tape pou chèche…

↑↓ navige↵ chwaziEsc fèmen