ಸಾಮಗ್ರಿಗೆ ನೇರವಾಗಿ ಹೋಗಿ

Docker Compose ಮೂಲಕ Quire ಸ್ಥಾಪಿಸಿ

Docker Compose ಮೂಲಕ ನಿಮ್ಮ ಸ್ವಂತ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ Quire ಅನ್ನು ಸ್ಥಾಪಿಸಿ.

Markdown ಆಗಿ ವೀಕ್ಷಿಸಿ

ಇದು ಒಂದೇ ಹೋಸ್ಟ್‌ನಲ್ಲಿನ ಸಂಪೂರ್ಣ ಉತ್ಪನ್ನ: LMS, ಅದರ ಹಿನ್ನೆಲೆ ಕೆಲಸ, ರಿಯಲ್‌ಟೈಮ್ ಮತ್ತು ಸಹಯೋಗಿ ಸಂಪಾದನಾ ಸೇವೆಗಳು, ಮತ್ತು ಒಂದು profile ಹಿಂದೆ ಇರುವ ಪ್ರತಿ ಐಚ್ಛಿಕ ಸೇವೆ. ವಿನ್ಯಾಸವು docs/architecture/23-ops.md ವಿಭಾಗ 2.

ಇತರ ಗುರಿಗಳು: Vercel ಮತ್ತು Cloudflare Workers ಕೇವಲ ವೆಬ್ ಹಂತವನ್ನು ಮಾತ್ರ ನಡೆಸುತ್ತವೆ. ಅಪ್‌ಗ್ರೇಡ್‌ಗಳು upgrade.md ನಲ್ಲಿ, ಮತ್ತು ಬ್ಯಾಕಪ್‌ಗಳು ಮತ್ತು ಮರುಸ್ಥಾಪನಾ ಡ್ರಿಲ್ backup-restore.md ನಲ್ಲಿವೆ.

ನಿಮಗೆ ಬೇಕಾದವು

  • Compose ಪ್ಲಗಿನ್ 2.30 ಅಥವಾ ನಂತರದೊಂದಿಗೆ Docker Engine 27 ಅಥವಾ ನಂತರದ್ದು.
  • ಡೀಫಾಲ್ಟ್ ಸ್ಟ್ಯಾಕ್‌ಗೆ 4 CPU ಕೋರ್‌ಗಳು ಮತ್ತು 8 GB ಮೆಮೊರಿ; --profile full ನೊಂದಿಗೆ 8 ಕೋರ್‌ಗಳು ಮತ್ತು 16 GB (ClamAV ಒಂದೇ ಸುಮಾರು 1.5 GB ಸಹಿಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ).
  • ವೆಬ್ ಹಂತಕ್ಕೆ ಒಂದು DNS ಹೆಸರು ಮತ್ತು ಅವಿಶ್ವಾಸ್ಯ ಸಾಮಗ್ರಿಗೆ ಎರಡನೇದು. ಅವು ಬೇರೆ ಬೇರೆ ಹೋಸ್ಟ್ ಆಗಿರಬೇಕು: SCORM ಪ್ಯಾಕೇಜ್‌ಗಳು ಮತ್ತು ಅಪ್‌ಲೋಡ್ ಆದ HTML ಸಾಮಗ್ರಿ ಮೂಲದಲ್ಲಿ ನಡೆಯುತ್ತವೆ, ಆದ್ದರಿಂದ ಅವು LMS ನ ಕುಕೀಗಳನ್ನು ಎಂದಿಗೂ ಓದಲಾಗದು.
  • ಸ್ಥಳೀಯ ಪರೀಕ್ಷೆಗೆ, lvh.me ಮತ್ತು *.localhost 127.0.0.1 ಗೆ ಪರಿಹರಿಸುತ್ತವೆ, ಇದನ್ನೇ docker/.env.example ಬಳಸುತ್ತದೆ. ಸ್ಟ್ಯಾಕ್‌ನ ಸ್ವಂತ proxy ಸೇವೆಯು ಸ್ಥಳೀಯ ಪ್ರಮಾಣಪತ್ರ ಪ್ರಾಧಿಕಾರದೊಂದಿಗೆ ಎರಡಕ್ಕೂ https ಮೂಲಕ ಸೇವೆ ನೀಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಬೇರೇನನ್ನೂ ಸ್ಥಾಪಿಸಲಾಗುವುದಿಲ್ಲ (“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 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 ಸ್ಕ್ರಿಪ್ಟ್ (docker/postgres/init/90-passwords.sh) ನಾಲ್ಕು ಪಾತ್ರ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ.
  2. migrate ಪ್ರತಿ ವಲಸೆಯನ್ನೂ ಅನ್ವಯಿಸುತ್ತದೆ ಮತ್ತು ನಿಯಂತ್ರಣ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಮತ್ತು ಪ್ರತಿ ಪ್ರತ್ಯೇಕ ಟೆನಂಟ್ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಕೆಲಸದ ಸರಪಳಿಯನ್ನು ಆರಂಭಿಸುತ್ತದೆ, ಅವು ಎಲ್ಲವೂ ಒಪ್ಪುತ್ತವೆ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ, ನಂತರ ನಿರ್ಗಮಿಸುತ್ತದೆ (docs/ops/upgrade.md). ವಲಸೆಗಳು ಪ್ರತಿ ಆರಂಭದಲ್ಲಿ ನಡೆಯುತ್ತವೆ ಮತ್ತು idempotent ಆಗಿವೆ, ಆದ್ದರಿಂದ ಅಪ್‌ಗ್ರೇಡ್ ಎಂಬುದು ಒಂದು ಹೊಸ ಇಮೇಜ್ ಮತ್ತು ಒಂದು ಮರುಪ್ರಾರಂಭ.
  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 ಲಾಗ್ ನಿಖರ ಸೈನ್-ಇನ್ ವಿಳಾಸವನ್ನು ಮುದ್ರಿಸುತ್ತದೆ), ಮತ್ತು ಸೈನ್ ಇನ್ ಮಾಡಿ. ಸ್ಥಳೀಯ ಸ್ಥಾಪನೆಯಲ್ಲಿ, ಮೊದಲು ಪ್ರಾಕ್ಸಿಯ ಪ್ರಮಾಣಪತ್ರ ಪ್ರಾಧಿಕಾರವನ್ನು ನಂಬಿ (“TLS” ನೋಡಿ). /account/security ನಲ್ಲಿ ರಚಿಸಲಾದ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾಯಿಸಿ.

