import type { Metadata } from "next"; import { getAllSiteSettings, isSignupsDisabled } from "@/lib/site-settings"; import { AdminSettingsForm } from "@/components/admin/admin-settings-form"; import { SignupsToggle } from "@/components/admin/signups-toggle"; export const metadata: Metadata = {}; const SETTING_GROUPS = [ { title: "Push Notifications (VAPID)", description: "Keys for web push notifications. Generate with: npx web-push generate-vapid-keys", keys: ["NEXT_PUBLIC_VAPID_PUBLIC_KEY", "VAPID_PRIVATE_KEY"] as const, }, { title: "Gitea Integration", description: "Support tickets submitted in-app automatically open an issue on this Gitea repo. Setup: " + "GITEA_URL = your Gitea base URL, no trailing slash (e.g. https://git.example.com). " + "GITEA_REPO = owner/repo (e.g. owner/my-app). " + "GITEA_TOKEN = a personal access token — Gitea → Settings → Applications → Generate New Token — " + "with the \"issue\" scope (read + write) only; nothing broader is needed since this integration " + "never touches code or repo settings, just creates issues.", keys: ["GITEA_URL", "GITEA_TOKEN", "GITEA_REPO"] as const, }, ]; export default async function AdminSettingsPage() { const settings = await getAllSiteSettings(); const signupsDisabled = await isSignupsDisabled(); return (
Override .env values at runtime. DB values take precedence over environment variables. Clear a value to fall back to the environment variable. AI provider keys and model defaults have moved to AI Config.