docs: vollständige Dokumentation (Dokploy-Deployment, Auto-Deploy, Troubleshooting, Architektur)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# ⚡ TECHNO-TODO
|
||||
|
||||
90s-Terminal/Cyberpunk-Style Todo-App. Bewusst als **Proof-of-Concept** gebaut, um den
|
||||
kompletten Selbsthosting-Workflow zu testen:
|
||||
|
||||
**Gitea (Git) → Dokploy (PaaS) → Docker Swarm → Traefik → Live im LAN**
|
||||
|
||||
## Tech-Stack
|
||||
|
||||
- **Runtime:** Node.js 22 (Alpine)
|
||||
- **Framework:** Express 4
|
||||
- **Datenbank:** SQLite via `better-sqlite3` (bewusst statt PostgreSQL — siehe unten)
|
||||
- **Templating:** EJS
|
||||
- **Style:** 90s CRT/Neon-Look (grüne Scanlines, pinker Glow, monospace)
|
||||
|
||||
## Warum SQLite statt PostgreSQL?
|
||||
|
||||
Die erste Version nutzte PostgreSQL über Dokploy's Datenbank-Provisioning. Dabei traten
|
||||
zwei Probleme auf:
|
||||
|
||||
1. **DB-Service wurde nie gestartet** — der `techno-db` Docker-Service existierte nicht,
|
||||
die App crashte mit `ECONNREFUSED` / `ENOTFOUND`.
|
||||
2. Der Dokploy-Deploy-Worker hatte zusätzlich einen **abgelaufenen API-Key** und die
|
||||
Services waren **out-of-sync** (manuell umbenannt).
|
||||
|
||||
Für den POC wurde daher auf SQLite umgestellt — **keine externe DB nötig**, die App ist
|
||||
in sich abgeschlossen. Für eine Produktiv-App mit echter Datenbank siehe
|
||||
[`docs/DEPLOYMENT.md`](docs/DEPLOYMENT.md).
|
||||
|
||||
## Schnellstart (lokal)
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm start
|
||||
# → http://localhost:3000
|
||||
```
|
||||
|
||||
## Schnellstart (Docker)
|
||||
|
||||
```bash
|
||||
docker build -t techno-todo .
|
||||
docker run -p 3000:3000 techno-todo
|
||||
```
|
||||
|
||||
## Dokumentation
|
||||
|
||||
| Datei | Inhalt |
|
||||
|-------|--------|
|
||||
| [`docs/DEPLOYMENT.md`](docs/DEPLOYMENT.md) | **Komplette Dokploy-Deployment-Anleitung** — nativer Weg (UI/API) + was tatsächlich gemacht wurde |
|
||||
| [`docs/AUTODEPLOY.md`](docs/AUTODEPLOY.md) | **Auto-Deploy-Pipeline** — Gitea-Push → automatischer Build + Deploy |
|
||||
| [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) | Alle Fehler, die beim POC aufgetreten sind, und ihre Lösungen |
|
||||
| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | Netzwerk-Topologie und Infrastruktur-Übersicht |
|
||||
|
||||
## Live-URL
|
||||
|
||||
```
|
||||
http://techno-todo.192.168.0.184.sslip.io/
|
||||
```
|
||||
|
||||
(Erreichbar aus dem Heimnetz `192.168.0.x`. Die öffentliche IP `152.53.197.186` routet
|
||||
aktuell nicht zu Dokploy — siehe `docs/ARCHITECTURE.md`.)
|
||||
Reference in New Issue
Block a user