ಅಗತ್ಯವಿರುವ ರಹಸ್ಯವಿಲ್ಲದೆ ಆರಂಭವಾದ ಪ್ರಕ್ರಿಯೆಯು ಆರಂಭವಾಗಲು ನಿರಾಕರಿಸುತ್ತದೆ ಮತ್ತು ಕೊರತೆಯಿರುವ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ತನ್ನ ಲಾಗ್‌ನಲ್ಲಿ ಹೆಸರಿಸುತ್ತದೆ. ಅರ್ಧ-ಹೊಂದಿಸಲ್ಪಟ್ಟಂತೆ ಏನೂ ಆರಂಭವಾಗುವುದಿಲ್ಲ.

ಸೇವೆಗಳು ಮತ್ತು profiles

ಸೇವೆ profile ಅದು ಏನು ಮಾಡುತ್ತದೆ
postgres ಯಾವಾಗಲೂ ಡೇಟಾಬೇಸ್ (docker/postgres.Dockerfile ನಿಂದ ನಿರ್ಮಿಸಲಾದ pgvector ಸಹಿತ PostgreSQL 18), ಮೊದಲ ಬೂಟ್‌ನಿಂದಲೇ WAL ಆರ್ಕೈವ್ ಆಗುತ್ತದೆ
migrate, init ಯಾವಾಗಲೂ ಒಂದೇ ಬಾರಿ: ವಲಸೆಗಳು, ನಂತರ ಮೊದಲ ರನ್
web ಯಾವಾಗಲೂ LMS, QUIRE_HTTP_PORT (8080) ನಲ್ಲಿ
content ಯಾವಾಗಲೂ ಅವಿಶ್ವಾಸ್ಯ ಸಾಮಗ್ರಿಯ ಮೂಲ, QUIRE_CONTENT_PORT (8081) ನಲ್ಲಿ
worker ಯಾವಾಗಲೂ ಹಿನ್ನೆಲೆ ಕೆಲಸಗಳು: ಇಮೇಲ್, ವರದಿಗಳು, ಫೈಲ್ ಪ್ರಕ್ರಿಯೆ, webhooks
scheduler ಯಾವಾಗಲೂ ಪುನರಾವರ್ತಿತ ಕೆಲಸಗಳು: 64 ರನ್‌ಟೈಮ್ ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ನೋಂದಾಯಿಸಿ ವರ್ಕರ್‌ಗೆ ಒಪ್ಪಿಸುತ್ತದೆ; ಒಮ್ಮೆಗೆ ಒಬ್ಬ ನಾಯಕ
collab ಯಾವಾಗಲೂ ಸಹಯೋಗಿ ಸಂಪಾದನಾ websocket, QUIRE_COLLAB_HTTP_PORT (1234) ನಲ್ಲಿ
centrifugo ಯಾವಾಗಲೂ ರಿಯಲ್‌ಟೈಮ್ ಫ್ಯಾನ್-ಔಟ್, QUIRE_REALTIME_PORT (8000) ನಲ್ಲಿ
proxy ಯಾವಾಗಲೂ Caddy, ಪೋರ್ಟ್ 80 ಮತ್ತು 443 ರಲ್ಲಿನ TLS ಮುಂಭಾಗದ ಬಾಗಿಲು (“TLS” ನೋಡಿ)
valkey cache ಕ್ಯಾಶ್ ಮತ್ತು ದರ ಮಿತಿಗಳು
clamav scan ಅಪ್‌ಲೋಡ್‌ಗಳ ಮಾಲ್‌ವೇರ್ ಸ್ಕ್ಯಾನಿಂಗ್
gotenberg preview Office ನಿಂದ PDF ಮುನ್ನೋಟಗಳು, ಪ್ರಮಾಣಪತ್ರ ರೆಂಡರಿಂಗ್
imgproxy images ಗಾತ್ರ ಬದಲಿಸಿದ ಮತ್ತು ಪರಿವರ್ತಿಸಲಾದ ಚಿತ್ರಗಳು
transcoder video ಕೇವಲ LGPL ಆದ ffmpeg ಹೊಂದಿರುವ ವರ್ಕರ್ ಇಮೇಜ್, ವೀಡಿಯೋ ರೆಂಡಿಶನ್‌ಗಳಿಗಾಗಿ
seaweedfs storage ಈ ಹೋಸ್ಟ್‌ನಲ್ಲಿ S3-ಹೊಂದಿಕೊಳ್ಳುವ ವಸ್ತು ಸಂಗ್ರಹಣೆ
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 ಸಾಧನ ಇಮೇಜ್, QUIRE_H5P_PORT (8090) ನಲ್ಲಿ; “H5P ಪ್ರೊವೈಡರ್ ಸಂಪರ್ಕಿಸುವುದು” ನೋಡಿ

