feat: verschlüsselte Integrationseinstellungen, Haushaltsmitglieder mit Ersteller, Backup-Download
This commit is contained in:
1 parent
a1195223e0
commit
267f4fcf70
21 files changed
+724
-30
No files matched your search
+18
-3
@@ -3,6 +3,8 @@ import Shell from "../components/shell";
|
||||
import { getDb } from "@/lib/db";
|
||||
import { DEFAULT_TAGE_VORHER } from "@/lib/settings";
|
||||
import { TestButtons } from "./test-buttons";
|
||||
import IntegrationsForm from "./integrations-form";
|
||||
import MembersSection from "./members";
|
||||
|
||||
export const dynamic = "force-dynamic";
|
||||
|
||||
@@ -36,9 +38,11 @@ export default async function SettingsPage() {
|
||||
Kontakte verwalten
|
||||
</Link>
|
||||
</section>
|
||||
<MembersSection />
|
||||
<Card title="Standard-Erinnerungstage">
|
||||
<p>Neue Gutscheine erhalten diese Erinnerungsregeln: {DEFAULT_TAGE_VORHER.join(", ")} Tage vorher.</p>
|
||||
</Card>
|
||||
<IntegrationsForm />
|
||||
<TestButtons />
|
||||
<Card title="Letzter Cron-Lauf">
|
||||
{last ? (
|
||||
@@ -50,9 +54,20 @@ export default async function SettingsPage() {
|
||||
<p>Noch keine Benachrichtigung versendet.</p>
|
||||
)}
|
||||
</Card>
|
||||
<Card title="Konfiguration und Backup">
|
||||
<p>SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, MAIL_FROM, TELEGRAM_BOT_TOKEN, LOGO_DEV_SECRET_KEY, LOGO_DEV_PUBLISHABLE_KEY, CRON_SECRET, APP_URL.</p>
|
||||
<p className="mt-2">SQLite-Datei sichern: Volume <code>gutschein-data</code> bzw. Datei <code>/data/gutscheine.db</code> regelmäßig kopieren.</p>
|
||||
<Card title="Backup">
|
||||
<p>Gesamte Datenbank als Datei sichern, inklusive Gutscheine, Kontakte, Mitglieder und verschlüsselte Einstellungen.</p>
|
||||
<a
|
||||
href="/api/settings/backup"
|
||||
download
|
||||
className="mt-3 inline-block rounded-field bg-brand-600 px-4 py-2.5 text-sm font-semibold text-white transition-colors hover:bg-brand-700"
|
||||
>
|
||||
Datenbank-Backup herunterladen
|
||||
</a>
|
||||
<p className="mt-2">Wiederherstellen am Server: Datei als <code>/data/gutscheine.db</code> ablegen. Derselbe <code>SETTINGS_ENCRYPTION_KEY</code> muss erhalten bleiben.</p>
|
||||
</Card>
|
||||
<Card title="Konfiguration (.env)">
|
||||
<p>APP_USER, APP_PASSWORD_HASH, SESSION_SECRET, SETTINGS_ENCRYPTION_KEY, DATABASE_URL, CRON_SECRET, APP_URL. SMTP, Telegram und Logo.dev lassen sich oben in der App verwalten; <code>.env</code> dient als Rückfall.</p>
|
||||
<p className="mt-2">Zusätzlich manuell: Volume <code>gutschein-data</code> bzw. Datei <code>/data/gutscheine.db</code> regelmäßig kopieren.</p>
|
||||
</Card>
|
||||
</div>
|
||||
</Shell>
|
||||
|
||||
Reference in new issue
Block a user