První kroky a každodenní práce
Společný návod pro všechny tři cesty instalace — Multipass na Macu a WSL
ve Windows (local-dev.md) i vlastní Linux
(linux-install.md). Předpokládá hotovou instalaci se
zeleným shpd-server doctor.
1. Vývojářský dashboard
V development módu běží na kořeni serveru jednoduchý webový dashboard, který shrnuje vše, co při testování potřebuješ — bez ručního skládání URL a hledání ID datových zdrojů v terminálu.
Otevři v prohlížeči:
http://<adresa-serveru>/_dev/
Kořen / se v dev módu automaticky přesměruje na /_dev/, takže stačí
zadat jen adresu serveru. V produkčním módu dashboard neexistuje —
/_dev/... vrací 404.
Co dashboard umí:
- Seznam datových zdrojů — všechny DS s názvem, datem vytvoření a
databází. U každého tlačítka Open (otevře aplikaci
/{ds-id}/app/v novém tabu), Logs a Upgrade. ID lze jedním klikem zkopírovat do schránky. Seznam se sám obnovuje. - + New DS — vytvoření nového datového zdroje rovnou z formuláře
(výběr instalačního modulu, admin login a heslo, volitelně testovací
data). Průběh (
ds-create→ds-upgrade→user-create→ příp. seed) se streamuje živě do stránky; po dokončení vede odkaz přímo do nového DS. - Logs — prohlížeč logu (
/opt/shipard/log/shipard.log) s filtrováním podle úrovně, datového zdroje a fulltextu, auto-refresh ve stylutail -fa rozbalitelný detail záznamu včetně exception trace. - Doctor — spustí
shpd-server doctora zobrazí report. - Upgrade All — spustí
shpd-server ds-upgrade-allna všech DS.
Dashboard je chráněný pouze kontrolou mode: development — počítá s tím,
že vývojový server běží v důvěryhodné síti. Oranžový banner
„DEVELOPMENT MODE" nahoře je připomínka, ať se prostředí neplete
s produkčním.
2. První zdroj dat
Zdroj dat je jedna firma — vlastní databáze a soubory. Založíš ho v dashboardu:
- Klikni na + New DS.
- Vyplň Name, Admin login a Admin password; jazyk, zemi a instalační modul můžeš nechat, jak jsou.
- Zaškrtni Seed test data — dostaneš ukázkové osoby a poštu.
- Create Data Source. Průběh se vypisuje do stránky; na konci je odkaz Open data source →.
- Přihlas se loginem a heslem z kroku 2.
Zdroj dat pak najdeš v seznamu na dashboardu pod tlačítkem Open.
3. Po git pull
Po každém stažení nové verze:
bash scripts/dev-update.sh
Skript vždy spustí composer install, npm install (ve frontend/)
a npm run build. Všechny kroky jsou idempotentní — pokud se nic
nezměnilo, projdou během pár sekund.
Pokud se měnily definice tabulek nebo cfgItems modulů, je potřeba zaktualizovat i datové zdroje:
shpd-server ds-upgrade-all
(Totéž lze spustit tlačítkem Upgrade All ve vývojářském dashboardu — viz oddíl 1.)
Automatizace přes git hooks (volitelné)
git config core.hooksPath .githooks
Stačí spustit jednou v repu. Kdo prostředí rozjel skriptem
dev-bootstrap.sh, má hooky zapnuté už od něj — dev-update.sh se po
git pull spustí sám.
4. Závislosti
composer.lock je verzovaný, composer install tak všude nainstaluje stejné
verze balíků. Závislost přidávej přes composer require <balík>, verzi měň
přes composer update <balík>; po ruční úpravě composer.json (např.
ext-*) přepočti lock příkazem composer update --lock. composer.json
a composer.lock patří vždy do stejného commitu.
5. Až budeš chtít posílat změny
Checkout z návodů je stažený přes HTTPS — funguje i bez SSH klíče na
GitHubu. Kdo bude pushovat, může klonovat rovnou přes SSH
(git@github.com:shipard/shipard.git) nebo si remote přepnout později
(git remote set-url origin …).
Jak práci poslat — fork, větev a pull request — popisuje
claude-code-intro.md
(kapitola 8).
6. Příkazy
Přehled všech příkazů shpd-server a shpd-ds i pomocných skriptů je
v cli.md. Po základním setupu nepotřebuješ sudo pro běžné
shipard operace.
7. Něco nefunguje?
Většinu potíží s rozchozením odhalí health check:
shpd-server doctor
Pokud hlásí problém s právy:
sudo shpd-server fix-permissions --dry-run # co by se změnilo
sudo shpd-server fix-permissions # oprav
fix-permissions se před opravou ptá na potvrzení. Ve skriptu nebo přes
vzdálený nástroj, kde není kdo by odpověděl, použij --dry-run, případně
--force.
Logy aplikace najdeš ve vývojářském dashboardu pod Logs
(/_dev/logs/) — s filtrováním podle úrovně a fulltextu — nebo přímo
v souboru /opt/shipard/log/shipard.log.
Když po git pull aplikace hlásí nesoulad schématu, „dojely" ti definice
tabulek — spusť shpd-server ds-upgrade-all (nebo Upgrade All
v dashboardu).
Stovky řádků Deprecation Notice od composeru na Ubuntu 24.04 jsou
neškodné — composer z balíčků je starší než PHP 8.5. Na 26.04 se neobjevují.
Pořád to nejde? Založ issue na
GitHubu s výstupem
shpd-server doctor a relevantními řádky z logu — díky tomu to
rozklíčujeme nejrychleji.
A když jde jen o rychlý dotaz, na který se nechce zakládat issue — „je tohle záměr, nebo bug?“, „jak se dělá X?“ — stav se na našem Discordu. Je nás tam málo, ale odpovídáme ochotně a rychle.