--profile full backup ಮತ್ತು h5p ಹೊರತುಪಡಿಸಿ ಪ್ರತಿ ಐಚ್ಛಿಕ ಸೇವೆಯನ್ನೂ ಆರಂಭಿಸುತ್ತದೆ. ಒಂದನ್ನು docker compose -f docker/compose.yaml --profile scan up -d ನೊಂದಿಗೆ ಆರಂಭಿಸಿ. ಐಚ್ಛಿಕ ಸೇವೆ ಇಲ್ಲದೆಯೂ Quire ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ಏನು ಕೊರತೆ ಇದೆ ಎಂದು ಹೇಳುತ್ತದೆ: ಸ್ಕ್ಯಾನರ್ ಇಲ್ಲದಿದ್ದರೆ ಅಪ್‌ಲೋಡ್‌ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡದೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಿರ್ವಾಹಕರಿಗೆ ತಿಳಿಸಲಾಗುತ್ತದೆ; Gotenberg ಇಲ್ಲದಿದ್ದರೆ ಫೈಲ್‌ಗಳು ಮುನ್ನೋಟದ ಬದಲಿಗೆ ಡೌನ್‌ಲೋಡ್ ನೀಡುತ್ತವೆ; ಟ್ರಾನ್ಸ್‌ಕೋಡರ್ ಇಲ್ಲದಿದ್ದರೆ ವೀಡಿಯೋ ಮೂಲ ಫೈಲ್‌ನಂತೆ ಪ್ಲೇ ಆಗುತ್ತದೆ.

ಪ್ರತಿ ಮೂರನೇ ಪಕ್ಷದ ಇಮೇಜ್ ಮತ್ತು ಅದರ ಪರವಾನಗಿ ಬಾಧ್ಯತೆಗಳನ್ನು docker/third-party-containers.yaml ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ.

H5P ಪ್ರೊವೈಡರ್ ಸಂಪರ್ಕಿಸುವುದು

Quire H5P ರನ್‌ಟೈಮ್ ಅಥವಾ sidecar ಅನ್ನು ಅಂತರ್ಗತಪಡಿಸುವುದಿಲ್ಲ ಅಥವಾ ಒದಗಿಸುವುದಿಲ್ಲ (ADR 0019). ನೀವು H5P ಬಳಸಿದರೆ, ನಿಮ್ಮದೇ ಹೋಸ್ಟ್ ಮಾಡಿದ ಚಂದಾದಾರಿಕೆ ಒದಗಿಸಿ ಅಥವಾ Quire ನಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ನಿಮ್ಮದೇ ಸ್ವ-ಹೋಸ್ಟ್ ಮಾಡಿದ H5P ಇನ್‌ಸ್ಟೆನ್ಸ್ ನಡೆಸಿ. ಆ ಪ್ರೊವೈಡರ್ ಅನ್ನು ಒಂದು LTI 1.3 ಬಾಹ್ಯ ಸಾಧನವಾಗಿ ನೋಂದಾಯಿಸಿ ಮತ್ತು ಅದರ ಸಾಮಗ್ರಿಯನ್ನು ಸಾಧನ ಚಟುವಟಿಕೆಗಳಾಗಿ ಕೋರ್ಸ್‌ಗಳಿಗೆ ಸೇರಿಸಿ. Quire LTI Assignment ಮತ್ತು Grade Services (AGS) ಮೂಲಕ ಅಂಕಗಳು ಮತ್ತು ಚಟುವಟಿಕೆ/ಮೌಲ್ಯಮಾಪನ ಪ್ರಗತಿಯನ್ನು ವಿನಿಮಯ ಮಾಡುತ್ತದೆ. ಪ್ರೊವೈಡರ್ xAPI ಹೇಳಿಕೆಗಳನ್ನೂ ಕಳುಹಿಸಿದರೆ, Quire ನ xAPI ಹೇಳಿಕೆ ಸಂಗ್ರಹಕ್ಕಾಗಿ ಅದನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಹೊಂದಿಸಿ; AGS ಅಂಕ/ಪ್ರಗತಿ ವಿನಿಮಯವು xAPI ಹೇಳಿಕೆಗಳನ್ನು ಕಳುಹಿಸುವುದಿಲ್ಲ. Moodle ಆಮದುಗಳು H5P ಚಟುವಟಿಕೆಗಳನ್ನು ಒಂದು LTI ಸಾಧನ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿದೆ ಎಂದು ವರದಿ ಮಾಡುತ್ತವೆ. ಪ್ರೊವೈಡರ್ ತನ್ನ H5P ರನ್‌ಟೈಮ್, ಲೇಖನ, ವಿಷಯ ಬ್ಯಾಂಕ್ ಮತ್ತು ಪ್ರಯತ್ನ ಇತಿಹಾಸದ ಜವಾಬ್ದಾರಿಯನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ.

ಈ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ನಿಮ್ಮದೇ ಸ್ವ-ಹೋಸ್ಟ್ ಇನ್‌ಸ್ಟೆನ್ಸ್ ನಡೆಸಲು, QUIRE_H5P_IMAGE ಅನ್ನು ಅದರ ಇಮೇಜ್‌ಗೆ ಹೊಂದಿಸಿ ಮತ್ತು h5p profile ಆರಂಭಿಸಿ. Compose ಅದನ್ನು QUIRE_H5P_PORT (8090) ನಲ್ಲಿ ಪ್ರಕಟಿಸುತ್ತದೆ ಮತ್ತು ಅದರ ಡೇಟಾವನ್ನು h5p-data ವಾಲ್ಯೂಮ್‌ನಲ್ಲಿ ಇಡುತ್ತದೆ; ಇಮೇಜ್ ಮತ್ತು ಅದರ ಜೊತೆಗೆ ಬರುವ ಬಾಧ್ಯತೆಗಳು ನಿಮ್ಮದಾಗಿಯೇ ಉಳಿಯುತ್ತವೆ.

ಸೆಟ್ಟಿಂಗ್‌ಗಳು

ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಯೂ 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 ನಂಬಲ್ಪಡುವ ಪ್ರಾಕ್ಸಿಗಳು

ರಹಸ್ಯಗಳು

ಸೆಟ್ಟಿಂಗ್ ಅರ್ಥ
QUIRE_SECRET_KEY ಸೆಷನ್‌ಗಳು ಮತ್ತು ಟೋಕನ್‌ಗಳಿಗೆ ಸಹಿ ಹಾಕುತ್ತದೆ. 64 ಹೆಕ್ಸ್ ಅಕ್ಷರಗಳು
QUIRE_MASTER_KEY SSO ಮತ್ತು webhook ರಹಸ್ಯಗಳಂತಹ ಸಂಗ್ರಹಿತ ಪರಿಚಯಪತ್ರಗಳನ್ನು ಸುತ್ತುತ್ತದೆ. 32 ಬೈಟ್‌ಗಳು, base64. ವೆಬ್ ಹಂತ ಮತ್ತು ವರ್ಕರ್‌ಗೆ ಅದೇ ಮೌಲ್ಯ ಬೇಕು. ರೊಟೇಶನ್: key-rotation.md
QUIRE_MASTER_KEY_VERSION ಮಾಸ್ಟರ್ ಕೀಯ ಆವೃತ್ತಿ ಲೇಬಲ್, ಹೊಂದಿಸದಿದ್ದರೆ v1. ನೀವು ರೊಟೇಟ್ ಮಾಡಿದಾಗ ಅದನ್ನು ಏರಿಸಿ
QUIRE_MASTER_KEY_RETIRED ಅವು ಮುಚ್ಚಿದ್ದದ್ದನ್ನು ಓದಲು ಇನ್ನೂ ಬೇಕಾದ ಹಿಂದಿನ ಮಾಸ್ಟರ್ ಕೀಗಳು, v1=<base64> ಆಗಿ. ಏನೂ ಬಗೆಹರಿಯದೆ ರೊಟೇಶನ್ ಮುಗಿದ ನಂತರ ತೆಗೆದುಹಾಕಿ
QUIRE_COLLAB_SIGNING_KEY ಎಡಿಟಿಂಗ್ ಟೋಕನ್‌ಗಳಿಗೆ ಸಹಿ ಹಾಕಲು web ಮತ್ತು collab ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ
QUIRE_BACKUP_SIGNING_KEY ಕೋರ್ಸ್ ಬ್ಯಾಕಪ್‌ಗಳಿಗೆ ಸಹಿ ಹಾಕುತ್ತದೆ (ಐಚ್ಛಿಕ)

QUIRE_MASTER_KEY ನ ನಕಲನ್ನು ಈ ಹೋಸ್ಟ್‌ನ ಹೊರತಾಗಿ ಎಲ್ಲೋ ಇಟ್ಟುಕೊಳ್ಳಿ. ಅದಿಲ್ಲದೆ ಮರುಸ್ಥಾಪಿಸಲಾದ ಡೇಟಾಬೇಸ್ ಅದು ಹೊಂದಿರುವ ಪರಿಚಯಪತ್ರಗಳನ್ನು ಡಿಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗದು.

ಡೇಟಾಬೇಸ್

ಸೆಟ್ಟಿಂಗ್ ಅರ್ಥ
POSTGRES_PASSWORD ಸೂಪರ್‌ಯೂಸರ್, ಕಂಟೈನರ್ ಮತ್ತು ಬ್ಯಾಕಪ್‌ಗಳು ಬಳಸುತ್ತವೆ
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, ಸ್ಥಾಪನೆಯ ಜೀವಿತಾವಧಿಗೆ ಸ್ಥಿರ

ಪಾತ್ರ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಡೇಟಾಬೇಸ್ ವಾಲ್ಯೂಮ್ ಮೊದಲ ಬಾರಿ ರಚನೆಯಾದಾಗ ಮಾತ್ರ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಒಂದನ್ನು ಬದಲಾಯಿಸಲು, ALTER ROLE ಬಳಸಿ ನಂತರ ಹೊಂದಿಕೊಳ್ಳುವ URL ಅನ್ನು ನವೀಕರಿಸಿ.

