7.9 KiB
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 |
Übersicht, Reihenfolge, Abhängigkeiten |
NOTES.md |
Scratchpad, Session-Park |
SOUL.md |
Vision, Ton, Arbeitsweise |
Regel: Fokussierte Änderungen — kein Scope-Creep in public/index.php, wenn die Aufgabe Monitoring ist (und umgekehrt).
Arbeitsmodus Agent
- Root vs.
/monitor/trennen — Landing-Ton nicht ins Ops-Dashboard schmieren. - Deploy-Pfad respektieren —
public/+config/+server.env;.envbleibt lokal. - Zwei Repos im Kopf — Push-Logik auf boka (
todo/04,~/server), PHP hier. - Keine Secrets in Commits, Chat oder öffentlichem HTML.
- Keine Commits, unless Frank explizit will.
- 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 - 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.phpals 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_atbumpen und deployen- Alarm-Schwellen und Plesk-Cron: in
MONITORING.md/todo/05nachschlagen, nicht erfinden - Mail-Zugangsdaten nur in
.env/ Plesk — sieheHOSTING.md,todo/02-email-smtp.md
Für Agents: Quick Start
SOUL.mdlesen (du bist hier)README.md— Rollen, Struktur, SchnellstartMONITORING.md— Architektur Pull/PushSITE.md— was auf/vs./monitor/gehört- Änderungen am Landing-Ton gegen SOUL abgleichen; Monitor bleibt sachlich-englisch
- Deploy:
.envfüllen →python3 scripts/sync-server-env.py→./scripts/deploy.sh - Offene Arbeit:
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.