Scaffold webu na Payload CMS 3 + Next.js nad SQLite
CI / test (push) Failing after 1m42s
CI / build-and-push (push) Has been skipped

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>
This commit is contained in:
2026-07-30 13:13:23 +02:00
co-authored by Claude Opus 5
parent fedccbee93
commit c8e435139e
49 changed files with 13152 additions and 49 deletions
+24
View File
@@ -0,0 +1,24 @@
# Produkční nasazení: image se STAHUJE z Gitea registry (nestaví se lokálně).
# Server nepotřebuje zdrojové kódy stačí tento soubor a .env.
#
# Na serveru (jednorázově): docker login gitea.doubynet.eu
# Nasazení / aktualizace:
# docker compose -f docker-compose.prod.yml pull
# docker compose -f docker-compose.prod.yml up -d
name: ${PROJECT:-reiner-zbrane}
services:
app:
image: gitea.doubynet.eu/honza/zbrane-reiner-web:${IMAGE_TAG:-latest}
ports:
# Pokud Caddy běží na tomtéž stroji, předsaď 127.0.0.1: a nic není venku.
- "${APP_PORT:-3000}:3000"
env_file: .env
volumes:
- data:/app/data # databázový soubor
- media:/app/media # nahrané obrázky přežijí redeploy
restart: unless-stopped
volumes:
data:
media: