merge: remote STATE-Updates integriert, fuenfvoracht-Sprint behalten

Made-with: Cursor
This commit is contained in:
root 2026-02-26 22:12:27 +07:00
parent a9ef7739be
commit cbe681b0c4
6 changed files with 279 additions and 252 deletions

View file

@ -6,9 +6,12 @@
| Aufgabe betrifft... | Lade diese Datei |
|-----------------------------------|------------------------------|
| WordPress / RSS / Arakava News | arakava-news/STATE.md |
| Redakteur / WordPress KI-Autor | redakteur/STATE.md |
| Flugpreisscanner / Selenium | flugpreisscanner/STATE.md |
| Gold / Silber / Edelmetall-Bot | edelmetall/STATE.md |
| Smart Home / ioBroker / Grafana | smart-home/STATE.md |
| ESP32 / Display / Heizung | esp32/PLAN.md |
| FünfVorAcht / Telegram KI-Poster | fuenfvoracht/STATE.md |
| Server / Container / Proxmox | infrastructure/STATE.md |
| Telegram Bots allgemein | infrastructure/STATE.md |
| Alle Projekte / Übersicht | MASTER_INDEX.md |

View file

@ -1,122 +1,50 @@
# Homelab Master Index
> Eine Seite — alles drauf. Für Details: gezielt die STATE.md des Projekts laden.
> Letztes Update: Februar 2026
> Einmalig lesen für Übersicht. Danach gezielt die STATE.md des betroffenen Projekts laden.
> Gesamtvision: [VISION.md](VISION.md)
---
## Projekte
## Server-Infrastruktur
| Projekt | Repo / Pfad | STATE.md | Code |
|---|---|---|---|
| **Arakava News** (WordPress + RSS + KI) | Orbitalo/Wordpress-V3-MCP-Projekt | arakava-news/STATE.md | arakava-news/src/ |
| **Edelmetall Dashboard** (Gold/Silber) | — (in diesem Repo) | edelmetall/STATE.md | edelmetall/src/ |
| **Smart Home Muldenstein** (ioBroker, Grafana) | — (in diesem Repo) | smart-home/STATE.md | smart-home/scripts/ |
| **ESP32 Projekte** (Heizung, Sensor) | — (in diesem Repo) | esp32/PLAN.md | — |
| **FünfVorAcht** (Telegram KI-Poster) | — (in diesem Repo) | fuenfvoracht/STATE.md | fuenfvoracht/src/ |
| **Redakteur** (WordPress KI-Autor) | git.orbitalo.net/orbitalo/redakteur | redakteur/STATE.md | redakteur/src/ |
| **Flugpreisscanner** (FRA→PNH, Selenium, KI) | git.orbitalo.net/orbitalo/flugpreisscanner | flugpreisscanner/STATE.md | flugpreisscanner/src/ |
| **Infrastruktur** (alle Server + CTs) | — (in diesem Repo) | infrastructure/STATE.md | — |
| Server | Standort | IP / SSH | Passwort | Funktion |
|--------|----------|----------|----------|----------|
| **pve-hetzner** | Hetzner DE | `ssh root@100.88.230.59` | Astral-Proxmox!2026 | Hauptserver, alle Dienste |
| **pbs** | Hetzner DE | `ssh root@159.69.37.185` | astral66 | Traefik/Pangolin Eintrittspunkt für *.orbitalo.net |
| **pve1** | Kambodscha | `ssh root@192.168.0.197` | astral66 | Heimserver, homelab-brain Clone |
| **pve3** | Muldenstein DE | `100.109.101.12` | astral66 | Smart Home (ioBroker, Grafana) |
## Server
> **Wichtig:** DNS für `*.orbitalo.net` zeigt auf `159.69.37.185` (PBS).
> Traefik-Config: `/opt/config/traefik/dynamic_config.yml` auf PBS.
| Server | Standort | Tailscale IP | Funktion |
|---|---|---|---|
| pve-hetzner | Deutschland | 100.88.230.59 | Hauptserver (CT 100-110, 144, 999) |
| pve1 | Kambodscha | 192.168.0.197 (lokal) / 100.122.56.60 (TS) | Heimserver (CT 136, 888, 999-Mirror) |
| pve3 | Muldenstein, DE | 100.109.101.12 | Smart Home (CT 143, 134) |
---
## Wichtigste Zugangsdaten
## Container-Übersicht (pve-hetzner)
| CT | Name | Funktion | Interne IP | Tailscale IP |
|-----|-------------------|-----------------------------------|----------------|-------------------|
| 100 | traefik | Traefik + Pangolin + Gerbil | 10.10.10.100 | — |
| 101 | wordpress-v2 | WordPress (alt) | 10.10.10.101 | — |
| 103 | seafile | Seafile Fileserver | 10.10.10.103 | 100.114.178.113 |
| 104 | n8n | n8n Workflow Automation | 10.10.10.104 | — |
| 106 | wordpress-news | WordPress Arakava News (v3) | 10.10.10.106 | — |
| 109 | rss-manager | RSS Manager + Research Dashboard | 10.10.10.109 | 100.113.244.101 |
| 110 | portainer | Portainer Docker-Management | 10.10.10.110 | — |
| 111 | forgejo | Forgejo Git-Server | 10.10.10.111 | 100.89.246.60 |
| 144 | muldenstein-backup| Backup CT | 10.10.10.144 | — |
| 999 | cluster-docu | Cluster-Dokumentation | — | — |
---
## Öffentliche URLs
| URL | Dienst | CT |
|-----|--------|----|
| `https://arakava-news.orbitalo.net` | WordPress News (öffentlich) | 106 |
| `https://research.orbitalo.net` | Research Dashboard (privat, PW: astral66) | 109 |
| `https://git.orbitalo.net` | Forgejo Git-Server | 111 |
| `https://seafile.orbitalo.net` | Seafile | 103 |
| `https://pangolin.orbitalo.info` | Pangolin VPN Dashboard | PBS |
| `https://status.orbitalo.net` | Uptime Kuma | PBS |
| `https://traefik.orbitalo.net` | Traefik Dashboard | PBS |
---
## Projekte & Dokumentation
| Projekt | Zweck | Docs laden |
|---------|-------|------------|
| **Arakava News V3** | WordPress + RSS + KI-Recherche | `arakava-news/STATE.md` + `arakava-news/ROADMAP.md` |
| **Edelmetall Dashboard** | Gold/Silber Preis-Monitor | `edelmetall/STATE.md` |
| **Smart Home Muldenstein** | ioBroker, Grafana, Sensoren | `smart-home/STATE.md` |
| **ESP32 Projekte** | Heizung, Display, Sensoren | `esp32/PLAN.md` |
| **Infrastruktur** | Alle Server + CTs + Netzwerk | `infrastructure/STATE.md` |
### Arakava News V3 — Ausbaustufen (Kurzübersicht)
```
✅ Stufe 1: Research Dashboard live (research.orbitalo.net)
🔲 Stufe 2: Volltext-Suche & RAG (Artikel-Inhalte in DB)
🔲 Stufe 3: Aktive Recherche-Aufträge
🔲 Stufe 4: Persönlicher Assistent / "Moltbot V2"
🔲 Stufe 5: Public/Private Publishing-Workflow
```
Details: `arakava-news/ROADMAP.md`
---
## Zugangsdaten
| System | URL / Zugang | Login |
|--------|-------------|-------|
| pve-hetzner Web | `https://138.201.84.95:8006` | root / Astral-Proxmox!2026 |
| pve1 Web | `https://192.168.0.197:8006` | root / astral66 |
| WordPress Admin | `https://arakava-news.orbitalo.net/wp-admin` | admin / eJIyhW0p5PFacjvvKGufKeXS |
| Research Dashboard | `https://research.orbitalo.net` | astral66 |
| Forgejo | `https://git.orbitalo.net` | orbitalo / astral66 |
| Seafile | `https://seafile.orbitalo.net` | admin@orbitalo.net / astral66 |
| n8n | intern CT 104 | wuttig@gmx.de / Astral66 |
| Portainer | intern CT 110 | — |
| Grafana | pve3 | admin / astral66 |
| OpenRouter | `https://openrouter.ai` | (API Key in CT 109 .env) |
---
## Git-Repos
| Repo | Forgejo (primär) | GitHub (Spiegel) |
|------|-----------------|------------------|
| homelab-brain | `git.orbitalo.net/orbitalo/homelab-brain` | github.com/Orbitalo/homelab-brain |
| Wordpress-V3 | `git.orbitalo.net/orbitalo/Wordpress-V3-MCP-Projekt` | github.com/Orbitalo/Wordpress-V3-MCP-Projekt |
---
| System | Login |
|---|---|
| pve-hetzner SSH | root / Astral-Proxmox!2026 |
| pve1 SSH | root / astral66 |
| Alle lokalen CTs | root / astral66 |
| WordPress Admin | admin / astral66 |
| Seafile | admin@orbitalo.net / astral66 |
| n8n | wuttig@gmx.de / Astral66 |
| Dify | admin@orbitalo.net / astral66 |
| Grafana | admin / astral66 |
## Telegram Bots
| Bot | Token | Chat-ID | Einsatz |
|-----|-------|---------|---------|
| Arakava / Alerts | `8551565940:AAHIUpZND-tCNGv9yEoNPRyPt4GxEPYBJdE` | 674951792 | RSS Alerts, WP Kommentare |
| DifyRagBot | `8390483455:AAEUyRWkvESSGQBtvjzAIQ5UKqmpoMTQZ00` | 674951792 | Dify / Grafana |
---
| Bot | Token | Chat-ID | Projekt |
|---|---|---|---|
| @MutterbotAI_bot | (in infrastructure/STATE.md) | 674951792 | Moltbot allgemein |
| @DifyRagBot | 8390483455:AAEUyRWkvESSGQBtvjzAIQ5UKqmpoMTQZ00 | 674951792 | Dify RAG / Grafana Alerts |
| Arakava Comments | 8551565940:AAHIUpZND-tCNGv9yEoNPRyPt4GxEPYBJdE | 674951792 | WordPress Kommentare |
| Edelmetall Bot | 8262992299:AAEf8YHPsz42ZdP85DV7JqC4822Ts75GqF4 | 674951792 | Gold/Silber Preise (CT 136) |
## Auto-Sync
- `sync-state.sh` läuft alle **15 Minuten** auf pve-hetzner (`/opt/homelab-brain/scripts/`)
- Pusht zu Forgejo: `git.orbitalo.net/orbitalo/homelab-brain`
- pve1 pullt automatisch alle 15 Minuten von Forgejo
- Log: `/var/log/homelab-sync.log` auf pve-hetzner
---
## Cluster-Dokumentation (CT 999)
```bash
ssh root@192.168.0.197 # pve1 Kambodscha
pct exec 999 -- cat /root/.cursorrules
```
Die STATE.md Dateien werden täglich um 03:00 Uhr automatisch aktualisiert.
Script: `scripts/sync-state.sh` läuft als Cron-Job auf pve-hetzner.

