software steht so weit.

jetzt build + docker build und testen
This commit is contained in:
br committed 2026-10-02 13:25:34 +02:00
1 parent 42f0c0accb
commit ca6cdcca63
90 files changed
+10298 -480

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
Sultan – eigene Lander-Seiten
=============================
Pro Stufe eine Vorlage <stufe>.html (Go html/template), optional <stufe>.css
und eine Grafik <stufe>.svg oder <stufe>.webp (je höchstens 512 KiB).
CSS und Grafik werden in die Seite eingebettet – es gibt keine weiteren URLs.
Stufen: watermark, firemark, paywall, landing, maintenance
Fehlt eine Vorlage oder ist sie fehlerhaft, gilt die eingebaute Seite.
Änderungen wirken sofort (kein Neustart nötig).
Verfügbare Werte:
{{.Stage}} Stufe
{{.Tenant}} Mandanten-ID
{{.Tier}} community | pro | enterprise
{{.Community}} true bei Tier community
{{.Target}} lokaler Pfad der ursprünglichen Seite (für Weiterleitung/Link)
{{.RefreshSeconds}} Wartezeit der Weiterleitung (watermark/firemark)
{{.HosterName}} Name des Hosting-Anbieters (sultan server --hoster-name)
{{.HosterURL}} Angebotsseite des Anbieters (--hoster-url)
{{.ProURL}} Pro-Angebot für Community (--pro-url)
{{.PublicReason}} öffentlicher Wartungsgrund (maintenance, falls angegeben)
{{.UntilDE}} voraussichtliches Ende, z. B. 02.10.2026 15:30 (maintenance)
{{.UntilEN}} dasselbe, z. B. 2026-10-02 15:30
{{.CSS}} Inhalt von <stufe>.css – in <style>{{.CSS}}</style>
{{.Image}} Grafik als data:-URI – in <img src="{{.Image}}">
Syntax: https://pkg.go.dev/html/template (z. B. {{if .ProURL}}…{{end}})
+26
View File
@@ -0,0 +1,26 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<meta http-equiv="refresh" content="{{.RefreshSeconds}};url={{.Target}}">
<title>Wichtiger Hinweis / Important notice</title>
{{if .CSS}}<style>{{.CSS}}</style>{{end}}
</head>
<body>
{{if .Image}}<img src="{{.Image}}" alt="">{{end}}
<section lang="de">
<h1>Wichtiger Hinweis</h1>
<p>Für diese Website ist beim Hosting-Anbieter noch etwas offen. Wenn der Betreiber es nicht bald klärt,
wird die Website abgeschaltet. Bis dahin ist sie erreichbar – Sie werden in {{.RefreshSeconds}} Sekunden weitergeleitet.</p>
<p><a href="{{.Target}}">Weiter zur Website</a></p>
</section>
<section lang="en">
<h1>Important notice</h1>
<p>Something is still open with the hosting provider of this website. If the owner does not sort it out soon,
the website will be switched off. Until then it is available – you will be redirected in {{.RefreshSeconds}} seconds.</p>
<p><a href="{{.Target}}">Continue to the website</a></p>
</section>
</body>
</html>
+25
View File
@@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>Abgelaufen / Expired</title>
{{if .CSS}}<style>{{.CSS}}</style>{{end}}
</head>
<body>
{{if .Image}}<img src="{{.Image}}" alt="">{{end}}
<section lang="de">
<h1>Das Hosting dieser Website ist abgelaufen</h1>
<p>Die Website ist deshalb gerade nicht erreichbar. Sobald der Betreiber verlängert, ist sie wieder da.
{{if .HosterName}}{{.HosterName}}{{else}}Der Hosting-Anbieter{{end}} freut sich, wenn Sie sich in der Zwischenzeit umsehen.</p>
{{if .HosterURL}}<p><a href="{{.HosterURL}}">Zu den Angeboten</a></p>{{end}}
</section>
<section lang="en">
<h1>The hosting of this website has expired</h1>
<p>That is why the website is not available right now. As soon as the owner renews, it will be back.
{{if .HosterName}}{{.HosterName}}{{else}}The hosting provider{{end}} would be happy if you have a look around in the meantime.</p>
{{if .HosterURL}}<p><a href="{{.HosterURL}}">See the offers</a></p>{{end}}
</section>
</body>
</html>
+27
View File
@@ -0,0 +1,27 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>Gleich wieder da / Back soon</title>
{{if .CSS}}<style>{{.CSS}}</style>{{end}}
</head>
<body>
{{if .Image}}<img src="{{.Image}}" alt="">{{end}}
<section lang="de">
<h1>Gleich wieder da</h1>
{{if .PublicReason}}<p>{{.PublicReason}}</p>{{else}}<p>Diese Website ist gerade nicht erreichbar – vermutlich wird sie gewartet oder neu gestartet.
Bitte versuchen Sie es in einer Minute noch einmal.</p>{{end}}
{{if .UntilDE}}<p>Voraussichtlich wieder da: {{.UntilDE}}</p>{{end}}
{{if and .Community .ProURL}}<p>Sie möchten so etwas gar nicht erst erleben? <a href="{{.ProURL}}">Hier gibt es den Pro-Service</a>.</p>{{end}}
</section>
<section lang="en">
<h1>Back in a moment</h1>
{{if .PublicReason}}<p>{{.PublicReason}}</p>{{else}}<p>This website is not available right now – it is probably being maintained or restarted.
Please try again in a minute.</p>{{end}}
{{if .UntilEN}}<p>Expected back: {{.UntilEN}}</p>{{end}}
{{if and .Community .ProURL}}<p>Want to avoid this altogether? <a href="{{.ProURL}}">Get the pro service here</a>.</p>{{end}}
</section>
</body>
</html>
+25
View File
@@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>Derzeit offline / Currently offline</title>
{{if .CSS}}<style>{{.CSS}}</style>{{end}}
</head>
<body>
{{if .Image}}<img src="{{.Image}}" alt="">{{end}}
<section lang="de">
<h1>Diese Website ist derzeit offline</h1>
<p>Der Betreiber hat sein Hosting nicht verlängert. Schade – aber vielleicht passt ja etwas für Sie:
{{if .HosterName}}{{.HosterName}}{{else}}Der Hosting-Anbieter{{end}} lädt Sie herzlich ein, sich umzusehen, was hier alles möglich ist.</p>
{{if .HosterURL}}<p><a href="{{.HosterURL}}">Zu den Angeboten</a></p>{{end}}
</section>
<section lang="en">
<h1>This website is currently offline</h1>
<p>The owner has not renewed their hosting. A pity – but maybe there is something for you:
{{if .HosterName}}{{.HosterName}}{{else}}The hosting provider{{end}} warmly invites you to have a look at what is possible here.</p>
{{if .HosterURL}}<p><a href="{{.HosterURL}}">See the offers</a></p>{{end}}
</section>
</body>
</html>
+26
View File
@@ -0,0 +1,26 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<meta http-equiv="refresh" content="{{.RefreshSeconds}};url={{.Target}}">
<title>Hinweis / Notice</title>
{{if .CSS}}<style>{{.CSS}}</style>{{end}}
</head>
<body>
{{if .Image}}<img src="{{.Image}}" alt="">{{end}}
<section lang="de">
<h1>Kurzer Hinweis</h1>
<p>Der Betreiber dieser Website hat eine Nachricht von seinem Hosting-Anbieter erhalten, um die er sich kümmern sollte.
Die Website ist ganz normal erreichbar – Sie werden in {{.RefreshSeconds}} Sekunden automatisch weitergeleitet.</p>
<p><a href="{{.Target}}">Gleich weiter zur Website</a></p>
</section>
<section lang="en">
<h1>Just a short notice</h1>
<p>The owner of this website has received a message from their hosting provider that needs attention.
The website works as usual – you will be redirected automatically in {{.RefreshSeconds}} seconds.</p>
<p><a href="{{.Target}}">Continue to the website now</a></p>
</section>
</body>
</html>