Fara beint í efni

Uppsetning Quire með Docker Compose

Settu upp Quire á eigin innviðum með Docker Compose.

Skoða sem Markdown

Þetta er öll varan á einum hýsil: LMS-ið, bakgrunnsvinnan þess, rauntíma- og samvinnuritþjónusturnar, og hver valkvæm þjónusta bak við snið. Hönnunin er í docs/architecture/23-ops.md kafla 2.

Önnur markumhverfi: Vercel og Cloudflare Workers keyra aðeins vefþrepið. Uppfærslur eru í upgrade.md, og öryggisafrit og endurheimtaræfingin í backup-restore.md.

Hvað þú þarft

  • Docker Engine 27 eða nýrri með Compose-viðbótinni 2.30 eða nýrri.
  • 4 örgjörvakjarna og 8 GB af minni fyrir sjálfgefinn stakk; 8 kjarna og 16 GB með --profile full (ClamAV einn heldur um 1,5 GB af undirskriftum).
  • DNS-nafn fyrir vefþrepið og annað fyrir ótreytt efni. Þau verða að vera ólík hýsilnöfn: SCORM-pakkar og upphlaðið HTML keyra á efnis- upprunanum svo þau geti aldrei lesið kökur LMS-ins.
  • Fyrir staðbundið próf leysast lvh.me og *.localhost í 127.0.0.1, sem er það sem docker/.env.example notar. Eigin proxy-þjónusta stakkans þjónar báðum yfir https með staðbundnu útgefendastofnuninni, svo ekkert annað er sett upp (sjá „TLS“).
  • Gáttir 80 og 443 lausar á hýsilnum (QUIRE_PROXY_HTTP_PORT og QUIRE_PROXY_HTTPS_PORT færa þær).

Fyrsta keyrsla

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 skrifar docker/.env frá docker/.env.example með öll leyndarmál mynduð (lykilorð gagnagrunns, undirritunar- og aðallyklar, efnisræsingarlyklaparið) og úttektareftirlits-undirritunarlykilinn í docker/secrets/audit-signing-key.pem, sem Compose tengir inn í vinnsluvélarnar sem leyndarmál. Það þarf aðeins sh, awk og openssl, og það neitar að skrifa yfir núverandi docker/.env. Afritaðu báðar skrár af hýsilnum: án QUIRE_MASTER_KEY getur endurheimtur gagnagrunnur ekki afdulritað geymd auðkenni sín. Til að fylla skrána með hendi í staðinn, cp docker/.env.example docker/.env; skráin segir hvernig á að mynda hvert leyndarmál.

Báðir upprunar verða að vera https: efnisþjónustan neitar látlausu http í framleiðslu, og þeir mega ekki deila skráanlegu léni. proxy- þjónustan endar TLS fyrir báða (sjá „TLS“); init-env.sh hafnar http://-uppruna.

Stakkinn ræsir í fastri röð, og hvert skref bíður eftir því fyrra:

  1. postgres verður heilbrigður. Við allra fyrstu ræsingu stillir frumstillingarskriftan hans (docker/postgres/init/90-passwords.sh) lykilorð fjögurra hlutverka.
  2. migrate beitir hverjum flutningi og ræsir verkbiðröðina í stjórngagnagrunninum og í hverjum sérstökum leigjendagagrunni, athugar að þeir séu allir sammála, hættir síðan (docs/ops/upgrade.md). Flutningar keyra við hverja ræsingu og eru samtaka, svo uppfærsla er ný mynd og endurræsing.
  3. init (apps/web/src/first-run.ts) skráir forritsgagnagrunninn undir QUIRE_DATABASE_ID og, þegar QUIRE_SETUP_ADMIN_EMAIL er stillt, býr til fyrstu stofnunina og stjórnanda hennar. Innskráningarfangið og myndað lykilorð er prentað einu sinni, í docker compose logs init.
  4. web, content, worker, scheduler, collab og centrifugo ræsa.
  5. proxy ræsir þegar web og content eru heilbrigð.

