MyInvoice MyInvoice.cz Manuál
Stáhnout PDF Zpět na hlavní stránku

5. Po instalaci a CLI nástroje

Ať jsi instaloval přes Docker nebo nativně, poslední krok je stejný: otevři aplikaci v prohlížeči a projdi úvodním průvodcem. Tato kapitola navíc shrnuje CLI nástroje a plánované úlohy (cron) pro běžnou údržbu.

5.1 První spuštění

Otevři aplikaci v prohlížeči (u Dockeru http://localhost:8080, u nativní instalace URL podle web serveru) — naskočí setup wizard. Provede tě založením prvního dodavatele, administrátorského účtu a základní konfigurace. Detailní popis: První spuštění (setup wizard).

5.2 Co nastavit hned po prvním přihlášení

5.3 Produkční doporučení

5.4 CLI nástroje

php api/bin/migrate.php              # spustí pending migrace
php api/bin/migrate.php --status     # vypíše stav migrací
php api/bin/setup.php                # interaktivní úvodní zřízení
php api/bin/sample.php               # vygeneruje testovací data (po setupu)
php api/bin/reset.php                # smaže všechna user-data (vyžaduje "ANO")
php api/bin/recompute-stats.php      # přepočítá agregované statistiky

5.5 Cron skripty

V cmd/ jsou připravené .cmd (Windows Task Scheduler) i .sh (Linux cron) wrappery:

SkriptDoporučená frekvence
cron-cleanup1× denně 03:00
cron-backup1× denně 02:00
cron-bank-scankaždých 30 min
cron-bank-email-noticeskaždých 30 min
cron-send-reminders1× denně 09:00, Po–Pá

Detaily v cmd/README.md.

Šifrování záloh: volitelné heslo cron.backup.password v cfg.php zašifruje všechny tři typy ZIP záloh (DB dump, PDF dokladů, sekce Dokumenty) algoritmem AES-256. Pro rozbalení použijte 7-Zip, WinRAR nebo unzip -P — vestavěný Průzkumník Windows šifrované AES-256 archivy neumí otevřít. Šifruje se obsah souborů, názvy souborů uvnitř archivu zůstávají čitelné. Pokud je heslo nastavené a PHP šifrování nepodporuje (libzip < 1.2), záloha se záměrně nevytvoří a úloha skončí chybou — nešifrovaná záloha by vznikla jen omylem.

💡 Relativní cesty v cfg.php. Cestové klíče (cron.backup.output_dir, storage.*, logging.path, archivy přijatých/importovaných dokladů, DKIM) zadané relativně (např. storage/backup) se ukotvují k rootu aplikace, ne k pracovnímu adresáři procesu. Záloha tak skončí na očekávaném místě i když cron běží pod Task Schedulerem nebo systémovým cronem s jiným aktuálním adresářem. Absolutní cesty (vč. C:\… a UNC \\server) i MYINVOICE_DATA_DIR zůstávají beze změny.

Kontrola, že úlohy běží: otevři v aplikaci Systém → Plánované úlohy. Každý cron skript si zapisuje vlastní heartbeat do tabulky cron_runs (start, konec, exit code, JSON report). Stránka ukazuje pro každou doporučenou úlohu kdy naposled úspěšně proběhla, a pokud poslední běh chybí nebo je starší než max_age_hours (typicky 36 h), je tu varování Stáří / Selhává / Neběželo. Tím se odhalí "cron vůbec není nastavený" i "cron běží, ale failuje" — bez ohledu na OS (crontab vs. Task Scheduler vs. Docker host).