a control panel for my server

chore: read flags from nix

dunkirk.sh 95cb25e8 28e96f2e

verified
+12 -1
+5
flags.json
··· 7 7 "name": "Block SSE Endpoint", 8 8 "description": "Disable /sse Server-Sent Events", 9 9 "path": "/sse" 10 + }, 11 + "block-map-players": { 12 + "name": "Block Player Markers", 13 + "description": "Disable player location tracking", 14 + "path": "/tiles/world/markers/pl3xmap_players.json" 10 15 } 11 16 } 12 17 }
+7 -1
src/flags.ts
··· 1 1 import { Database } from "bun:sqlite"; 2 - import flagsConfig from "../flags.json"; 3 2 4 3 const DB_PATH = process.env.DATABASE_PATH || "./data/control.db"; 4 + const FLAGS_CONFIG_PATH = process.env.FLAGS_CONFIG || "./flags.json"; 5 + 6 + // Load flags config from file (path from env or default) 7 + const flagsConfig = await Bun.file(FLAGS_CONFIG_PATH).json().catch(() => { 8 + // Fallback to local flags.json if FLAGS_CONFIG path doesn't exist 9 + return import("../flags.json").then(m => m.default); 10 + }); 5 11 6 12 // Initialize database 7 13 const db = new Database(DB_PATH, { create: true });