Auto-Sync: 2026-03-08 05:08

This commit is contained in:
Auto-Sync 2026-03-08 05:08:40 +01:00
parent e9638eab27
commit 33005cc418
5 changed files with 120 additions and 48 deletions

View file

@ -1,5 +1,5 @@
# Arakava News — Live State
> Auto-generiert: 2026-03-08 05:00
> Auto-generiert: 2026-03-08 05:08
## Service Status
| Service | CT | Status |
@ -37,8 +37,8 @@ $5.19 verbleibend
## Container (Mirror — pve3 Muldenstein)
| CT | Dienst | Tailscale |
|---|---|---|
| 600 | WordPress Mirror (Docker) | 100.92.205.101 |
| 601 | RSS Manager Mirror + n8n | — (kein Tailscale) |
| 600 | WordPress Mirror (Redundanz CT 101) | 100.92.205.101 |
| 601 | RSS Manager Mirror (Redundanz CT 109) | — |
## Aktive Feeds (17)
| ID | Name | Schedule |
@ -65,6 +65,7 @@ poster.py, scheduler.py, app.py, db.py
## Änderungshistorie
- 08.03.2026: Domain arakavanews.com live, Mirror CT 600/601 auf pve3
- 08.03.2026: homelab.conf als zentrale Quelle der Wahrheit
- 24.02.2026: Scheduler Lock gegen Doppelstarts
- 24.02.2026: Telegram auf HTML-Modus (Sonderzeichen-Fix)
- 24.02.2026: Werbeartikel-Blacklist (Anzeige:, Sponsored, etc.)

73
homelab.conf Normal file
View file

@ -0,0 +1,73 @@
# ============================================================
# homelab.conf — EINZIGE QUELLE DER WAHRHEIT
# ============================================================
# Wenn sich eine IP, URL, ein Container oder Passwort ändert:
# → NUR DIESE DATEI editieren.
# → sync-state.sh liest hieraus und generiert alles andere.
# → Niemals STATE.md, MOTDs oder Issues manuell pflegen.
# ============================================================
# --- DOMAINS ---
DOMAIN_PRIMARY="arakavanews.com"
DOMAIN_OLD="arakava-news-2.orbitalo.net"
DOMAIN_MATOMO="matomo.orbitalo.net"
DOMAIN_SEAFILE="seafile.orbitalo.net"
DOMAIN_GRAFANA="grafana.orbitalo.net"
# --- SERVER (Tailscale IPs) ---
SRV_HETZNER="100.88.230.59"
SRV_PVE1="100.122.56.60"
SRV_PVE1_LOCAL="192.168.0.197"
SRV_HELMUT="100.87.235.11"
SRV_PVE2="100.99.101.37"
SRV_PVE3="100.109.101.12"
SRV_PBS="100.99.139.22"
# --- PASSWÖRTER ---
PW_HETZNER="Astral-Proxmox!2026"
PW_DEFAULT="astral66"
PW_WP_ADMIN="eJIyhW0p5PFacjvvKGufKeXS"
# --- CONTAINER: pve-hetzner ---
# Format: CT_<nummer>="name|tailscale_ip|dienste"
CT_101="wordpress-v2|100.91.212.19|WordPress + MySQL (Docker)"
CT_103="seafile|100.75.247.60|Seafile"
CT_109="rss-manager|100.113.244.101|RSS Manager + Matomo"
CT_110="portainer|100.109.206.43|Portainer Docker UI"
CT_111="forgejo|100.89.246.60|Forgejo Git"
CT_144="muldenstein-backup|—|Backup-Archiv"
CT_999="cluster-docu|100.79.8.49|Dokumentation"
# --- CONTAINER: pve1 (Kambodscha) ---
CT_136="gold-silber-v3|100.72.230.87|Edelmetall-Bot"
CT_143_PVE1="smart-home|—|ioBroker + Grafana + InfluxDB"
# --- CONTAINER: pve3 (Muldenstein) ---
CT_139="Syncthing-Muldenstein|—|Syncthing"
CT_141="syncthing|—|Syncthing"
CT_142="WG-easy|—|WireGuard"
CT_143_PVE3="Raspi-Broker|—|MQTT Broker"
CT_145="flugscanner-mu|—|Flugpreisscanner Node"
CT_504="projektscan-template|—|Projektscan"
CT_600="wp-mirror|100.92.205.101|WordPress Mirror (Redundanz CT 101)"
CT_601="rss-mirror|—|RSS Manager Mirror (Redundanz CT 109)"
# --- TELEGRAM BOTS ---
TG_CHAT_ID="674951792"
TG_MUTTER_TOKEN="8551565940:AAHIUpZND-tCNGv9yEoNPRyPt4GxEPYBJdE"
TG_FUENFVORACHT_TOKEN="8799990587:AAEoQuohGdoJ2WudoOHs_j5Ns3iwft6OlFc"
TG_EDELMETALL_TOKEN="8262992299:AAEf8YHPsz42ZdP85DV7JqC4822Ts75GqF4"
# --- API KEYS ---
FORGEJO_TOKEN="b874766bdf357bd4c32fa4369d0c588fc6193336"
FORGEJO_SYNC_TOKEN="5402da0447b0eb6aede721a8748a08974ddc5c42"
GITHUB_PAT="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"
OPENROUTER_KEY="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"
# --- ROUTING (Cloudflare Tunnels) ---
# Format: TUNNEL_<ct>="domain|ziel|status"
TUNNEL_101_PRIMARY="arakavanews.com|:80|aktiv"
TUNNEL_101_OLD="arakava-news-2.orbitalo.net|301→arakavanews.com|aktiv"
TUNNEL_109="matomo.orbitalo.net|:80|aktiv"
TUNNEL_600="arakavanews.com|:80|standby"
TUNNEL_601="rss-manager|:8080|standby"