Opnaðu https://demo. fylgt eftir með forritsléninu þínu (init-annállinn prentar nákvæmt innskráningarfang), og skráðu þig inn. Á staðbundinni uppsetningu skaltu fyrst treysta útgefendastofnun milliþjónsins (sjá „TLS“). Skiptu um myndaða lykilorðið á /account/security.

Ferli ræst án krafins leyndarmáls neitar að ræsa og nefnir vantarandi stillingu í annál sínum. Ekkert ræsir hálfstillt.

Þjónustur og snið

Þjónusta Snið Hvað hún gerir
postgres alltaf Gagnagrunnurinn (PostgreSQL 18 með pgvector, byggður frá docker/postgres.Dockerfile), með WAL skjalasafnað frá fyrstu ræsingu
migrate, init alltaf Einskiptis: flutningar, síðan fyrsta keyrsla
web alltaf LMS-ið, á QUIRE_HTTP_PORT (8080)
content alltaf Ótreytti efnisuppruninn, á QUIRE_CONTENT_PORT (8081)
worker alltaf Bakgrunnsverk: tölvupóstur, skýrslur, skráavinnsla, vefkrókar
scheduler alltaf Endurtekin verk: skráir 64 keyrslutímaáætlanir og afhendir þær vinnsluvélinni; einn leiðtogi í einu
collab alltaf Samvinnurit-vefstokkur, á QUIRE_COLLAB_HTTP_PORT (1234)
centrifugo alltaf Rauntímaútvarp, á QUIRE_REALTIME_PORT (8000)
proxy alltaf Caddy, TLS-framhurðin á gáttum 80 og 443 (sjá „TLS“)
valkey cache Skyndiminni og hraðatakmarkanir
clamav scan Skönnun upphlaðinna skráa fyrir spilliforritum
gotenberg preview Skrifstofuskjöl í PDF-forsýningu, skírteinisgerð
imgproxy images Myndir í breyttri stærð og ummyndaðar
transcoder video Vinnsluvélmyndin með LGPL-eingöngu ffmpeg, fyrir myndbandsútgáfur
seaweedfs storage S3-samhæfð hlutageymsla á þessum hýsil
otelcol observability OpenTelemetry-söfnunartæki
mailpit devmail Grípur allan útfara póst, til að prófa Quire
backup backup Einskiptis grunnöryggisafrit; sjá backup-restore.md
backup-scheduler, backup-offsite backup Grunnöryggisafrit á QUIRE_BACKUP_INTERVAL_HOURS fresti, og dulrituð afrit utan hýsils með vikulegri sannvottunaræfingu
h5p h5p H5P LTI 1.3 tækismyndin sem þú leggur til í QUIRE_H5P_IMAGE, á QUIRE_H5P_PORT (8090); sjá „Að tengja H5P-veitu“

--profile full ræsir hverja valkvæma þjónustu nema backup og h5p. Ræstu eina með docker compose -f docker/compose.yaml --profile scan up -d. Án valkvæmrar þjónustu virkar Quire samt og segir hvað vantar: enginn skanni þýðir að upphlaðið er geymt óskannað og stjórnandanum er sagt; enginn Gotenberg þýðir að skrár bjóða niðurhal í stað forsýningar; enginn umkóðari þýðir að myndband spilast sem upprunalega skráin.

Hver þriðjaaðilamynd og leyfisskyldur hennar eru taldar í docker/third-party-containers.yaml.

Að tengja H5P-veitu

Quire fellir ekki inn né sendir H5P-keyrslutíma eða hliðarvagn (ADR 0019). Ef þú notar H5P skaltu leggja til eigin hýsta áskrift eða reka eigin sjálfhýsta H5P- tilvik aðskilið frá Quire. Skráðu þá veitu sem LTI 1.3 ytra tæki og bættu efni hennar við námskeið sem tækjaverkefni. Quire skiptir einkunnum og framvindu verkefna/einkunna í gegnum LTI Assignment and Grade Services (AGS). Ef veitan sendir einnig xAPI-yfirlýsingar skaltu stilla það aðskilið fyrir xAPI-yfirlýsingageymslu Quire; AGS einkunna-/framvinduskipti senda ekki xAPI- yfirlýsingar. Moodle-innflutningar melda H5P-verkefni sem þarfnast LTI-tækis- tengingar. Veitan ber áfram ábyrgð á H5P-keyrslutíma sínum, höfundun, efnisbanka og tilraunasögu.

