Files
Webklar/docs/DEPLOY-SERVER.md
Basilosaurusrex 305de38ff6 .env commit
2026-02-06 19:46:26 +01:00

35 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Deployment auf dem Server
## .env wird nicht mit Git übertragen
Die Datei **`.env`** steht in `.gitignore` und wird beim `git push` **nicht** mit ins Repository übernommen. Auf dem Server fehlen dadurch die Umgebungsvariablen für Appwrite die Meldung *"Appwrite ist nicht konfiguriert"* entsteht genau deshalb.
## Lösung: .env auf dem Server anlegen
**Im Repo mitgepusht:** `.env.example`, `scripts/setup-env.cjs`, und die Script-Einträge in `package.json` (`setup:env`, `deploy:server`). Die `.env` wird weiterhin **nicht** ins Git aufgenommen.
**Nach dem ersten Klonen oder nach jedem Pullen auf dem Server:**
**Option A ein Befehl (empfohlen):**
Legt `.env` aus `.env.example` an (falls noch nicht vorhanden) und baut die App:
```bash
npm run deploy:server
```
**Option B einzeln:**
Nur `.env` anlegen (überschreibt keine bestehende `.env`):
```bash
npm run setup:env
npm run build
```
**Option C mit deploy.sh / Container:**
Wenn auf dem Server ein `deploy.sh` und Docker/Compose genutzt werden: Nach `git pull` kann `deploy.sh` die `.env` aus `.env.example` erzeugen (falls fehlend) und vor jedem Build eine `.env.local` aus den Container-Umgebungsvariablen schreiben (z.B. alle `VITE_APPWRITE_*`). So kommt die Appwrite-Konfiguration zuverlässig ins Frontend-Build. Ein Neustart von Nginx ist in der Regel nicht nötig; der neue Build liegt in `/out` (oder dem konfigurierten Ausgabeordner).
**Option D manuell:**
`.env` selbst anlegen mit dem Inhalt von `.env.example` oder den Werten aus dieser Doku, danach `npm run build`.
**.env nicht committen** sie bleibt nur lokal bzw. auf dem Server und enthält projektspezifische Werte.