View file

@ -1,72 +1,130 @@
# Arakava News — Live State
> Auto-generiert: 2026-02-26 16:00
# STATE: Arakava News
**Stand: 24.02.2026**
## Service Status
| Service | CT | Status |
|---|---|---|
| rss-manager | 109 | active |
| WordPress Docker | 101 | running |
---
## Letzte Feed-Aktivität (Top 5)
Antispiegel: 2026-02-26 14:30:12
PAZ: 2026-02-26 14:30:09
Heise Online: 2026-02-26 14:13:12
Rubikon.news: 2026-02-26 14:13:05
Junge Freiheit: 2026-02-26 14:00:08
## Aktiver Zustand
## Fehler (letzte 24h)
- Fehler gesamt: 0
0
- Letzter Fehler:
### Container-Landschaft (nach Bereinigung)
## OpenRouter Guthaben
$12.20 verbleibend
| CT | Dienst | Status | Tailscale |
|----|--------|--------|-----------|
| 101 | WordPress + MySQL (Docker) | ✅ Läuft | 100.91.212.19 |
| 109 | RSS Manager + Matomo | ✅ Läuft | 100.113.244.101 |
## URLs
- Blog: https://arakava-news-2.orbitalo.net
- Admin: https://arakava-news-2.orbitalo.net/wp-admin (admin / eJIyhW0p5PFacjvvKGufKeXS)
- RSS Manager: http://100.113.244.101:8080 (admin / astral66)
- Matomo: https://matomo.orbitalo.net (admin / astral66)
**Gelöscht (24.02.2026):** CT 100 (Traefik), CT 102 (Dify), CT 104 (n8n), CT 105, CT 106, CT 113 (Matomo alt)
## Container
| CT | Dienst | Tailscale |
|---|---|---|
| 101 | WordPress + MySQL (Docker) | 100.91.212.19 |
| 109 | RSS Manager + Matomo | 100.113.244.101 |
### URLs
## Aktive Feeds (17)
| ID | Name | Schedule |
|---|---|---|
| 1 | Dr. Bines Substack | 08/14/20 Uhr |
| 3 | NachDenkSeiten | 07/13/19 Uhr |
| 4 | Tichys Einblick | 07:30/13:30/19:30 |
| 5 | Junge Freiheit | 08/14/20 Uhr |
| 6 | PAZ | 08:30/14:30/20:30 |
| 7 | Apollo News | 09/15/21 Uhr |
| 8 | Apolut | 09:30/15:30/21:30 |
| 9 | Achgut.com | 10/16/22 Uhr |
| 10 | Heise Security | alle 4h |
| 11 | Golem.de | alle 2h |
| 12 | Heise Online | alle 3h |
| 13 | Rubikon.news | alle 3h |
| 14 | Corona-Transition | alle 4h |
| 15 | Photon.info (KI-Analyse) | alle 6h |
| 16 | Antispiegel | 08:30/14:30/20:30 |
| 17 | Riehle News | 09:00 Uhr |
| Dienst | URL |
|--------|-----|
| Blog | https://arakava-news-2.orbitalo.net |
| Admin | https://arakava-news-2.orbitalo.net/wp-admin |
| RSS Manager | http://100.113.244.101:8080 |
| Matomo | https://matomo.orbitalo.net |
## Code (CT 109: /opt/rss-manager/)
poster.py, scheduler.py, app.py, db.py
---
## WP-Cron Konfiguration
- DISABLE_WP_CRON = true in wp-config.php (Race Conditions behoben)
- System-Cron: */5 * * * * curl -sk https://arakava-news-2.orbitalo.net/wp-cron.php?doing_wp_cron
- WordPress + Blocksy auf Deutsch (de_DE)
## CT 101 — WordPress
## Änderungshistorie
- 24.02.2026: Scheduler Lock gegen Doppelstarts
- 24.02.2026: Telegram auf HTML-Modus (Sonderzeichen-Fix)
- 24.02.2026: Werbeartikel-Blacklist (Anzeige:, Sponsored, etc.)
- 24.02.2026: DISABLE_WP_CRON + System-Cron (Race Condition Fix)
- 24.02.2026: WordPress auf Deutsch (de_DE), Blocksy Theme DE
- 23.02.2026: Matomo von CT 113 → CT 109 migriert
- 23.02.2026: CT 100/102/104/105/106/113 gelöscht
**Stack:** Docker (wordpress-app + wordpress-mysql)
**Compose:** /opt/wordpress/docker-compose.yml
### Plugins
| Plugin | Pfad | Funktion |
|--------|------|---------|
| arakava-counter | /wp-content/plugins/arakava-counter/ | Besucherzähler, Bot-gefiltert |
| blocksy | /wp-content/plugins/blocksy-companion/ | Theme |
| matomo-tracking.php | /wp-content/mu-plugins/ | Async Matomo JS |
| breaking-news-ticker.php | /wp-content/mu-plugins/ | News Ticker Shortcode |
### Bot-Filter (arakava-counter.php)
- User-Agent < 10 Zeichen ignoriert
- Regex für ~20 Bot-Typen (bot, crawl, spider, curl, python, selenium, etc.)
- IP-Ausschluss: `103.101.*` (eigene dynamische IP)
- Kein Tracking für eingeloggte WordPress-Benutzer
### Matomo-Tracking
- **Eingeloggte User:** KEIN Tracking (via `is_user_logged_in()` Check)
- **Konfiguration:** Matomo auf CT 109:80, Site-ID 1
### Design-Anpassungen
- Header: Dunkel (`#0f172a`) via Blocksy Custom CSS
- Homepage: Breaking News Ticker ([breaking_news] Shortcode)
- Neue Kategorie "Eigenversorgung & Optimierung" mit mehreren Unterkategorien
---
## CT 109 — RSS Manager
**Stack:** Python/Flask + APScheduler
**Pfad:** /opt/rss-manager/
### Scheduler-Features (Stand 24.02.2026)
- **Startup-Recovery:** Übersprungene Feeds werden beim Start sofort nachgeholt
- **Feed-Lock:** `threading.Lock` pro Feed verhindert Doppelstarts
- Alle Locks über `_feed_locks_mutex` (Thread-sicher)
### Telegram-Integration
- **Bot:** Mutter (@MutterbotAI_bot)
- **Parse-Mode:** HTML (nicht Markdown — Sonderzeichen-Bug behoben 24.02.2026)
- Logging für erfolgreiche Sends und API-Fehler
### Keyword-Filter (Blacklist)
Aktiv für alle Feeds:
- `Anzeige:`
- `Sponsored`
- `Werbung`
- `PR:`
### Matomo (auf CT 109)
- Migriert von CT 113 → CT 109 (23.02.2026)
- Apache2 + PHP-FPM + MariaDB
- Cloudflare Tunnel: matomo.orbitalo.net
- Admin: admin / astral66
- Eigene Besuche ausgeschlossen (Matomo-Einstellung)
---
## Routing
**Cloudflare Tunnel auf CT 101:**
- arakava-news-2.orbitalo.net → localhost:80
**Cloudflare Tunnel auf CT 109:**
- matomo.orbitalo.net → localhost:80
**Kein Traefik, kein PBS-Gateway mehr.**
---
## CT 101 — WP-Cron Konfiguration
- `DISABLE_WP_CRON = true` in wp-config.php (Race Conditions bei hohem Traffic behoben)
- Echter System-Cron in CT 101: `*/5 * * * * curl -sk https://arakava-news-2.orbitalo.net/wp-cron.php?doing_wp_cron`
- WordPress auf Deutsch (de_DE) umgestellt, inkl. Blocksy Theme
## Gesundheitswerte (24.02.2026)
| Metrik | Wert |
|--------|------|
| Response Zeit | 0,18s |
| RAM WordPress | 257 MB / 2 GB |
| RAM MySQL | 443 MB / 2 GB |
| Disk | 3,8 GB / 20 GB (21%) |
---
## Bekannte Offene Punkte
- Keine bekannten kritischen Probleme
- Scheduler läuft stabil seit 24.02.2026 05:00 Uhr
- WP-Cron Race Condition behoben (24.02.2026)

