Scaffold webu na Payload CMS 3 + Next.js nad SQLite
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:
@@ -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:
|
||||
Reference in New Issue
Block a user