QUIRE_REPORT_DATABASE_URL ಅನ್ನು DATABASE_URL ನಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಭೌತಿಕ ಡೇಟಾಬೇಸ್‌ಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಇತರ ನೋಂದಾಯಿತ ಭೌತಿಕ ಡೇಟಾಬೇಸ್‌ಗಾಗಿ, web ಮತ್ತು worker ಪರಿಸರದಲ್ಲಿ ಅದರದೇ ಆದ quire_report ಸಂಪರ್ಕ URL ಹೊಂದಿಸಿ, ನಂತರ ಆ ಚರರ ಹೆಸರನ್ನು ಆ ಡೇಟಾಬೇಸ್‌ನ ವರದಿ ಪರಿಸರ ಚರ ಕ್ಷೇತ್ರದಲ್ಲಿ env:NAME ಆಗಿ ಇಡಿ. ಉಲ್ಲೇಖವು ಅದರ ಆ್ಯಪ್ ಸಂಪರ್ಕದಂತೆಯೇ ಅದೇ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸೂಚಿಸಬೇಕು, ಆದ್ಯತೆಯಾಗಿ ಅದರ ಓದುವ ಪ್ರತಿ. ಪ್ರತಿ ವರದಿ ಮೇಲ್ಮೈಯೂ ಟೆನಂಟ್ ಅನ್ನು ಅದರದೇ ಡೇಟಾಬೇಸ್‌ನ ವರದಿ ಸಂಪರ್ಕಕ್ಕೆ ಅನುಸರಿಸುತ್ತದೆ: ವರದಿ ಬಿಲ್ಡರ್ ಮತ್ತು ಉಳಿಸಲಾದ ವರದಿಗಳು, ನಿಗದಿತ ಡೆಲಿವರಿಗಳು, ವರದಿ ರಫ್ತುಗಳು, ವಿಶ್ಲೇಷಣೆ, ಆಡಿಟ್ ಲಾಗ್, REST ಆಡಿಟ್ ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು ಸಹಾಯಕದ ಆಡಿಟ್ ಹುಡುಕಾಟ. ಯಾವುದೂ ಎಂದಿಗೂ ಇನ್ನೊಂದು ಡೇಟಾಬೇಸ್‌ನ ವರದಿ URL ಸಾಲಿಗೆ ಪಡೆಯುವುದಿಲ್ಲ. ಒಂದು ಡೇಟಾಬೇಸ್‌ಗೆ ವರದಿ ಸಂಪರ್ಕ ಇಲ್ಲದಿದ್ದರೆ, ಸಾಮಾನ್ಯ ವರದಿಗಳು ಆ ಡೇಟಾಬೇಸ್‌ನ ಸ್ವಂತ ಅಪ್ಲಿಕೇಶನ್ ಸಂಪರ್ಕದ ಮೇಲೆ ನಡೆಯುತ್ತವೆ, ಆದರೆ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಪ್ರತಿ ಆಡಿಟ್ ಓದುವಿಕೆಯೂ ನಿರಾಕರಿಸಿ ಅದನ್ನು ಹೇಳುತ್ತವೆ, ಏಕೆಂದರೆ ಅಪ್ಲಿಕೇಶನ್ ಪಾತ್ರವು ಆಡಿಟ್ ಹಾದಿಯನ್ನು ಓದಲಾಗದು.

ಚಾಲಕಗಳು

