Initial PlayBull release with Trilogy Hub integration.

Includes homelab deploy tooling, image position/zoom manifest persistence, and full trading/casino stack.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-02 08:31:36 +02:00
commit 94b6cc3be9
60 changed files with 9206 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
[Unit]
Description=Cloudflare Dynamic DNS updater (Trilogy Hub)
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=__APP_DIR__/deploy/cloudflare-ddns-update.sh
User=root
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,10 @@
[Unit]
Description=Cloudflare DDNS alle 5 Minuten pruefen
[Timer]
OnBootSec=2min
OnUnitActiveSec=5min
Persistent=true
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1,17 @@
[Unit]
Description=Cloudflare Tunnel for PlayBull (HTTPS)
After=network-online.target playbull.service
Wants=network-online.target
Requires=playbull.service
[Service]
Type=simple
User=root
EnvironmentFile=/opt/playbull/deploy/env.homelab
# Token-Modus: einfachster Weg aus dem Zero-Trust-Dashboard
ExecStart=/bin/bash -c 'exec /usr/bin/cloudflared tunnel --no-autoupdate run --token "$CLOUDFLARE_TUNNEL_TOKEN"'
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,12 @@
[Unit]
Description=DuckDNS IP updater for PlayBull homelab
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=__APP_DIR__/deploy/duckdns-update.sh
User=root
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,11 @@
[Unit]
Description=Run DuckDNS IP update every 5 minutes
[Timer]
OnBootSec=1min
OnUnitActiveSec=5min
AccuracySec=1min
Persistent=true
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=PlayBull — Trilogy Hub + Trading + Casino
After=network.target
[Service]
Type=simple
User=__APP_USER__
Group=__APP_USER__
WorkingDirectory=__APP_DIR__
EnvironmentFile=__APP_DIR__/.env
Environment=NODE_ENV=production
Environment=TRUST_PROXY=1
ExecStart=/usr/bin/node __APP_DIR__/server/index.js
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target