Revert "just testing, remember to revert"
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
# SOUL — 0012.de
|
||||
|
||||
> Diese Datei ist das Herzstück des Projekts: **wofür** der Webspace existiert und **wie** wir daran arbeiten.
|
||||
> Für Menschen, für zukünftige Agents, für Frank-in-6-Monaten-der-vergessen-hat-warum-0012-unabhängig-von-boka-läuft.
|
||||
|
||||
---
|
||||
|
||||
## Was dieses Projekt ist
|
||||
|
||||
**0012.de** ist kein zweiter vServer und keine Visitenkarte. Es ist ein **unabhängiger wint.global Classic-Webspace** (Plesk, PHP, FTP-Deploy) — bewusst **getrennt von `boka`** (Webtropia VPS), damit ein Ausfall des VPS nicht den letzten externen Beobachter mitnimmt.
|
||||
|
||||
**Tagline (Landing):** *Eine Website · kein Inhalt · keine Entschuldigung*
|
||||
|
||||
**Drei Rollen, klar getrennt:**
|
||||
|
||||
| Rolle | Wo | Zweck |
|
||||
|-------|-----|--------|
|
||||
| **Öffentliche Präsenz** | `/` (`public/index.php`) | Brutalistischer Baustellen-Platzhalter — Domain bleibt frei für späteres Eigenes |
|
||||
| **Externes Monitoring** | `monitor.php`, `/monitor/` | Pull-Checks (HTTPS/SSL) + Push von boka; Alarm per E-Mail |
|
||||
| **Mail-Infrastruktur** | Plesk | SMTP-Relay, Postfächer für Domains ohne eigenen Mailserver |
|
||||
|
||||
Root ist **kein** Status-Dashboard. Ops leben unter **`/monitor/`** (`noindex`) — nicht verlinkt von der Landing.
|
||||
|
||||
---
|
||||
|
||||
## Stimme & Ton
|
||||
|
||||
Zwei Gesichter, eine Domain — nicht vermischen.
|
||||
|
||||
### Landing (`/`)
|
||||
|
||||
- **Sprache:** Deutsch. Ironisches Fake-Corporate: „Was wir anbieten", Roadmap mit 3 %-Fortschrittsbalken, Pressestimmen aus dem Logfile.
|
||||
- **Anrede:** „Sie" — bewusst steif, als Gegenpol zu schwenk.online.
|
||||
- **Haltung:** Sarkasmus ohne Entschuldigung. Lieber eine scharfe Zeile als Marketing-Sprech.
|
||||
- **Tabu:** Keine IPs, Tokens, internen Hostnamen oder Ops-Details auf `/`.
|
||||
|
||||
### Status (`/monitor/`)
|
||||
|
||||
- **Sprache:** Englisch (Labels: `ok` / `warn` / `down`, „last push X min ago"). Sachlich, read-only, ohne Witz.
|
||||
- **Zielgruppe:** Frank beim Debuggen — nicht SEO, nicht Besucher-Magnet.
|
||||
|
||||
### Repo-Dokumentation (`README.md`, `MONITORING.md`, `todo/`)
|
||||
|
||||
- **Sprache:** Deutsch, direkt, ops-tauglich.
|
||||
- **Stil:** Tabellen und Checklisten statt Prosa-Wälzer.
|
||||
|
||||
**Werte (implizit):** Unabhängigkeit vor Bequemlichkeit. Wenig bewegen, was läuft. Secrets bleiben in `.env` — nie in Git, nie auf öffentlichen Seiten.
|
||||
|
||||
### Wording-Beispiele
|
||||
|
||||
| Kontext | Gut | Schlecht |
|
||||
|---------|-----|----------|
|
||||
| Landing — Status | „Status: unbelegt" | „Coming soon — exciting updates!" |
|
||||
| Landing — Datenschutz | „Wir sammeln nichts. Nicht aus Tugend — aus Inkompetenz." | „Ihre Daten sind uns wichtig." |
|
||||
| Monitor — leer | „Monitoring not initialized" | „Oops! Something went wrong 😢" |
|
||||
| Monitor — Heartbeat | „boka: last push 4 min ago · disk 62 %" | Interne IP oder Token-Hinweis |
|
||||
| Alarm-Mail | Konkret: welcher Target, seit wann, Link zu Docs | „Critical incident detected" ohne Kontext |
|
||||
|
||||
---
|
||||
|
||||
## Visuelle & technische DNA
|
||||
|
||||
| Element | Ja | Nö |
|
||||
|---------|----|----|
|
||||
| Dark brutalist, Monospace (`IBM Plex Mono`) | ✓ | |
|
||||
| Akzent `#c8ff00` (acid), Warnung `#ff2a2a`, Hintergrund `#0a0a0a` | ✓ | |
|
||||
| Inline CSS, **kein JS** für Landing/Monitor | ✓ | |
|
||||
| Mobile lesbar (Breakpoint ~520px) | ✓ | |
|
||||
| `noindex` auf Ops-Seiten | ✓ | |
|
||||
| Comic Sans | | ✓ (explizit — „never again") |
|
||||
| Bootstrap, Stock-Corporate, WordPress-Look | | ✓ |
|
||||
| Framework-Bloat (Laravel, React auf Root) | | ✓ |
|
||||
| Secrets/IPs auf öffentlichen Seiten | | ✓ |
|
||||
| Link von `/` nach `/monitor/` | | ✓ |
|
||||
|
||||
**Technik-Philosophie:** Plain PHP 8+, `declare(strict_types=1)`, shared hosting ohne Composer-Pflicht auf dem Server. Deploy per **`./scripts/deploy.sh`** (FTP → `httpdocs` + `private/config`). Konfiguration: lokal `.env`, auf dem Webspace `server.env` (via `sync-server-env.py`). Zwei Repos: **dieses** (Pull, Ingest, UI) + **`~/server` auf boka** (Push-Skript, Cron).
|
||||
|
||||
**Signature-Features (Teil der Identität):**
|
||||
- **Pull + Push-Monitoring** — Webspace sieht boka von außen; interne Metriken nur per Push
|
||||
- **Brutalistische Baustelle** auf `/` — ehrlicher Platzhalter statt Fake-Launch
|
||||
- **Domain-Inventar** in `DOMAINS.md` — langfristige Übersicht, nicht Runtime
|
||||
|
||||
---
|
||||
|
||||
## Zielgruppe
|
||||
|
||||
| Wer | Erwartung |
|
||||
|-----|-----------|
|
||||
| **Frank (Primär)** | Zuverlässige externe Checks, Mail-Relay, deploybare PHP ohne Drama |
|
||||
| **Zufällige Besucher auf `/`** | Kurzer Schmunzler oder Verwirrung — beides ok |
|
||||
| **Niemand auf `/monitor/`** | Seite ist Ops-Werkzeug, nicht Marketing (`noindex`) |
|
||||
|
||||
---
|
||||
|
||||
## Vision
|
||||
|
||||
0012.de existiert, damit **Infrastruktur einen unabhängigen Zeugen hat**: Wenn Traefik, Gitea oder der ganze VPS stirbt, kann der Webspace noch alarmieren — weil er woanders liegt.
|
||||
|
||||
Die Root-Domain bleibt **bewusst unbelegt** (Baustellen-Ästhetik), bis ein eigenes Projekt reif ist — Portfolio, Experiment, Kunst, Katalog, whatever. Bis dahin: Platzhalter mit Haltung, nicht leere 404.
|
||||
|
||||
Monitoring und Mail sind **Produktions-Infrastruktur**, keine Nebenbei-Spielerei. Änderungen an Targets (`config/targets.php`) nach Infra-Review deployen.
|
||||
|
||||
---
|
||||
|
||||
## Wie wir zusammenarbeiten
|
||||
|
||||
### Frank liefert, Agent bindet ein
|
||||
|
||||
Offene Arbeit in **`todo/`** (nummeriert, mit Priorität) — nicht nur im Kopf:
|
||||
|
||||
| Datei | Zweck |
|
||||
|-------|--------|
|
||||
| [`todo/README.md`](todo/README.md) | Übersicht, Reihenfolge, Abhängigkeiten |
|
||||
| [`NOTES.md`](NOTES.md) | Scratchpad, Session-Park |
|
||||
| [`SOUL.md`](SOUL.md) | Vision, Ton, Arbeitsweise |
|
||||
|
||||
**Regel:** Fokussierte Änderungen — kein Scope-Creep in `public/index.php`, wenn die Aufgabe Monitoring ist (und umgekehrt).
|
||||
|
||||
### Arbeitsmodus Agent
|
||||
|
||||
1. **Root vs. `/monitor/` trennen** — Landing-Ton nicht ins Ops-Dashboard schmieren.
|
||||
2. **Deploy-Pfad respektieren** — `public/` + `config/` + `server.env`; `.env` bleibt lokal.
|
||||
3. **Zwei Repos im Kopf** — Push-Logik auf boka (`todo/04`, `~/server`), PHP hier.
|
||||
4. **Keine Secrets** in Commits, Chat oder öffentlichem HTML.
|
||||
5. **Keine Commits**, unless Frank explizit will.
|
||||
6. **Plesk/Cron/Prod** — dokumentieren in `todo/`, nicht raten; Destruktives nur mit Freigabe.
|
||||
|
||||
### Prioritäten bei Konflikten
|
||||
|
||||
```
|
||||
Verfügbarkeit & Alarmierung > neue Website-Features
|
||||
Sicherheit (keine Leaks) > öffentliche Bequemlichkeit
|
||||
Einfaches PHP > Framework-Upgrade
|
||||
Docs aktuell > cleverer Code ohne README
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Anti-Manifest (Non-Goals)
|
||||
|
||||
- **Kein Ersatz für boka** — kein Docker, kein Traefik, kein App-Hosting auf 0012
|
||||
- **Kein schwenk.online-Klon** — andere Domain, andere Aufgabe (Visitenkarte vs. Webspace-Ops)
|
||||
- **Kein WordPress/CMS** auf Root — siehe [`SITE.md`](SITE.md)
|
||||
- **Kein Monitoring auf `/`** — Kacheln nur unter `/monitor/`
|
||||
- **Keine dunklen Muster** — kein Tracking, kein Engagement-Bait auf der Baustelle
|
||||
- **Kein Feature-Bloat** — lieber ein Check mehr in `targets.php` als ein Dashboard-Framework
|
||||
- **Kein „professionelles" Corporate-Deutsch** auf der Landing — der Witz ist das Feature
|
||||
- **Kein Comic Sans** — ausnahmslos
|
||||
|
||||
---
|
||||
|
||||
## Projekt-spezifische Regeln
|
||||
|
||||
- Öffentliche Seiten: **keine IPs, Tokens, `.env`-Inhalte** — auch nicht „nur kurz zum Testen"
|
||||
- `config/targets.php`: nach manuellem Infra-Review `_meta.last_reviewed_at` bumpen und deployen
|
||||
- Alarm-Schwellen und Plesk-Cron: in `MONITORING.md` / `todo/05` nachschlagen, nicht erfinden
|
||||
- Mail-Zugangsdaten nur in `.env` / Plesk — siehe [`HOSTING.md`](HOSTING.md), [`todo/02-email-smtp.md`](todo/02-email-smtp.md)
|
||||
|
||||
---
|
||||
|
||||
## Für Agents: Quick Start
|
||||
|
||||
1. [`SOUL.md`](SOUL.md) lesen (du bist hier)
|
||||
2. [`README.md`](README.md) — Rollen, Struktur, Schnellstart
|
||||
3. [`MONITORING.md`](MONITORING.md) — Architektur Pull/Push
|
||||
4. [`SITE.md`](SITE.md) — was auf `/` vs. `/monitor/` gehört
|
||||
5. Änderungen am **Landing-Ton** gegen SOUL abgleichen; Monitor bleibt sachlich-englisch
|
||||
6. Deploy: `.env` füllen → `python3 scripts/sync-server-env.py` → `./scripts/deploy.sh`
|
||||
7. Offene Arbeit: [`todo/README.md`](todo/README.md)
|
||||
|
||||
---
|
||||
|
||||
## Ein Satz zum Mitnehmen
|
||||
|
||||
**0012.de** ist der unabhängige Außenposten — brutalistische Leerfläche nach vorn, zuverlässiges Monitoring und Mail im Hintergrund, gebaut für den Tag, an dem boka nicht mehr antwortet.
|
||||
Reference in New Issue
Block a user