Kostra prezentace s vlastní administrací pro Martina Reinera. Obsah: - kolekce Products (obrázky, volné parametry, cena, dostupnost, skrytí), Media se zmenšeninami, Pages, Users bez veřejné registrace - veřejná část: výpis nabídky, detail položky, statické stránky - /api/health pro Docker HEALTHCHECK Provoz: - Dockerfile, docker-compose.yml (vývoj) a docker-compose.prod.yml (nasazení z Gitea registry) - CI v Gitea Actions: lint -> testy -> build -> push image - úvodní migrace databáze Stránky jsou force-dynamic, aby se úprava položky projevila hned; schéma se za běhu nedomýšlí (push: false), migrace se commitují. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26 lines
1.1 KiB
Bash
26 lines
1.1 KiB
Bash
# Vzor konfigurace. Zkopíruj do `.env` a vyplň. `.env` NIKDY necommituj.
|
||
|
||
# Jméno Compose projektu – odlišuje produkci od stagingu (vlastní volumes).
|
||
PROJECT=reiner-zbrane
|
||
APP_PORT=3000
|
||
|
||
# Která verze image má běžet. Rollback = přepsat na starší SHA a `pull` + `up -d`.
|
||
IMAGE_TAG=latest
|
||
|
||
# SQLite soubor. V kontejneru leží ve volume /app/data, takže přežije redeploy.
|
||
DATABASE_URI=file:./data/reiner.db
|
||
|
||
# Klíč pro podpis session cookie – v produkci náhodný řetězec min. 32 znaků!
|
||
# Vygeneruj: openssl rand -base64 32
|
||
PAYLOAD_SECRET=zmen-me-na-nahodny-retezec
|
||
|
||
# Veřejná adresa webu – Payload z ní skládá odkazy na obrázky a admin.
|
||
# Zápisy z jiné adresy Payload odmítá (CSRF), takže tohle musí sedět s tím,
|
||
# co máš v prohlížeči v adresním řádku.
|
||
NEXT_PUBLIC_SERVER_URL=http://localhost:3000
|
||
|
||
# Další adresy, ze kterých smí admin zapisovat – oddělené čárkou.
|
||
# Nech prázdné, pokud web otevíráš jen přes adresu výše.
|
||
# Např. při přístupu z jiného stroje v LAN: CSRF_ORIGINS=http://10.0.0.110:3000
|
||
CSRF_ORIGINS=
|