ಸೆಟ್ಟಿಂಗ್ ಈ ಆವೃತ್ತಿ ಟಿಪ್ಪಣಿಗಳು
QUIRE_STORAGE_DRIVER local (ಡೀಫಾಲ್ಟ್), s3 ಅಥವಾ azure local ಫೈಲ್‌ಗಳನ್ನು files ವಾಲ್ಯೂಮ್‌ನಲ್ಲಿ ಇಡುತ್ತದೆ. 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 profile ಮತ್ತು ಕೆಳಗಿನ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಅಗತ್ಯವಿದೆ; cloudflare Cloudflare Images ಬಳಸುತ್ತದೆ
QUIRE_MEETING_PROVIDER bbb, zoom, teams, meet, jitsi ಅಥವಾ in_process ಲೈವ್ ಸೆಷನ್‌ಗಳಿಗೆ ವೇದಿಕೆಯ ಡೀಫಾಲ್ಟ್. ಹೊಂದಿಸದಿದ್ದರೆ, ಲೈವ್ ಸೆಷನ್‌ಗಳು ಅವು ಹೊಂದಿಸಲ್ಪಟ್ಟಿಲ್ಲ ಎಂದು ಹೇಳುತ್ತವೆ, ಒಂದು ಸಂಸ್ಥೆಯು ಏಕೀಕರಣಗಳ ಅಡಿಯಲ್ಲಿ, ಲೈವ್ ಸೆಷನ್ ಪ್ರೊವೈಡರ್ ಕಡೆ ತನ್ನ ಸ್ವಂತ ಖಾತೆ ಸಂಪರ್ಕಿಸುವವರೆಗೂ. ಒಂದು ಸಂಸ್ಥೆಯ ಸ್ವಂತ ಖಾತೆಯು ಯಾವಾಗಲೂ ಈ ಮೌಲ್ಯಕ್ಕಿಂತ ಮೇಲುಗೈ ಸಾಧಿಸುತ್ತದೆ. ಪ್ರತಿ ಪ್ರೊವೈಡರ್‌ನ ಸ್ವಂತ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು (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 profile ಅದನ್ನು QUIRE_IMAGES_PORT (8082) ನಲ್ಲಿ ಪ್ರಕಟಿಸುತ್ತದೆ
IMGPROXY_KEY, IMGPROXY_SALT imgproxy ಹೆಕ್ಸ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳು, 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 resources ನಿಂದ ಖಾತೆ ಹ್ಯಾಶ್. ಖಾತೆಗಾಗಿ ಹೊಂದಿಕೊಳ್ಳುವ ವೇರಿಯಂಟ್‌ಗಳನ್ನು ಆನ್ ಮಾಡಿ
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 ವಸ್ತು, ಉದಾಹರಣೆಗೆ {"provider":"postmark","token":"..."}. Postmark, Amazon SES, Mailgun, SendGrid ಮತ್ತು Resend ಬೆಂಬಲಿತ.
  • QUIRE_SMTP_URL: smtp://user:password@host:587. ಕೇವಲ ಈ ಗುರಿ; ಸರ್ವರ್‌ರಹಿತ ಗುರಿಗಳು SMTP ನಿರ್ಬಂಧಿಸುತ್ತವೆ.

QUIRE_MAIL_FROM ಕಳುಹಿಸುವವರು. Quire ಪ್ರಯೋಗಿಸಲು, devmail profile ಆರಂಭಿಸಿ, 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 ವಿರುದ್ಧ ಆನ್ (ಕೇವಲ ಐದು ಅಕ್ಷರಗಳ ಹ್ಯಾಶ್ ಪೂರ್ವಪ್ರತ್ಯಯ ಮಾತ್ರ ಕಳುಹಿಸಲಾಗುತ್ತದೆ); off ಅದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು URL ನೀವು ನಡೆಸುವ ಒಂದು ವ್ಯಾಪ್ತಿ API ಕಡೆಗೆ ಸೂಚಿಸುತ್ತದೆ

ವೀಕ್ಷಣೀಯತೆ

OTEL_EXPORTER_OTLP_ENDPOINT ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಯೂ ಟ್ರೇಸ್ ಮತ್ತು ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಕಳುಹಿಸುವ ಸಂಗ್ರಾಹಕವನ್ನು ಹೆಸರಿಸುತ್ತದೆ; observability profile ನೊಂದಿಗೆ ಅದು http://otelcol:4318, ಮತ್ತು ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್‌ಗಾಗಿ exporter ಸೇರಿಸುವ ಜಾಗ docker/otel-collector.yaml. ಹೊಂದಿಸಿದಾಗ ವೆಬ್ ಹಂತ, ವರ್ಕರ್, ಶೆಡ್ಯೂಲರ್, ಸಾಮಗ್ರಿ ಮತ್ತು collab ಪ್ರಕ್ರಿಯೆಗಳು OTLP/HTTP ಮೂಲಕ span ರಫ್ತು ಮಾಡುತ್ತವೆ (ವೆಬ್ ವಿನಂತಿಗಳು, ಟೆನಂಟ್ ಡೇಟಾಬೇಸ್ ವ್ಯವಹಾರಗಳು, ವರ್ಕರ್ ಕೆಲಸಗಳು ಮತ್ತು ಹೊರಹೋಗುವ ಕರೆಗಳು), ಮತ್ತು ಪ್ರತಿ ನಿಮಿಷಕ್ಕೂ ಅದೇ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗೆ ಮೆಟ್ರಿಕ್‌ಗಳು (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 ಆಗಿ ಸಂಸ್ಥೆಯ ಆಡಿಟ್ ಹಾದಿಯಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಅದು ಪಾಲನೆ, ಡೇಟಾ ವಾಸಸ್ಥಾನ ಅಡಿಯಲ್ಲಿ ಪಟ್ಟಿಯಾಗುತ್ತದೆ.

ಸೆಟ್ಟಿಂಗ್ ಮೌಲ್ಯಗಳು ಪರಿಣಾಮ
QUIRE_EGRESS_ALLOW_HOSTS ಹೋಸ್ಟ್ ಹೆಸರುಗಳ ಅರ್ಧಚಿಹ್ನಾ ಪಟ್ಟಿ, ಅಥವಾ ಪ್ರತಿ ಉಪ-ಡೊಮೇನ್‌ಗಾಗಿ *.example.org EU ಸಂಸ್ಥೆಯು ತಲುಪಬಹುದಾದ ಹೆಚ್ಚುವರಿ ಹೋಸ್ಟ್‌ಗಳು. Webhook, xAPI ಮತ್ತು SIEM endpoints, ಬ್ಲಾಗ್ ಫೀಡ್‌ಗಳು ಮತ್ತು Amazon SES ಹೋಸ್ಟ್‌ಗಳು ಇಲ್ಲಿ ಸೇರಬೇಕು, ಏಕೆಂದರೆ ಅವು ಒಂದು ಸಂಸ್ಥೆಯ ಸ್ವಂತ ಆಯ್ಕೆ ಮತ್ತು ಯಾವುದೇ ಸೇವೆ ಅವುಗಳನ್ನು ಘೋಷಿಸುವುದಿಲ್ಲ. Loopback, ಖಾಸಗಿ ವಿಳಾಸಗಳು ಮತ್ತು web ಅಥವಾ clamav ನಂತಹ ಒಂದೇ ಲೇಬಲಿನ ಹೆಸರುಗಳು ನಿಮ್ಮದೇ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಎಂದಿಗೂ ಪರಿಶೀಲಿಸಲ್ಪಡುವುದಿಲ್ಲ

UK ಮತ್ತು US ಸಂಸ್ಥೆಗಳನ್ನು ಹೋಸ್ಟ್ ಪಟ್ಟಿಗೆ ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಹೋಲಿಸಲಾಗುವುದಿಲ್ಲ; ಅವು ಸೇವಾ ಪ್ರದೇಶ ಪರಿಶೀಲನೆಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತವೆ. ಪಟ್ಟಿಯನ್ನು ವರ್ಕರ್‌ನಲ್ಲಿ ಹೊಂದಿಸಿ; ಅಡ್ಮಿನ್ ಪುಟವು ಅನುಮತಿ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಲು ವೆಬ್ ಹಂತದಲ್ಲಿ ಅದನ್ನು ಓದುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಪ್ರತಿ ಸೇವೆಯೂ ಓದುವ docker/.env ನಲ್ಲಿ ಇಡಿ.

ಅಪ್ಲಿಕೇಶನ್ ಪರಿಶೀಲನೆಯು ಸ್ಪಷ್ಟ ದೋಷ ಮತ್ತು ಒಂದು ಆಡಿಟ್ ನಮೂದು ನೀಡುತ್ತದೆ, ಮತ್ತು ಅದು ಖಾತರಿ ಅಲ್ಲ: ಕೋಡ್ ತಪ್ಪಾಗಿರಬಹುದು. ಖಾತರಿಯು ನೆಟ್‌ವರ್ಕ್. Compose ಅದನ್ನು ನಿಮಗಾಗಿ ಜಾರಿಗೊಳಿಸುವುದಿಲ್ಲ. ಒಂದು ಪ್ರಾದೇಶಿಕ ಸ್ಟ್ಯಾಕ್‌ಗಾಗಿ, worker ಮತ್ತು web ಸೇವೆಗಳನ್ನು ಒಂದು internal: true ನೆಟ್‌ವರ್ಕ್‌ನ ಮೇಲೆ ಇಡಿ, ಅದರ ಹೊರಗೆ ಹೋಗುವ ಏಕೈಕ ಮಾರ್ಗವು ಒಂದು ಹೊರಹೋಗುವ ಪ್ರಾಕ್ಸಿ (ಉದಾಹರಣೆಗೆ Squid ಅಥವಾ ಒಂದು tinyproxy ಕಂಟೈನರ್) ಆಗಿದೆ, ಅದು QUIRE_EGRESS_ALLOW_HOSTS ನ ಅದೇ ಹೋಸ್ಟ್‌ಗಳನ್ನು ಮತ್ತು ನಿಮ್ಮ ಹೊಂದಿಸಲ್ಪಟ್ಟ ಸೇವೆಗಳ ಹೋಸ್ಟ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಮತ್ತು ಆ ಸೇವೆಗಳಿಗೆ HTTPS_PROXY ಹೊಂದಿಸಿ. ವಾಸಸ್ಥಾನ ಪುಟವು ಅಪ್ಲಿಕೇಶನ್ ಅನುಮತಿಸುವ ನಿಖರ ಹೋಸ್ಟ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ, ಆಗ ಎರಡೂ ಪಟ್ಟಿಗಳನ್ನು ಹೋಲಿಸಬಹುದು.

ಆರೋಗ್ಯ

Endpoint ಅರ್ಥ
/healthz ಜೀವಂತತೆ: ಪ್ರಕ್ರಿಯೆ ಉತ್ತರಿಸುತ್ತದೆ. Compose ಆರೋಗ್ಯ ಪರಿಶೀಲನೆಗಳು ಇದನ್ನು ಬಳಸುತ್ತವೆ
/readyz ಸಿದ್ಧತೆ: ಅವಲಂಬನೆಗಳು ತಲುಪಬಹುದಾಗಿವೆ, ಮತ್ತು ಪ್ರತಿ ಐಚ್ಛಿಕ ಸೇವೆಯೂ ಹೊಂದಿಸಲ್ಪಟ್ಟಿದೆ ಅಥವಾ ಇಲ್ಲ ಎಂದು ವರದಿ ಮಾಡಿದೆ. ನಿಮ್ಮ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ಇಲ್ಲಿ ಸೂಚಿಸಿ

docker compose -f docker/compose.yaml ps ಪ್ರತಿ ಸೇವೆಯ ಆರೋಗ್ಯವನ್ನು ತೋರಿಸುತ್ತದೆ.

TLS

proxy ಸೇವೆ (Caddy, Apache-2.0, docker/caddy/Caddyfile) ಡೀಫಾಲ್ಟ್ ಸ್ಟ್ಯಾಕ್‌ನ ಭಾಗ. ಅದು ಪೋರ್ಟ್ 80 ಮತ್ತು 443 ರಲ್ಲಿ ಉತ್ತರಿಸುತ್ತದೆ ಮತ್ತು ಮಾರ್ಗಿಸುತ್ತದೆ:

ಹೋಸ್ಟ್ ಅಥವಾ ಮಾರ್ಗ ಇಲ್ಲಿಗೆ ಹೋಗುತ್ತದೆ
QUIRE_PROXY_CONTENT_HOST content
QUIRE_PROXY_APP_HOST, ಪ್ರತಿ ಟೆನಂಟ್ ಸಬ್‌ಡೊಮೇನ್ ಮತ್ತು ಕಸ್ಟಮ್ ಡೊಮೇನ್ web
ಆ ಹೋಸ್ಟ್‌ಗಳಲ್ಲಿ /_collab/ collab (websocket, QUIRE_COLLAB_URL)
ಆ ಹೋಸ್ಟ್‌ಗಳಲ್ಲಿ /_realtime/connection/ centrifugo ನ ಕ್ಲೈಂಟ್ websocket; ಅದರ ಸರ್ವರ್ API ಎಂದಿಗೂ ಬಹಿರಂಗಪಡಿಸಲ್ಪಡುವುದಿಲ್ಲ
ಆ ಹೋಸ್ಟ್‌ಗಳಲ್ಲಿ /_images/ imgproxy, images profile ನೊಂದಿಗೆ (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 (ಡೀಫಾಲ್ಟ್): Caddy ನ ಸ್ವಂತ ಪ್ರಮಾಣಪತ್ರ ಪ್ರಾಧಿಕಾರ, localhost, *.localhost ಮತ್ತು lvh.me ಗಾಗಿ. ಅದರ ಮೂಲವನ್ನು ಒಮ್ಮೆ ನಂಬಿ, ನಂತರ ಬ್ರೌಸ್ ಮಾಡಿ:

    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). ಎರಡೂ ಮೂಲಗಳ ಮತ್ತು ಪ್ರತಿ ಟೆನಂಟ್ ಹೋಸ್ಟ್‌ನ DNS ಇಲ್ಲಿ ಸೂಚಿಸಬೇಕು, ಮತ್ತು ಪೋರ್ಟ್ 80 ಮತ್ತು 443 ಇಂಟರ್‌ನೆಟ್‌ನಿಂದ ತಲುಪಬಹುದಾಗಿರಬೇಕು.

ಟೆನಂಟ್ ಹೋಸ್ಟ್‌ಗಳನ್ನು ಬೇಡಿಕೆಯ ಮೇಲೆ, ಮೊದಲ ಭೇಟಿಯಲ್ಲಿ, ಮತ್ತು web ಹೆಸರು ಈ ಸ್ಥಾಪನೆಗೆ ಸೇರಿದೆ ಎಂದು ದೃಢೀಕರಿಸಿದಾಗ ಮಾತ್ರ ನೀಡಲಾಗುತ್ತದೆ (/tls-allowed, Compose ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಕೇಳಲಾಗುತ್ತದೆ). ಯಾವುದೇ ವೈಲ್ಡ್‌ಕಾರ್ಡ್ ಪ್ರಮಾಣಪತ್ರ ಅಥವಾ DNS ಪ್ರೊವೈಡರ್ ಪ್ಲಗಿನ್ ಬೇಕಿಲ್ಲ, ಮತ್ತು ಹೋಸ್ಟ್‌ನ ಕಡೆಗೆ ಹೆಸರು ಸೂಚಿಸುವ ಅಪರಿಚಿತ ವ್ಯಕ್ತಿಯು ಅದನ್ನು ಪ್ರಮಾಣಪತ್ರಗಳಿಗಾಗಿ ಕೇಳಲು ಮಾಡಲಾಗದು. ಪ್ರಮಾಣಪತ್ರಗಳು ಮತ್ತು ಸ್ಥಳೀಯ ಪ್ರಾಧಿಕಾರವು caddy-data ವಾಲ್ಯೂಮ್‌ನಲ್ಲಿ ಇರುತ್ತವೆ; ನೀವು internal ಬಳಸಿದರೆ ಉಳಿದದ್ದರ ಜೊತೆಗೆ ಅದನ್ನೂ ಬ್ಯಾಕಪ್ ಮಾಡಿ.

ವೆಬ್ ಪ್ರಾಕ್ಸಿಯಿಂದ ಮಾತ್ರ X-Forwarded-For ನಂಬುತ್ತದೆ: ಪ್ರಾಕ್ಸಿಗೆ ಸ್ಥಿರ ವಿಳಾಸವಿದೆ (QUIRE_PROXY_ADDRESS, ಡೀಫಾಲ್ಟ್ 172.29.64.10) ಸ್ಥಿರ ಸಬ್‌ನೆಟ್‌ನಲ್ಲಿ (QUIRE_COMPOSE_SUBNET), ಮತ್ತು QUIRE_TRUSTED_PROXY_CIDRS ಆ ವಿಳಾಸವನ್ನು ಹೆಸರಿಸುತ್ತದೆ. ಸಬ್‌ನೆಟ್ ಹೋಸ್ಟ್‌ನ ನೆಟ್‌ವರ್ಕ್‌ನೊಂದಿಗೆ ಘರ್ಷಿಸಿದರೆ, ಎರಡನ್ನೂ ಬದಲಾಯಿಸಿ ಮತ್ತು docker compose down ಚಲಾಯಿಸಿ, up ಮೊದಲು.

ನಿಮ್ಮದೇ ರಿವರ್ಸ್ ಪ್ರಾಕ್ಸಿ ಹಿಂದೆ

ನೀವು ಈಗಾಗಲೇ ನಡೆಸುತ್ತಿರುವ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಅಥವಾ ಪ್ರಾಕ್ಸಿ ಬಳಸಲು, 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://) ನಲ್ಲಿ ಹೊಂದಿಸಿ, ಮತ್ತು ನಿಮ್ಮ ಪ್ರಾಕ್ಸಿಯ ವಿಳಾಸ ವ್ಯಾಪ್ತಿಯನ್ನು QUIRE_TRUSTED_PROXY_CIDRS ನಲ್ಲಿ.

ತೊಂದರೆ ನಿವಾರಣೆ

  • “QUIRE_DATABASE_ID is not a UUID” ನೊಂದಿಗೆ init ನಿರ್ಗಮಿಸುತ್ತದೆ: uuidgen ನೊಂದಿಗೆ ಅದನ್ನು ಹೊಂದಿಸಿ.
  • “did not start on compose” ನೊಂದಿಗೆ web ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ: ಲಾಗ್ ಅದು ಗೌರವಿಸಲಾಗದ ಪ್ರತಿ ಸೆಟ್ಟಿಂಗ್ ಮತ್ತು ಬದಲಿಗೆ ಏನು ಬಳಸಬೇಕು ಎಂದು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ.
  • ಮೊದಲ ಆರಂಭದ ನಂತರ .env ನಲ್ಲಿ ಪಾತ್ರ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾಯಿಸಿದರೆ ಏನೂ ಆಗುವುದಿಲ್ಲ: init ಸ್ಕ್ರಿಪ್ಟ್ ಒಮ್ಮೆ ಮಾತ್ರ ನಡೆಯುತ್ತದೆ. ALTER ROLE ಬಳಸಿ.
  • CLAMAV_URL ಹೊಂದಿಸಲ್ಪಟ್ಟಾಗ ಸ್ಕ್ಯಾನ್ ದೋಷದೊಂದಿಗೆ ಅಪ್‌ಲೋಡ್‌ಗಳು ವಿಫಲವಾಗುತ್ತವೆ: ClamAV ಮೊದಲ ಆರಂಭದಲ್ಲಿ ತನ್ನ ಸಹಿಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಅದಕ್ಕೆ ಕೆಲವು ನಿಮಿಷಗಳು ಬೇಕು.
ನ್ಯಾವಿಗೇಶನ್

ಹುಡುಕಲು ಟೈಪ್ ಮಾಡಿ…

↑↓ ಸಂಚಾರ ಮಾಡಿ↵ ಆಯ್ಕೆಮಾಡಿEsc ಮುಚ್ಚಿ