Docker-Setup: App-Image (standalone), PostgreSQL-Dienst mit Auto-Import, Dev-Profil
This commit is contained in:
@@ -38,14 +38,24 @@ scripts/ Hilfsskripte (DB-Migration, lokaler Sync)
|
||||
|
||||
## Entwicklung
|
||||
|
||||
Voraussetzung in beiden Varianten: `.env.local` mit den Werten aus
|
||||
`.env.example` (liegt lokal bereits vor und ist per `.gitignore` vom
|
||||
Repo ausgeschlossen).
|
||||
|
||||
**Variante A – Docker (nichts vorinstallieren außer Docker):**
|
||||
|
||||
```bash
|
||||
docker compose --env-file .env.local --profile dev up dev
|
||||
# http://localhost:3000 (Hot-Reload, Quellcode wird gemountet)
|
||||
```
|
||||
|
||||
**Variante B – lokal installiertes Node.js:**
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev # http://localhost:3000
|
||||
```
|
||||
|
||||
Voraussetzung: `.env.local` mit den Werten aus `.env.example`
|
||||
(liegt lokal bereits vor und ist per `.gitignore` vom Repo ausgeschlossen).
|
||||
|
||||
## Umgebungsvariablen (Live-Betrieb)
|
||||
|
||||
Beim Webserver/Hoster müssen genau diese drei Variablen hinterlegt werden
|
||||
@@ -57,7 +67,16 @@ Beim Webserver/Hoster müssen genau diese drei Variablen hinterlegt werden
|
||||
| `NEXT_PUBLIC_SUPABASE_ANON_KEY` | Öffentlicher anon-Key (RLS schützt die Daten) | nein |
|
||||
| `SUPABASE_SERVICE_ROLE_KEY` | Service-Role-Key für die Benutzerverwaltung | **ja – niemals im Browser/Repo!** |
|
||||
|
||||
Build & Start auf dem Server:
|
||||
Build & Start auf dem Server – **mit Docker** (empfohlen, Node.js und
|
||||
PostgreSQL müssen nicht installiert sein):
|
||||
|
||||
```bash
|
||||
docker compose --env-file .env.local up -d --build
|
||||
# App: Port 3000 (hinter Reverse-Proxy mit HTTPS betreiben)
|
||||
# Lokale DB-Kopie: Port 5432 (Dienst "db", optional)
|
||||
```
|
||||
|
||||
Oder klassisch ohne Docker:
|
||||
|
||||
```bash
|
||||
npm ci
|
||||
@@ -97,9 +116,15 @@ Sicherheitsmodell (Row Level Security):
|
||||
|
||||
### Lokale PostgreSQL-Kopie
|
||||
|
||||
Auf dem Entwicklungsrechner läuft PostgreSQL 17 mit der Datenbank
|
||||
`speisekarte` (Kopie von Schema + Daten aus Supabase, inkl. Minimal-Stubs
|
||||
für `auth`/`storage`). Neu aufbauen bzw. aktualisieren:
|
||||
Die Datenbank `speisekarte` (Kopie von Schema + Daten aus Supabase, inkl.
|
||||
Minimal-Stubs für `auth`/`storage`) gibt es in zwei Varianten:
|
||||
|
||||
**Per Docker:** Der Dienst `db` aus `docker-compose.yml` spielt die
|
||||
Skripte aus `supabase/local/` beim ersten Start automatisch ein
|
||||
(PostgreSQL 17, Port 5432, Passwort über `LOCAL_PG_PASSWORD`).
|
||||
|
||||
**Nativ:** Auf dem Entwicklungsrechner läuft PostgreSQL 17 mit derselben
|
||||
Datenbank. Neu aufbauen bzw. aktualisieren:
|
||||
|
||||
```powershell
|
||||
$env:SUPABASE_DB_PASSWORD = "<Supabase-DB-Passwort>"
|
||||
|
||||
Reference in New Issue
Block a user