Til að keyra eigið sjálfhýst tilvik á þessum hýsil skaltu stilla QUIRE_H5P_IMAGE á mynd þess og ræsa h5p-sniðið. Compose gefur það út á QUIRE_H5P_PORT (8090) og heldur gögnum þess í h5p-data bindinu; myndin, og skyldurnar sem fylgja henni, haldast þínar.

Stillingar

Hvert ferli les docker/.env. Sniðmátið, docker/.env.example, telur hverja stillingu með sjálfgefnu gildi. Hóparnir:

Vistföng

Stilling Merking
QUIRE_APP_ORIGIN Opinbert fang LMS-ins, svo sem https://learn.example.com
QUIRE_CONTENT_ORIGIN Efnisuppruninn, annar hýsill
QUIRE_PLATFORM_DOMAINS Lén sem stofnanir lifa undir, kommuaðskilin
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 hér. Sjá hinar leiðbeiningarnar fyrir vercel og cloudflare
QUIRE_TRUSTED_PROXY_CIDRS Milliþjónar þar sem X-Forwarded-For er trúað

Leyndarmál

Stilling Merking
QUIRE_SECRET_KEY Undirritar setur og tákn. 64 hex-stafir
QUIRE_MASTER_KEY Vefur geymd auðkenni svo sem SSO- og vefkróksleyndarmál. 32 bæti, base64. Vefþrepið og vinnsluvélin þurfa sama gildi. Snúningur: key-rotation.md
QUIRE_MASTER_KEY_VERSION Útgávumerki aðallykilsins, v1 þegar óstillt. Hækkaðu það þegar þú snýrð
QUIRE_MASTER_KEY_RETIRED Eldri aðallyklar sem enn þarf til að lesa það sem þeir innsigluðu, sem v1=<base64>. Fjarlægðu eftir að snúningur lýkur með engu óleystu
QUIRE_COLLAB_SIGNING_KEY Deilt af vef og samvinnu til að undirrita ritunartákn
QUIRE_BACKUP_SIGNING_KEY Undirritar námskeiðsöryggisafrit (valfrjálst)

Haltu afriti af QUIRE_MASTER_KEY annars staðar en á þessum hýsil. Gagnagrunnur endurheimtur án hans getur ekki afdulritað auðkennin sem hann heldur.

Gagnagrunnur

Stilling Merking
POSTGRES_PASSWORD Ofurnotandinn, notaður af gámnum og öryggisafritum
QUIRE_DB_APP_PASSWORD, QUIRE_DB_MIGRATOR_PASSWORD, QUIRE_DB_REPORT_PASSWORD, QUIRE_DB_AUDIT_PASSWORD Lykilorð hlutverka, stillt við fyrstu ræsingu
DATABASE_URL Forritshlutverkið. Öryggi á raðarstigi gildir um hverja fyrirspurn sem það gerir
DATABASE_MIGRATOR_URL, QUIRE_MIGRATION_URL Flutningshlutverkið, fyrir migrate og init
QUIRE_SUPERUSER_URL Aðeins notað við fyrstu keyrslu
QUIRE_REPORT_DATABASE_URL Skýrsluhlutverkið eingöngu til lestrar, fyrir skýrslur og skýrslusmiðinn
QUIRE_AUDIT_DATABASE_URL Úttektarhlutverkið, fyrir úttektarborðið og SIEM-útflutning
QUIRE_DATABASE_ID Hvaða UUID sem er, fast allan lífstíma uppsetningarinnar

