ic-web/config.lua

128 lines
6.1 KiB
Lua
Raw Permalink Normal View History

-- ─────────────────────────────────────────────────────────────────────────────
-- ic-web Konfiguration
--
-- IC-Webhosting: der Anbieter vergibt Domaenen, jede Domaene hat eigene
-- Zugaenge, und jeder Zugang ist zugleich ein Postfach. Die Webseiten sind im
-- pc-live-Browser unter ic://domaene erreichbar.
--
-- Die Domaene selbst wird in ic-mail angelegt (ic_mail_realms). Eine Webseite
-- ist ein zweiter Dienst darauf, keine eigene Domaenenliste.
-- ─────────────────────────────────────────────────────────────────────────────
Config = {}
Config.Debug = false
-- ── Der Anbieter ─────────────────────────────────────────────────────────────
-- Der erste Zugang wird beim ersten Start angelegt. Ohne ihn kaeme niemand in
-- die Verwaltung hinein.
--
-- Das Startpasswort steht hier im Klartext: es ist genau einmal noetig und
-- sollte nach der ersten Anmeldung geaendert werden (in der Verwaltung oder in
-- der Serverkonsole mit /webpasswd).
Config.MainAdmin = {
username = 'admin@liveinvader.ls',
providerName = 'Liveinvader Hosting',
initialPassword = 'liveinvader',
}
-- ── Anmeldung ────────────────────────────────────────────────────────────────
Config.Login = {
minPasswordLength = 6,
-- Bremse gegen Durchprobieren: so viele Fehlversuche je Benutzername
-- innerhalb des Zeitfensters, danach ist der Name kurz gesperrt.
maxAttempts = 5,
windowSeconds = 300,
-- Anmeldung laeuft nach dieser Zeit ohne Aktivitaet ab. 0 = nie.
idleSeconds = 3600,
}
-- Zugaenge je Domaene (Admins und Editoren zusammen).
Config.MaxAccountsPerDomain = 15
-- Wie viele fremde Postfaecher jemand im Mailclient gleichzeitig offen haben
-- darf ("Postfach hinzufuegen"). Das eigene und dienstlich zugewiesene zaehlen
-- nicht mit.
Config.MaxOpenMailboxes = 10
-- ── Wer darf Domaenen anlegen ────────────────────────────────────────────────
-- Im Normalfall nur der Anbieter (superadmin) ueber die Verwaltung.
--
-- Die Selbstanmeldung ueber den ESX-Job ist der aeltere Weg und bleibt als
-- Schalter erhalten. Eingeschaltet duerfen Behoerden und Unternehmen sich ohne
-- Anmeldung selbst eine Domaene holen; der Zugang dazu wird dabei automatisch
-- erzeugt und einmalig angezeigt.
Config.SelfRegistration = {
enabled = false,
allowedJobs = {}, -- leer = alle ausser blockedJobs
minGrade = 3,
blockedJobs = { unemployed = true },
maxDomainsPerJob = 2,
}
-- Rueckwaertsname: der uebrige Code liest weiterhin Config.Registration.
Config.Registration = Config.SelfRegistration
-- ── Domaenennamen ────────────────────────────────────────────────────────────
Config.Domain = {
-- Erlaubte Endungen. Ohne Begrenzung entstehen schnell .com-Domaenen,
-- die in eine GTA-Welt nicht passen.
allowedTlds = { 'ls', 'sa', 'gov', 'org', 'net' },
minLength = 3,
maxLength = 30,
-- Namen, die sich niemand per Selbstanmeldung greifen darf. Der Anbieter
-- vergibt sie sehr wohl lspd.ls soll ja beim LSPD landen.
--
-- Domaenen des Mailsystems (mail.ls und andere System-/Buergerdomaenen)
-- sind unabhaengig davon gesperrt, das prueft D.EnsureRealm fuer alle.
reserved = {
'mail', 'www', 'admin', 'police', 'lspd', 'lsmd', 'ambulance',
'gov', 'government', 'doj', 'system', 'ic', 'pc',
},
}
-- ── Inhalte ──────────────────────────────────────────────────────────────────
Config.MaxPagesPerSite = 8
Config.MaxBlocksPerPage = 60
-- Erlaubte Bildhosts.
--
-- Bilder werden extern verlinkt FiveM-NUI kann keine Dateien hochladen.
-- Ohne diese Liste laesst sich jede beliebige Adresse einbetten. Die
-- Meldefunktion faengt den Rest, greift aber erst nachtraeglich.
--
-- Subdomains sind eingeschlossen: 'imgur.com' erlaubt auch 'i.imgur.com'.
Config.ImageHosts = {
'imgur.com',
'discordapp.net',
'discordapp.com',
'discord.com',
'githubusercontent.com',
}
-- ── Themes ───────────────────────────────────────────────────────────────────
-- Reine CSS-Vorlagen im Browser von pc-live. Der Name wird nur durchgereicht.
Config.Themes = { 'clean', 'dark', 'gov', 'business' }
Config.DefaultTheme = 'clean'
-- ── Serverseitige Notbremse ──────────────────────────────────────────────────
-- Kein IC-Weg, sondern der Zugriff des Serverbetreibers: Konsolenbefehle zum
-- Zuruecksetzen eines Passworts und zum Sperren einer Seite, falls im Spiel
-- niemand mehr an die Verwaltung kommt.
Config.Console = {
-- 'esx' | 'ace' | 'either'
mode = 'either',
esxGroups = { admin = true, superadmin = true },
acePermission = 'ic_web.admin',
}
-- Alter Name, wird an einigen Stellen noch gelesen.
Config.Admin = Config.Console
-- ── Logging ──────────────────────────────────────────────────────────────────
-- Ausschliesslich ueber fmsdk, wie im Projekt ueblich.
Config.Logging = {
dataset = 'ic_web',
actionPrefix = 'ic_web.',
}