Files
d4rkbot/src/index.js
T
D4rkst3randClaude Fable 5 b5617a9d18
Deploy / check (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Repo-Backups, Gitea-Theme und Auto-Deploy
- Repo-Backups: nachts um 04:00 werden alle Gitea-Repos als git-Bundle
  gesichert — eine Datei pro Repo mit kompletter Historie, aus der sich
  direkt wieder klonen lässt. 14 Tage Rotation wie beim DB-Backup,
  Schalter und "Repos jetzt sichern" im System-Tab. Nutzt den bereits
  vorhandenen Gitea-Token; Dockerfile installiert dafür git mit.
- Gitea-Theme im D4RKST3R-Look (docs/gitea-theme/): Neon-Gelb/Orange auf
  Schwarz, gebaut gegen die Variablen von Gitea 1.26, Diff-Farben bleiben
  lesbar. Einbau-Anleitung liegt daneben.
- Auto-Deploy statt manuellem "Pull and redeploy": Workflow für Gitea
  Actions (prüft Server-Syntax und Frontend-Build, bevor deployed wird)
  plus dokumentierter Runner-loser Weg über den Portainer-Webhook.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 14:01:31 +02:00

34 lines
1.2 KiB
JavaScript

// Einstiegspunkt — startet Discord-Bot, Webserver und den Wochen-Rückblick-Scheduler
import { startBot } from './bot/client.js';
import { startWebServer } from './web/server.js';
import { scheduleWeeklyRecap } from './bot/weekly-recap.js';
import { startWatchdog } from './bot/watchdog.js';
import { scheduleBackups } from './backup.js';
import { startServerMonitor } from './bot/server-monitor.js';
import { startGiveaways } from './bot/giveaways.js';
import { startScheduledPosts } from './web/scheduled-posts.js';
import { startSocialNotify } from './bot/social-notify.js';
import { startBirthdays } from './bot/birthdays.js';
import { scheduleRepoBackups } from './repo-backup.js';
process.on('unhandledRejection', (error) => {
console.error('[main] Unhandled Rejection:', error);
});
try {
const client = await startBot();
await startWebServer(client);
scheduleWeeklyRecap(client);
startWatchdog(client);
scheduleBackups(client);
startServerMonitor(client);
startGiveaways(client);
startScheduledPosts(client);
startSocialNotify(client);
startBirthdays(client);
scheduleRepoBackups();
} catch (error) {
console.error('[main] Start fehlgeschlagen:', error);
process.exit(1);
}