Lykilorð hlutverka eru aðeins beitt þegar gagnagrunnsbindið er fyrst stofnað. Til að skipta um eitt síðar skaltu nota ALTER ROLE og uppfæra síðan samsvarandi slóð.

QUIRE_REPORT_DATABASE_URL er notað fyrir líkamlega gagnagrunninn sem stilltur er með DATABASE_URL. Fyrir hvern annan skráðan líkamlegan gagnagrunn skaltu stilla hans eigin quire_report tengislóð í vef- og vinnsluumhverfunum, settu síðan breytunafnið í reit gagnagrunnsins Skýrsluumhverfisbreyta sem env:NAME. Tilvísunin verður að benda á sama gagnagrunn og forrits- tenging hans, helst lesafrit hans. Hvert skýrsluyfirborð fylgir leigjandanum að skýrslutengingu eigin gagnagrunns: skýrslusmiðurinn og vistaðar skýrslur, tímasettar afhendingar, skýrsluútflutningar, greiningar, úttektar- annállinn, REST-úttektartilföngin og úttektarleit aðstoðarfulltrúans. Ekkert þeirra lánar nokkurn tíma skýrsluslóð annars gagnagrunns. Þegar gagnagrunnur hefur enga skýrslutengingu keyra venjulegar skýrslur á forritstengingu þess gagnagrunns, meðan greiningar og hver úttektarlestur neita og segja það, því forritshlutverkið getur ekki lesið úttektarslóðina.

Reklar

Stilling Þessi útgáfa Athugasemdir
QUIRE_STORAGE_DRIVER local (sjálfgefið), s3 eða azure local heldur skrám í files bindinu. s3 nær yfir AWS S3, R2, GCS-samhæfi og aðrar S3-samhæfðar geymslur, með endurhæfanlegum fjölhlutaupphlöðum
QUIRE_REALTIME_DRIVER inprocess (sjálfgefið), sse, centrifugo eða durable_objects inprocess á við um einn vefgám; notaðu centrifugo eða sse þegar þeir eru fleiri
QUIRE_CACHE_DRIVER memory (sjálfgefið), postgres eða valkey memory er á hvert ferli; notaðu valkey eða postgres svo hraðatakmarkanir haldi þvert á gáma
QUIRE_VIDEO_DRIVER ffmpeg (sjálfgefið) eða progressive_mp4 Eða hýst veita: Cloudflare Stream, Mux eða Bunny, með lyklum þeirra
QUIRE_IMAGE_DRIVER noop (sjálfgefið), imgproxy eða cloudflare noop sendir hverja mynd í upprunalegri stærð. imgproxy þarf images-sniðið og stillingarnar hér að neðan; cloudflare notar Cloudflare Images
QUIRE_MEETING_PROVIDER bbb, zoom, teams, meet, jitsi eða in_process Sjálfgefin vettvangsveita fyrir lifandi setur. Óstillt segja lifandi setur að þau séu ekki stillt, þar til stofnun tengir eigin aðgang undir Samþættingar, Lifandi setuveita. Eigin aðgangur stofnunar vinnur alltaf yfir þetta gildi. Eigin stillingar hverrar veitu (BBB_URL og BBB_SECRET, ZOOM_*, TEAMS_*, GOOGLE_MEET_* og JITSI_* breyturnar) eru aðeins lesnar fyrir veituna sem nefnd er hér
QUIRE_MEETING_REGIONS Kommulisti af eu, uk, us Hvar sjálfgefin vettvangsveita vinnur fundi. Óstillt er það ekki athugað gagnvart stofnun festri við svæði, eins og áður. Eigin aðgangur stofnunar tilgreinir svæði sín á síðu sinni

Rekilsgildi sem þessi útgáfa hefur ekki er hafnað þegar vefþrepið ræsir, með stillinguna nefnda, frekar en að vera þegjandi skipt út fyrir sjálfgefið.

Myndir