View file

@ -1,5 +1,5 @@
# Infrastruktur — Live State
> Auto-generiert: 2026-03-08 05:00
> Auto-generiert: 2026-03-08 05:08
## pve-hetzner Disk
| Mount | Belegt |
@ -37,14 +37,9 @@
## Container auf pve3 (Muldenstein)
| CT | Name | Tailscale IP | Dienste |
|---|---|---|---|
| 139 | Syncthing-Muldenstein | — | Syncthing |
| 141 | syncthing | — | Syncthing |
| 142 | WG-easy | — | WireGuard |
| 143 | Raspi-Broker | — | MQTT Broker |
| 145 | flugscanner-mu | — | Flugpreisscanner Node |
| 504 | projektscan-template | — | Projektscan |
| 600 | wp-mirror | 100.92.205.101 | WordPress Mirror (Redundanz CT 101) |
| 601 | rss-mirror | — | RSS Manager Mirror (Redundanz CT 109) |
| 145 | flugscanner-mu | — | Flugpreisscanner Node |
## Routing
- Cloudflare Tunnel CT 101: arakavanews.com → :80

View file

@ -6,12 +6,19 @@
# Telegram-Alerts bei Service-Ausfällen und Push-Fehlern
# Stand: 08.03.2026
# ============================================================
# WICHTIG: Alle variablen Daten kommen aus homelab.conf.
# Niemals hier IPs, URLs oder Credentials hardcoden!
# ============================================================
set -euo pipefail
REPO="/opt/homelab-brain"
FORGEJO_TOKEN="5402da0447b0eb6aede721a8748a08974ddc5c42"
TG_TOKEN="8551565940:AAHIUpZND-tCNGv9yEoNPRyPt4GxEPYBJdE"
TG_CHAT="674951792"
# --- Quelle der Wahrheit laden ---
source "$REPO/homelab.conf"
TG_TOKEN="$TG_MUTTER_TOKEN"
TG_CHAT="$TG_CHAT_ID"
FORGEJO_TOKEN="$FORGEJO_SYNC_TOKEN"
DEBOUNCE_DIR="/tmp/homelab_watchdog"
DATE=$(date '+%Y-%m-%d %H:%M')
CHANGED=0
@ -96,7 +103,7 @@ OR_BALANCE=$(pct exec 109 -- python3 -c "
import requests
try:
r = requests.get('https://openrouter.ai/api/v1/auth/key',
headers={'Authorization': 'Bearer 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'},
headers={'Authorization': 'Bearer $OPENROUTER_KEY'},
timeout=5)
d = r.json().get('data', {})
remaining = float(d.get('limit', 20)) - float(d.get('usage', 0))
@ -126,22 +133,22 @@ $FEED_ACTIVITY
$OR_BALANCE
## URLs
- Blog: https://arakavanews.com
- Admin: https://arakavanews.com/wp-admin (admin / eJIyhW0p5PFacjvvKGufKeXS)
- RSS Manager: http://100.113.244.101:8080 (admin / astral66)
- Matomo: https://matomo.orbitalo.net (admin / astral66)
- Blog: https://$DOMAIN_PRIMARY
- Admin: https://$DOMAIN_PRIMARY/wp-admin (admin / $PW_WP_ADMIN)
- RSS Manager: http://$(echo $CT_109 | cut -d'|' -f2):8080 (admin / $PW_DEFAULT)
- Matomo: https://$DOMAIN_MATOMO (admin / $PW_DEFAULT)
## Container (Primary — pve-hetzner)
| CT | Dienst | Tailscale |
|---|---|---|
| 101 | WordPress + MySQL (Docker) | 100.91.212.19 |
| 109 | RSS Manager + Matomo | 100.113.244.101 |
| 101 | $(echo $CT_101 | cut -d'|' -f3) | $(echo $CT_101 | cut -d'|' -f2) |
| 109 | $(echo $CT_109 | cut -d'|' -f3) | $(echo $CT_109 | cut -d'|' -f2) |
## Container (Mirror — pve3 Muldenstein)
| CT | Dienst | Tailscale |
|---|---|---|
| 600 | WordPress Mirror (Docker) | 100.92.205.101 |
| 601 | RSS Manager Mirror + n8n |(kein Tailscale) |
| 600 | $(echo $CT_600 | cut -d'|' -f3) | $(echo $CT_600 | cut -d'|' -f2) |
| 601 | $(echo $CT_601 | cut -d'|' -f3) | $(echo $CT_601 | cut -d'|' -f2) |
## Aktive Feeds (17)
| ID | Name | Schedule |
@ -168,6 +175,7 @@ poster.py, scheduler.py, app.py, db.py
## Änderungshistorie
- 08.03.2026: Domain arakavanews.com live, Mirror CT 600/601 auf pve3
- 08.03.2026: homelab.conf als zentrale Quelle der Wahrheit
- 24.02.2026: Scheduler Lock gegen Doppelstarts
- 24.02.2026: Telegram auf HTML-Modus (Sonderzeichen-Fix)
- 24.02.2026: Werbeartikel-Blacklist (Anzeige:, Sponsored, etc.)
@ -198,13 +206,13 @@ cat > "$REPO/infrastructure/STATE.md" << EOF
## Aktive Container auf pve-hetzner
| CT | Name | Tailscale IP | Dienste |
|---|---|---|---|
| 101 | wordpress-v2 | 100.91.212.19 | WordPress + MySQL (Docker) |
| 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) |
| 144 | muldenstein-backup || Backup-Archiv |
| 999 | cluster-docu | 100.79.8.49 | Dokumentation (http://100.79.8.49:8080) |
| 101 | $(echo $CT_101 | cut -d'|' -f1) | $(echo $CT_101 | cut -d'|' -f2) | $(echo $CT_101 | cut -d'|' -f3) |
| 103 | $(echo $CT_103 | cut -d'|' -f1) | $(echo $CT_103 | cut -d'|' -f2) | $(echo $CT_103 | cut -d'|' -f3) ($DOMAIN_SEAFILE) |
| 109 | $(echo $CT_109 | cut -d'|' -f1) | $(echo $CT_109 | cut -d'|' -f2) | $(echo $CT_109 | cut -d'|' -f3) |
| 110 | $(echo $CT_110 | cut -d'|' -f1) | $(echo $CT_110 | cut -d'|' -f2) | $(echo $CT_110 | cut -d'|' -f3) |
| 111 | $(echo $CT_111 | cut -d'|' -f1) | $(echo $CT_111 | cut -d'|' -f2) | $(echo $CT_111 | cut -d'|' -f3) (http://$(echo $CT_111 | cut -d'|' -f2):3000) |
| 144 | $(echo $CT_144 | cut -d'|' -f1) | $(echo $CT_144 | cut -d'|' -f2) | $(echo $CT_144 | cut -d'|' -f3) |
| 999 | $(echo $CT_999 | cut -d'|' -f1) | $(echo $CT_999 | cut -d'|' -f2) | $(echo $CT_999 | cut -d'|' -f3) (http://$(echo $CT_999 | cut -d'|' -f2):8080) |
## Gelöschte Container (24.02.2026)
| CT | Name | Grund |
@ -219,35 +227,30 @@ cat > "$REPO/infrastructure/STATE.md" << EOF
## Container auf pve1 (Kambodscha)
| CT | Name | Dienste |
|---|---|---|
| 136 | gold-silber-v3 | Edelmetall-Bot (Tailscale: 100.72.230.87) |
| 143 | smart-home | ioBroker + Grafana + InfluxDB |
| 136 | $(echo $CT_136 | cut -d'|' -f1) | $(echo $CT_136 | cut -d'|' -f3) (Tailscale: $(echo $CT_136 | cut -d'|' -f2)) |
| 143 | $(echo $CT_143_PVE1 | cut -d'|' -f1) | $(echo $CT_143_PVE1 | cut -d'|' -f3) |
## Container auf pve3 (Muldenstein)
| CT | Name | Tailscale IP | Dienste |
|---|---|---|---|
| 139 | Syncthing-Muldenstein || Syncthing |
| 141 | syncthing || Syncthing |
| 142 | WG-easy || WireGuard |
| 143 | Raspi-Broker || MQTT Broker |
| 145 | flugscanner-mu || Flugpreisscanner Node |
| 504 | projektscan-template || Projektscan |
| 600 | wp-mirror | 100.92.205.101 | WordPress Mirror (Redundanz CT 101) |
| 601 | rss-mirror || RSS Manager Mirror (Redundanz CT 109) |
| 600 | $(echo $CT_600 | cut -d'|' -f1) | $(echo $CT_600 | cut -d'|' -f2) | $(echo $CT_600 | cut -d'|' -f3) |
| 601 | $(echo $CT_601 | cut -d'|' -f1) | $(echo $CT_601 | cut -d'|' -f2) | $(echo $CT_601 | cut -d'|' -f3) |
| 145 | $(echo $CT_145 | cut -d'|' -f1) | $(echo $CT_145 | cut -d'|' -f2) | $(echo $CT_145 | cut -d'|' -f3) |
## Routing
- Cloudflare Tunnel CT 101: arakavanews.com → :80
- Cloudflare Tunnel CT 101: arakava-news-2.orbitalo.net → 301 → arakavanews.com
- Cloudflare Tunnel CT 109: matomo.orbitalo.net → :80
- Cloudflare Tunnel CT 101: $DOMAIN_PRIMARY → :80
- Cloudflare Tunnel CT 101: $DOMAIN_OLD301$DOMAIN_PRIMARY
- Cloudflare Tunnel CT 109: $DOMAIN_MATOMO → :80
- Cloudflare Tunnel CT 600: Standby (WordPress Mirror)
- Cloudflare Tunnel CT 601: Standby (RSS Manager Mirror)
- Kein Traefik, kein PBS-Gateway mehr
## Zugangsdaten
- pve-hetzner: root / Astral-Proxmox!2026
- pve1: root / astral66
- Alle CTs: root / astral66
- Seafile: admin@orbitalo.net / astral66
- Forgejo: orbitalo / astral66
- pve-hetzner: root / $PW_HETZNER
- pve1: root / $PW_DEFAULT
- Alle CTs: root / $PW_DEFAULT
- Seafile: admin@orbitalo.net / $PW_DEFAULT
- Forgejo: orbitalo / $PW_DEFAULT
## Telegram Bots
| Bot | Token (Auszug) | Chat-ID |

View file

@ -1,5 +1,5 @@
# Smart Home Muldenstein — Live State
> Auto-generiert: 2026-03-08 05:00
> Auto-generiert: 2026-03-08 05:08
## Backup-Status
- Letztes Backup: 513M Mar 8 04:01