View file

@ -1,68 +1,109 @@
# Edelmetall Dashboard — Live State
> Auto-generiert täglich 03:00. Manueller Abschnitt am Ende.
> Zuletzt aktualisiert: 24.02.2026
## Services
| Service | Container | URL | Status |
|---|---|---|---|
| Dashboard Kambodscha | CT 135, pve1 | http://192.168.0.219:8501 | auto-aktualisiert |
| Dashboard Deutschland | CT 134, pve3 | https://blei.orbitalo.info | auto-aktualisiert |
| **Dashboard V3** | CT 136, pve1 (Kambodscha) | https://blei.orbitalo.info | ✅ Aktiv |
| Dashboard V3 Tailscale | CT 136, pve1 | http://100.72.230.87:8501 | ✅ Aktiv |
| **Telegram Bot** | CT 136, pve1 | — | ✅ Aktiv |
| CT 135 (V2) | pve1 | — | ⛔ Gestoppt 2026-02-23 |
## Zugang
```bash
# Dashboard Kambodscha starten/stoppen
pct exec 135 -- pkill -f streamlit
pct exec 135 -- bash -c "cd /root/edelmetall && source venv/bin/activate && nohup streamlit run dashboard/app.py --server.port 8501 --server.address 0.0.0.0 &"
ssh root@100.122.56.60 # pve1 Kambodscha (Tailscale)
pct exec 136 -- bash
# Dashboard Deutschland (pve3)
ssh root@100.122.163.2 "pct exec 134 -- ..."
systemctl status edelmetall-dashboard # Streamlit
systemctl status edelmetall-telegram # Telegram Bot
systemctl status cloudflared # Tunnel
# Logs
pct exec 136 -- tail -f /opt/edelmetall/logs/scraper.log
pct exec 136 -- journalctl -u edelmetall-telegram -f
# Scraper manuell
pct exec 136 -- bash -c "source /opt/edelmetall/venv/bin/activate && python3 /opt/edelmetall/scrape.py"
```
## Code-Struktur (CT 135: /root/edelmetall/)
## Code-Struktur (CT 136: /opt/edelmetall/)
```
dashboard/app.py — Haupt-Dashboard (Streamlit)
dashboard/validation.py — Preis-Validierung
bot.py — Telegram Bot
spot_api.py — Spot-Preis API
venv/ — Python venv
core/
db.py DB-Verbindung + Schema
prices.py Spot + Händler, COALESCE(buy_price, sell_price)
portfolio.py Portfolio-Berechnung (Krügerrand-Ankaufspreis)
scrapers/
proaurum.py Selenium — CSS Modules [class*='product-root'] (gefixt 2026-02-24)
degussa.py requests Fallback
dashboard/
app.py, tab_*.py Streamlit Dashboard
bot.py Telegram Bot V3
scrape.py Haupt-Scraper (PA → Degussa Fallback bei 0 Ergebnissen)
fetch_spot.py Spot-Preis alle 30min
data/edelmetall.db SQLite
```
## Dashboard-Tabs
## Cron-Jobs (CT 136)
| Tab | Funktion |
```
*/30 * * * * python3 /opt/edelmetall/fetch_spot.py
0 7 * * * python3 /opt/edelmetall/scrape.py
0 13 * * * python3 /opt/edelmetall/scrape.py
0 21 * * * python3 /opt/edelmetall/scrape.py
```
## Telegram Bot
| Info | Wert |
|---|---|
| 📈 Preise | Gold/Silber Live-Preise |
| ⚖️ Ratio | Gold/Silber Ratio + Regime-Analyse |
| 📊 Strategie | **Allocation Signal Indikator** |
| 📊 Spreads | Händler-Spreads |
| 💎 Portfolio | Persönliches Portfolio |
| 🌍 Makro Liquidität | Makro-Analyse |
| 🔧 Scraper | Scraper Status |
| Token | 8262992299:AAEf8YHPsz42ZdP85DV7JqC4822Ts75GqF4 |
| Service | edelmetall-telegram.service |
| Befehle | /start /portfolio /preise /ratio /status |
## Allocation Signal Logik
## Portfolio-Konfiguration
| Signal | Bedingung | Bedeutung |
| Parameter | Wert |
|---|---|
| Gold | 33 oz Krügerrand |
| Silber | 500 oz Silbermünzen |
| Startdatum | 2025-12-28 |
| Einkauf Gold | 3.774 EUR/oz |
| Einkauf Silber | 66,80 EUR/oz |
## Datenbank (Stand 24.02.2026)
| Tabelle | Einträge | Zeitraum |
|---|---|---|
| 🔴 GOLD | ratio > MA(120) AND slope > 0 | Gold bevorzugen |
| 🟢 REBALANCING | percentile >= 90 OR ratio > 85 | Silber relativ günstig |
| 🟡 NEUTRAL | sonst | Halten |
| spot_prices | 2.031 | 2025-12-18 bis heute |
| gold_prices | 16.776 | 2025-12-18 bis heute |
| silver_prices | 14.033 | 2025-12-18 bis heute |
Hysterese: Signal wechselt erst nach 7 Tagen stabiler Bedingung.
## Scraper-Logik
## Portfolio (Kambodscha Investment)
1. **Pro Aurum** (Selenium) — primär
- Selektor: `[class*='product-root']` (CSS Modules, Stand 2026-02-24)
- Preise: `[class*='buySellSection-price']` — Index 0 = Kaufpreis, Index 1 = Ankaufspreis
- Fallback bei 0 Ergebnissen → Degussa (nicht nur bei Exception!)
2. **Degussa** (requests) — Fallback
3. Portfolio nutzt **Ankaufspreis** (buy_price) für Bewertung
4. COALESCE(buy_price, sell_price) in SQL falls Ankaufspreis fehlt
| Wohnung | Stock | Kaufpreis | Mieter | Miete |
|---|---|---|---|---|
| D1603 | 16 | 29.745 EUR | Antonio Ramirez | 250 USD/M |
| G2010B | 20 | 34.000 USD | Cheng Qiu | 250 USD/M |
## Fixes 24.02.2026
Netto-Einnahmen: 467 USD/Monat (nach Management Fee)
| Problem | Ursache | Fix |
|---|---|---|
| Scraper: 0 Produkte | Pro Aurum CSS Modules → alter Selektor | `[class*='product-root']` |
| Fallback nie aktiv | Exception nur bei Fehler, nicht bei leer | `raise ValueError` bei 0 Ergebnissen |
| Bot: "Keine Preise" | SQLite `'localtime'` → +7h Versatz | `'localtime'` entfernt |
| Portfolio zu hoch | buy/sell Preise vertauscht (10% Fehler) | `buySellSection-price` Index-Reihenfolge |
| buy_price NULL | Neuer Selektor fand Ankauf nicht | `COALESCE(buy_price, sell_price)` |
## Offene Aufgaben
- [ ] Beide Dashboards in CT 112 v3 migrieren
- [ ] Bot-Alerts für Allocation Signal
## Konnektivität CT 136
## Notizen (manuell)
<!-- Hier können manuelle Ergänzungen eingetragen werden -->
| Typ | Wert |
|---|---|
| Cloudflare Tunnel | c94b28f3-f473-475a-87da-b87c1806ecd8 |
| Tailscale | 100.72.230.87 |