Síður biðja um myndir í fjórum föstum stærðum í gegnum /api/files/{id}/image/{size}, sem athugar sama aðgang og skráin sjálf og vísar síðan áfram á myndþjónustuna. Hver stofnun má biðja um QUIRE_IMAGE_SPECS_PER_HOUR (sjálfgefið 2000) ný mynd- og stærðarpör á klukkutíma; stærðir þegar framleiddar þann tíma telja ekki. Notaðu valkey eða postgres fyrir QUIRE_CACHE_DRIVER með fleiri en einum vefgámi, svo mörkin haldi þvert á þá.

Stilling Rekill Athugasemdir
IMGPROXY_URL imgproxy Fangið sem vafrar ná imgproxy á, til dæmis https://images.example.org. images-sniðið gefur það út á QUIRE_IMAGES_PORT (8082)
IMGPROXY_KEY, IMGPROXY_SALT imgproxy Hex-strengir, sömu gildi og imgproxy er ræst með. Myndaðu hvorn með openssl rand -hex 32. Quire undirritar hvert myndfang með þeim, svo imgproxy myndar ekkert sem Quire bað ekki um
QUIRE_IMAGE_SOURCE_ORIGIN imgproxy með staðbundinni geymslu Hvaðan imgproxy sækir frumrit. Compose stillir http://web:3000. Með s3 eða azure geymslu sækir imgproxy úr fötunni og þetta er ekki notað
CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_IMAGES_TOKEN, CLOUDFLARE_IMAGES_ACCOUNT_HASH cloudflare API-tákn með Images-ritheimild, og reikningskjötkassinn frá Images, Þróunartilföngum. Kveiktu á sveigjanlegum afbrigðum fyrir reikninginn
CLOUDFLARE_IMAGES_SIGNING_KEY cloudflare Valfrjálst. Þegar stillt eru myndir einkamál og hvert fang er undirritað og rennur út. Án þess eru myndir opinberar á föngum leiddum frá QUIRE_SECRET_KEY sem enginn getur giskað

Cloudflare Images heldur eigin afriti af hverju frumriti sem það þjónar. Þegar skrá er eytt eyðir vinnsluvélin því afriti á undan frumritinu.

Biðröð

Bakgrunnsverk nota pg-boss í sama Postgres-gagnagrunni, svo engin biðraðaþjónusta er til að keyra og ekkert til að stilla. Verk eru sett í biðröð í sama viðskipti og breytingin sem olli þeim, svo hrun getur hvorki týnt einu né sent eitt tvisvar. QUIRE_QUEUE_DRIVER er pgboss hér, sjálfgefið þess; vercel og cloudflare færa aðeins léttu tilkynninga- og vefkrókasendingarnar í eigin biðröð vettvangsins, og Vercel- og Cloudflare-leiðbeiningarnar lýsa þeim og hvernig vefþrep þeirra setja í biðröð.

Tölvupóstur

Stilltu annaðhvort:

  • QUIRE_EMAIL_PROVIDER_CONFIG: JSON-hlut sem nefnir HTTP-veitu og auðkenni hennar, svo sem {"provider":"postmark","token":"..."}. Postmark, Amazon SES, Mailgun, SendGrid og Resend eru studd.
  • QUIRE_SMTP_URL: smtp://user:password@host:587. Aðeins þetta markumhverfi; þjónustulausu markumhverfin loka á SMTP.

QUIRE_MAIL_FROM er sendandinn. Til að prófa Quire skaltu ræsa devmail- sniðið, stilla QUIRE_SMTP_URL=smtp://mailpit:1025, og lesa póst á http://localhost:8025.

Valkvæmar þjónustur

Stilling Með sniði
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 eða QUIRE_MEILISEARCH_URL Ytri leit; annars fulltexti Postgres
QUIRE_BREACH_CHECK_PROVIDER=off, QUIRE_BREACH_CHECK_URL Athugun lykilorðaleka. Kveikt sjálfgefið gagnvart api.pwnedpasswords.com (aðeins fimm stafa hash-forskeyti er sent); off slekkur á henni, og slóðin bendir á sviðsforritaskil sem þú hýsir

Sýnileiki

