- 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>
34 lines
1.2 KiB
JavaScript
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);
|
|
}
|