View file

@ -1,52 +1,56 @@
# Infrastruktur — Live State
> Auto-generiert: 2026-02-26 16:00
> Auto-generiert: 2026-02-22 06:30
## pve-hetzner Disk
| Mount | Belegt |
|---|---|
| / (root) | 11% von 98G |
| /var/lib/vz (VMs/CTs) | 2% von 2.9T |
| /var/lib/vz (VMs) | 5% von 2.9T |
## Aktive Container auf pve-hetzner
## Container auf pve-hetzner
| CT | Name | Tailscale IP | Dienste |
|---|---|---|---|
| 101 | wordpress-v2 | 100.91.212.19 | WordPress + MySQL (Docker) |
| 100 | traefik | 100.78.77.115 | Traefik, Pangolin, Gerbil, Uptime-Kuma, cloudflared (Tunnel 7bcbd550) |
| 101 | moltbot | 100.91.212.19 | @MutterbotAI_bot |
| 102 | dify | 100.113.136.30 | Dify RAG + @DifyRagBot |
| 103 | seafile | 100.75.247.60 | Seafile (seafile.orbitalo.net) |
| 109 | rss-manager | 100.113.244.101 | RSS Manager + Matomo |
| 110 | portainer | 100.109.206.43 | Portainer Docker UI |
| 111 | forgejo | 100.89.246.60 | Forgejo Git (http://100.89.246.60:3000) |
| 104 | n8n | 100.125.102.93 | n8n (Workflows deaktiviert) |
| 106 | wordpress-news | — | WordPress + MySQL (Docker), Cloudflare Tunnel ef43618e |
| 107 | ragflow | 100.116.125.12 | RAGFlow (in Einrichtung) |
| 109 | rss-manager | — | RSS Manager + KI |
| 110 | portainer | 100.109.206.43 | Portainer UI |
| 144 | muldenstein-backup | — | Backup-Archiv |
| 999 | cluster-docu | 100.79.8.49 | Dokumentation (http://100.79.8.49:8080) |
| 999 | cluster-docu | 100.79.8.49 | Dokumentation (/root/docs/) |
## Gelöschte Container (24.02.2026)
| CT | Name | Grund |
|---|---|---|
| 100 | traefik | Abgelöst durch Cloudflare Tunnel |
| 102 | dify | Experiment fehlgeschlagen |
| 104 | n8n | Nicht aktiv genutzt |
| 105 | debian-12 | Nicht genutzt |
| 106 | wordpress-news | Abgelöst durch CT 101 |
| 113 | matomo | Integriert in CT 109 |
## Container auf pve1 Kambodscha
| CT | Name | IP | Tailscale | Dienste |
|---|---|---|---|---|
| 136 | gold-silber-v3 | 192.168.0.159 | 100.72.230.87 | Dashboard V3 (blei.orbitalo.info), Telegram Bot V3, Cloudflare Tunnel |
| 888 | MCP-Proxmox | 192.168.0.116 | — | Proxmox MCP |
| 999 | cluster-docu | 192.168.0.209 | — | Doku-Mirror |
| ~~135~~ | ~~gold-silber-v2~~ | ~~192.168.0.219~~ | — | ⛔ gestoppt 2026-02-23 |
## Container auf pve1 (Kambodscha)
| CT | Name | Dienste |
|---|---|---|
| 136 | gold-silber-v3 | Edelmetall-Bot (Tailscale: 100.72.230.87) |
| 143 | smart-home | ioBroker + Grafana + InfluxDB |
## Routing
- Cloudflare Tunnel CT 101: arakava-news-2.orbitalo.net → :80
- Cloudflare Tunnel CT 109: matomo.orbitalo.net → :80
- Kein Traefik, kein PBS-Gateway mehr
## Container auf pve3 Muldenstein
| CT | Name | IP | Dienste |
|---|---|---|---|
| 143 | raspi-broker | 192.168.178.36 | InfluxDB, Grafana, ioBroker |
| ~~134~~ | ~~gold-silber-de~~ | ~~100.69.161.128~~ | ⛔ gestoppt |
## Zugangsdaten
- pve-hetzner: root / Astral-Proxmox!2026
- pve1: root / astral66
- Alle CTs: root / astral66
- Alle lokalen CTs: root / astral66
- Seafile: admin@orbitalo.net / astral66
- Forgejo: orbitalo / astral66
- n8n: wuttig@gmx.de / Astral66
- Dify: admin@orbitalo.net / astral66
## Telegram Bots
| Bot | Token (Auszug) | Chat-ID |
|---|---|---|
| Mutter (@MutterbotAI_bot) | 8551565940:... | 674951792 |
## Änderungen 2026-02-23
- CT 136 (gold-silber-v3) neu auf pve1 erstellt — Edelmetall Dashboard V3
- CT 135 gestoppt (ersetzt durch CT 136)
- CT 134 auf pve3 gestoppt (war blei.orbitalo.info, jetzt CT 136)
- CT 106 (Bot): Code auf neue Struktur /opt/edelmetall/ migriert, alter Code in /root/edelmetall_v2_archive/
- CT 100 (Traefik): edelmetall-router/service entfernt — blei.orbitalo.info läuft jetzt über Cloudflare Tunnel in CT 136
- pve1: iptables-persistent installiert (NAT-Regel temporär, danach entfernt)
## Notizen (manuell)

View file

@ -160,17 +160,10 @@ $OR_BALANCE
## Code (CT 109: /opt/rss-manager/)
poster.py, scheduler.py, app.py, db.py
## WP-Cron Konfiguration
- DISABLE_WP_CRON = true in wp-config.php (Race Conditions behoben)
- System-Cron: */5 * * * * curl -sk https://arakava-news-2.orbitalo.net/wp-cron.php?doing_wp_cron
- WordPress + Blocksy auf Deutsch (de_DE)
## Änderungshistorie
- 24.02.2026: Scheduler Lock gegen Doppelstarts
- 24.02.2026: Telegram auf HTML-Modus (Sonderzeichen-Fix)
- 24.02.2026: Werbeartikel-Blacklist (Anzeige:, Sponsored, etc.)
- 24.02.2026: DISABLE_WP_CRON + System-Cron (Race Condition Fix)
- 24.02.2026: WordPress auf Deutsch (de_DE), Blocksy Theme DE
- 23.02.2026: Matomo von CT 113 → CT 109 migriert
- 23.02.2026: CT 100/102/104/105/106/113 gelöscht
EOF