OTEL_EXPORTER_OTLP_ENDPOINT nefnir söfnunartækið sem hvert ferli sendir spor og mæligildi til; með observability-sniðinu er það http://otelcol:4318, og docker/otel-collector.yaml er þar sem þú bætir við útflytjandanum fyrir bakendann þinn. Vefþrepið, vinnsluvélin, stýringin, efni og samvinna flytja út spönn yfir OTLP/HTTP (vefbeiðnir, leigjendagagnagrunns- viðskipti, vinnsluverk og útfararköll) þegar það er stillt, og mæligildi til sama endapunkts á mínútu (OTEL_METRICS_EXPORTER=none slekkur á þeim). OTEL_TRACES_SAMPLER_ARG stillir hlutfall spora sem haldið er. Annálar fara á staðal- úttak við LOG_LEVEL, og Compose snýr þeim. Spor bera aldrei persónugreinanleg gögn.

Svæðisbundinn útfari (EU-gagnavarsla)

QUIRE_REGION=eu segir að stakkinn þjóni stofnunum Evrópusambandsins. Vinnsluvélin heldur þá hverri útfarabeiðni gerðri fyrir stofnun festri við ESB við leyfilista (21-compliance.md kafli 8.1). Leyfilistinn er hýslarnir sem stilltu þjónusturnar lýsa yfir fyrir svæðið (geymslu- endapunkturinn, tölvupóstveitan, hýst myndbandsveita, eigin geymslumark stofnunarinnar, gervigreindarveitur og tölvupóstreikningur), hýslar hverrar þjónustu undir virkri undanþágu, og hýslarnir sem þú telur í QUIRE_EGRESS_ALLOW_HOSTS. Beiðni til annars opinbers hýsils er hafnað áður en hún er send, höfnunin er skrifuð í úttektarslóð stofnunarinnar sem privacy/egress_refused, og hún er talin undir Samræmi, Gagnavarsla.

Stilling Gildi Áhrif
QUIRE_EGRESS_ALLOW_HOSTS Kommulisti hýsilnafna, eða *.example.org fyrir hvert undirlén Aukahýslar sem ESB-stofnun má ná til. Vefkróks-, xAPI- og SIEM-endapunktar, bloggstraumar og Amazon SES-hýslar eiga hér heima, því þeir eru eigið val stofnunar og engin þjónusta lýsir þeim yfir. Lykkja, einka vistföng og eins hluta nöfn svo sem web eða clamav eru þitt eigið net og eru aldrei athuguð

Breskar og bandarískar stofnanir eru ekki haldnar við hýsilista; þær halda svæðis- athugunum þjónustunnar. Stilltu listann á vinnsluvélinni; stjórnsíðan les hann á vefnum þrepinu til að sýna leyfilistann, svo settu hann í docker/.env, sem hver þjónusta les.

Forritsathugunin gefur skýra villu og úttektarfærslu, og hún er ekki ábyrgðin: kóði getur verið rangur. Ábyrgðin er netið. Compose framfylgir því ekki fyrir þig. Fyrir svæðisstakk skaltu setja worker- og web- þjónusturnar á internal: true neti þar sem eina leiðin út er útfara- milliþjónn (til dæmis Squid- eða tinyproxy-gámur) sem leyfir sömu hýsla og QUIRE_EGRESS_ALLOW_HOSTS auk hýsla stilltra þjónustu þinna, og stilltu HTTPS_PROXY fyrir þær þjónustur. Varslusíðan telur upp nákvæmlega hýslana sem forritið leyfir, svo hægt er að bera listana tvo saman.

Heilsa

Endapunktur Merking
/healthz Líf: ferlið svarar. Heilsuathuganir Compose nota þetta
/readyz Viðbúnaður: háðir hlutar náanlegir, og hver valkvæm þjónusta meld sem stillt eða ekki. Beindu álagsdreifaranum þínum hingað

docker compose -f docker/compose.yaml ps sýnir heilsu hverrar þjónustu.

TLS

proxy-þjónustan (Caddy, Apache-2.0, docker/caddy/Caddyfile) er hluti af sjálfgefna stakknum. Hún svarar á gáttum 80 og 443 og beinir:

