4. Instalace — Nativní (PHP + MariaDB + web server)
Tradiční hosting bez Dockeru (cca 5 minut). Předpoklady:
- PHP 8.5+ s extensions:
pdo,pdo_mysql,mbstring,openssl,json,iconv,gd - MariaDB 10.6+ (doporučeno 11.x)
- Composer 2.x, Node.js 22+ (24 doporučeno), pnpm 10+
- Redis (volitelné — fallback na MariaDB MEMORY)
- Web server: IIS nebo Apache (oba podporované, repo má
web.configi.htaccess)
4.1 Klon a konfigurace
git clone https://github.com/radekhulan/myinvoice.git myinvoice
cd myinvoice
cp cfg.sample.php cfg.php
Otevři cfg.php a vyplň:
db.user/db.pass— připojení k MariaDBapp.pepper— vygenerujopenssl rand -base64 32smtp.host/user/pass— odchozí poštacaptcha.site_key/secret_key— z dash.cloudflare.com → Turnstileip_allowlist.allow— volitelné, doporučeno v produkci
4.2 Vytvoř databázi
mysql -u root -p -e "CREATE DATABASE myinvoice CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
4.3 Backend + migrace
cd api && composer install && cd ..
php api/bin/migrate.php
php tools/generateManualHtml.php # vyrenderuje manual/generated/ → /manual route
php tools/exportManualToPdf.php # vygeneruje manual/manual.pdf (Stáhnout PDF v sidebaru)
generateManualHtml.php je self-contained (nepotřebuje composer/vendor), generuje HTML kapitoly + search index. exportManualToPdf.php vyžaduje api/vendor/ (mPDF). Spouštět obojí znovu po každém pull repa, aby /manual ukazoval aktuální obsah. (V Docker variantě se volá build-time uvnitř Dockerfile — viz Instalace — Docker.)
4.4 Frontend build
cd web
pnpm install
pnpm build # produkční build do web/dist/
4.5 Web server
- IIS —
web.configv rootu repa nakonfiguruje rewrite + statiku. - Apache —
.htaccessv rootu repa, vyžadujemod_rewrite,mod_headers.
Po nasazení web serveru pokračuj kapitolou Po instalaci.