# Start Zentrik HRMS

## Existing Windows installation

Double-click **Start Zentrik HRMS.cmd**, then use the existing accounts and MFA at http://127.0.0.1:8000/login. WampServer/MySQL must be running. Database `zentrikhrms`, root and the requested blank password are preserved for local use; all 85 tables remain InnoDB.

The launcher starts/reuses Laravel and its local maintenance helper for reminders, leave accrual, monitoring, scan retries, audit outbox and in-app bells. It does not consume arbitrary queued jobs or enable external email/webhooks. No Docker or Cloudflare configuration is needed.

## Documents and OCR

OCR is disabled for all current clients and defaults off for new tenants. Super Admin retains the per-client switch. Manual reference/issue/expiry dates, verification and reminders continue without OCR; uploaded files must first pass malware scanning.

The current native OCR worker uses Tesseract/Poppler/Pillow/bubblewrap in the separate Debian WSL distribution as an unprivileged user. Laravel itself remains on Wamp. Run `Setup Tesseract OCR.cmd` to check readiness. A Linux VPS uses the same native tools directly and does not require WSL.

The private portable document master key is under `storage/app/private/keys/documents.key`, with current-user/System permissions locally. Do not move it into the public directory or replace/regenerate it. Preserve APP_KEY as well; both require protected backups. No key contents are printed by setup.

## VPS or cPanel

Follow [HOSTING.md](docs/HOSTING.md). The source release includes compiled browser assets, but excludes `.env`, dependencies, uploads, keys and customer databases. Install production Composer dependencies and configure the hosting database, public document root, private storage, scanner, HTTPS and one cron entry. Shared hosting must provide the necessary scanner and native OCR capabilities to offer those features; OCR remains off if its sandbox is unavailable.