Hýsill eða slóð Fer til
QUIRE_PROXY_CONTENT_HOST content
QUIRE_PROXY_APP_HOST, hvert leigjendaundirlén og sérsniðið lén web
/_collab/ á þeim hýslum collab (vefstokkur, QUIRE_COLLAB_URL)
/_realtime/connection/ á þeim hýslum Biðlaravefstokkur centrifugo; þjónsforritaskil þess eru aldrei afhjúpuð
/_images/ á þeim hýslum imgproxy, með images-sniðinu (IMGPROXY_URL)

init-env.sh leiðir QUIRE_PROXY_APP_HOST, QUIRE_PROXY_CONTENT_HOST, QUIRE_PROXY_HTTPS_PORT, QUIRE_COLLAB_URL og IMGPROXY_URL frá upprununum tveimur, svo þeir geti ekki rekið í sundur. Breyttu þeim saman ef þú breytir uppruna með hendi.

Skírteini fylgja QUIRE_PROXY_TLS:

  • internal (sjálfgefið): Eigin útgefendastofnun Caddy, fyrir localhost, *.localhost og lvh.me. Treystu rótinni einu sinni, skoðaðu síðan:

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

    Bættu quire-local-ca.crt við traustbúð kerfisins eða vafrans. curl tekur hana með --cacert.

  • Netfang: sjálfvirk ACME-skírteini (Let’s Encrypt, síðan ZeroSSL) fyrir raunveruleg hýsilnöfn. DNS fyrir báða uppruna og hvern leigjendahýsil verður að benda hingað, og gáttir 80 og 443 verða að vera náanlegar af internetinu.

Leigjendahýslar eru gefnir út við þörf, við fyrstu heimsókn, og aðeins þegar vefur staðfestir að nafnið tilheyri þessari uppsetningu (/tls-allowed, spurt á Compose-netinu). Engin joktatáknsskírteini eða DNS-veituviðbót er þörf, og ókunnugur sem bendir nafni á hýsilinn getur ekki látið hann biðja um skírteini. Skírteini og staðbundna stofnunin lifa í caddy-data bindinu; taktu öryggisafrit af því með hinu ef þú notar internal.

Vefur trúir X-Forwarded-For frá milliþjóninum einum: milliþjónninn hefur fast fang (QUIRE_PROXY_ADDRESS, sjálfgefið 172.29.64.10) á föstu undirneti (QUIRE_COMPOSE_SUBNET), og QUIRE_TRUSTED_PROXY_CIDRS nefnir það fang. Ef undirnetið rekst á net á hýsilnum skaltu breyta báðum og keyra docker compose down fyrir up.

Bak við eiginn öfugan milliþjón

Til að nota álagsdreifara eða milliþjón sem þú þegar rekur í staðinn skaltu sleppa proxy (docker compose up -d --scale proxy=0) og enda TLS framan við web (8080), content (8081), collab (1234, vefstokkur) og centrifugo (8000, vefstokkur). Stilltu opinberu föngin í QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN og QUIRE_COLLAB_URL (wss://), og vistfangssvið milliþjóns þíns í QUIRE_TRUSTED_PROXY_CIDRS.

Úrræðaleit

  • init hættir með „QUIRE_DATABASE_ID is not a UUID“: stilltu það með uuidgen.
  • web endurræsir með „did not start on compose“: annállinn telur upp hverja stillingu sem hann getur ekki virt og hvað á að nota í staðinn.
  • Breyting á hlutverkslykilorði í .env eftir fyrstu ræsingu gerir ekkert: frumstillingar- skriftan keyrir einu sinni. Notaðu ALTER ROLE.
  • Upphlöð bilar með skönnunarvillu meðan CLAMAV_URL er stillt: ClamAV sækir undirskriftir sínar við fyrstu ræsingu, sem tekur nokkrar mínútur.
Yfirlit

Sláðu inn til að leita…

↑↓ fletta↵ veljaEsc loka