Operate a Mirket installation
Understand the organization-isolated runtime, configuration boundary, health checks, and recovery expectations.
- For
- Operator
- Reading time
- 11 min
- Updated
- October 22, 2026

Before you start
- Shell access to the installation host, the checked-out immutable release, and the installation environment file.
- Access to service logs, the backup destination, and a protected backup passphrase file.
You are done when
- docker compose --env-file .env -f compose.yml ps reports the expected services running and health-enabled services healthy.
- API and Socket /health/live and /health/ready checks respond successfully.
- The most recent encrypted backup has passed the repository restore drill.
- Every optional service profile matches its application flag; flag-only modules and organization activation are checked separately.
If something goes wrong
- Do not overwrite a failed deployment or backup. Preserve logs, the exact release digest, environment path, and command output.
- Restore only from a verified encrypted archive and follow your organization’s accepted recovery window and runbook.
- When one optional service fails, preserve the base LMS and diagnose that service’s readiness, credentials, origin, and logs before restarting it. Never copy access tokens, request headers, email addresses, or child facts into diagnostics.
Know the deployment boundary
- One installation serves one organization.
- Application processes, PostgreSQL, Redis, and object-storage namespaces are isolated between organizations.
- Customer configuration is mounted at runtime rather than baked into immutable application artifacts.
Respond to an operational report
Validate configuration before changing state
Run docker compose --env-file .env -f compose.yml config --quiet, then inspect docker compose --env-file .env -f compose.yml ps and the API and Socket live and ready health endpoints.
Identify the affected service and window
Collect the application, role, route, timestamp, visible recovery state, and relevant service logs without requesting unnecessary user content.
Use repository-owned backup commands
Run pnpm ops:check, then create the coordinated encrypted backup with pnpm ops:backup and explicit absolute environment, output, and passphrase-file paths.
Prove recoverability
Run pnpm ops:restore-drill against the produced archive with the same explicit passphrase and environment inputs. Completion requires verified checksums and successful disposable PostgreSQL restores.
Recover with reversible actions
Prefer documented service restart, retry, and verified restore procedures. Preserve evidence and take a verified backup before upgrades or schema intervention.
Choose optional modules explicitly
Service-backed modules need both their Compose profile and matching application flag. Certification, academic integrity and institutional adapters use private configuration without a separate Compose profile. Run config --quiet before startup and check each module’s own readiness before enabling it for an organization.
- Parent access uses the parents profile with PARENT_MODULE_ENABLED=true. The administrator must still choose Enable Parent portal; restoring operator availability never re-enables that organization setting.
- Chat uses the chat profile with CHAT_ENABLED=true. A Matrix outage must leave LMS sign-in and non-chat work available while Chat shows recovery feedback.
- Document editing uses the documents profile with ONLYOFFICE_ENABLED=true. An outage must preserve protected course files and their original download while the workspace offers Try again.
- Live conferences use the live profile with LIVEKIT_ENABLED=true. Admission or service failure must block conference access without weakening current account, role, course, or Session checks.
- Certification uses the private CERTIFICATION_MODULE_ENABLED=true switch without a Compose profile. The administrator must still choose Enable certification; restoring operator availability does not reactivate it.
- Academic integrity requires ACADEMIC_INTEGRITY_ENABLED=true, an explicit provider mode and credentials, then separate Administrator activation and assignment opt-in. A sandbox mode is for development or testing, not customer decisions.
- Institutional sign-in, roster and cloud-file adapters use separate private provider configuration. A disabled adapter must leave local sign-in, manual onboarding and ordinary course-file upload available.
Continue with
Manage people, courses, communication, and operational visibility while preserving organization and role boundaries.
Get oriented in MirketUnderstand role applications, navigation, preferences, and the boundaries that determine what you can see.
Follow a child’s academic updatesUse the Parent application to review authorized work, released grades, teacher-confirmed attendance, and notification choices for each linked child.