Files
0012/README.md
T
Frank Schwenk 85ab829805 feat: add monitoring dashboard under /monitor/
Status page and JSON API read from private/data; root index.php stays a placeholder. Mark todo 06 done.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 15:22:00 +02:00

78 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
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.
# 0012.de — Webspace-Projekt
Repository für den **wint.global Classic 1.0** Webspace (`0012.de`): Deployment, Betrieb und Dokumentation.
Dieser Webspace ist bewusst **unabhängig vom vServer `boka`** (Webtropia Cloud VPS, `89.163.231.180`) aufgesetzt. Er dient als externer Beobachter, Mail-Relay und leichtgewichtiger Begleiter — nicht als Ersatz für den VPS.
## Rollen
| Rolle | Beschreibung |
|-------|--------------|
| **Externes Monitoring** | Cron-gestützte PHP-Checks auf Erreichbarkeit, SSL und (später) Push-Metriken von boka |
| **Alarmierung** | E-Mail (und optional Telegram) bei Ausfällen — vom Webspace aus, ohne Zugang zu boka |
| **SMTP-Relay** | Prozesse auf boka und anderswo können über den Plesk-Mailserver von 0012.de senden |
| **Mail-Hosting** | Postfächer für Domains, die noch keinen eigenen Mailserver haben |
| **Öffentliche Präsenz** | Baustellen-Platzhalter auf `/`; Status-Dashboard unter `/monitor/` |
## Hosting
- **Paket:** Classic 1.0 / 15 GB, Traffic unlimitiert ([Produktseite](https://wint.global/linux-hosting-pakete-plesk/))
- **Domain:** `0012.de`
- **Panel:** Plesk auf `ha01s019.org-dns.com`
- **Details:** [`HOSTING.md`](HOSTING.md), Plesk-Notizen: [`PLESK.md`](PLESK.md)
Zugangsdaten gehören in `.env` (Vorlage: [`.env.example`](.env.example)). **Niemals committen.**
## Monitoring
Architektur und Prioritäten: [`MONITORING.md`](MONITORING.md)
Kurzfassung:
- **Pull:** PHP-Cron auf 0012.de prüft HTTPS/SSL/TCP von außen (alle 5–15 Min)
- **Push:** Cron auf boka postet JSON an `ingest.php` (Disk, RAM, Container, Backup-Heartbeat)
## vServer boka (Gegenstück)
| | |
|---|---|
| Anbieter | Webtropia Cloud VPS S Linux NVMe |
| IP | `89.163.231.180` |
| Hostname | `boka` |
| Dienste | Traefik, Gitea, Immich, viele `*.schwenk.online`-Apps, u. a. |
Der Webspace sieht boka **von außen** — interne Metriken brauchen das Push-Skript auf boka.
## Projektstruktur (Ziel)
```
0012/
├── README.md
├── HOSTING.md
├── MONITORING.md
├── SITE.md # Konzept Landing Page
├── .env.example
├── public/ # Document Root (FTP → httpdocs)
│ ├── index.php # Baustellen-Platzhalter (spätere Website)
│ ├── monitor/ # Status-Dashboard + JSON-API
│ ├── monitor.php # Cron: Pull-Checks
│ └── ingest.php # Empfang Push von boka
├── config/ # PHP-Konfiguration → deploy nach private/config/
├── scripts/
│ ├── deploy.sh # FTP-Deploy (ruft deploy.py auf)
│ └── deploy.py
└── todo/ # Aufgabenliste
```
## Aufgaben
Offene Arbeiten: [`todo/README.md`](todo/README.md)
## Schnellstart (wenn eingerichtet)
1. `.env.example` → `.env` kopieren und ausfüllen (lokal, FTP)
2. `python3 scripts/sync-server-env.py` → erzeugt `server.env` für den Webspace
3. `./scripts/deploy.sh` — spielt `public/` + `config/` + `server.env` hoch (**.env bleibt lokal**)
4. In Plesk: geplante Aufgabe für `monitor.php` (Cron-Stil, `*/10 * * * *`) — erledigt; Details [`todo/05-plesk-cron.md`](todo/05-plesk-cron.md)
5. Auf boka: Push-Skript + Crontab — erledigt via SSH (`frank@frank-schwenk.de`, Repo `~/server`); Details [`todo/04-monitoring-push-boka.md`](todo/04-monitoring-push-boka.md)