feat(website): add the fl.narl.io site
Check and Windows preview / check (anvil) (push) Successful in 49s
Check and Windows preview / check (crucible) (push) Successful in 48s
Check and Windows preview / check (knurl) (push) Successful in 40s
Check and Windows preview / check (lathe) (push) Successful in 41s
Check and Windows preview / check (patina) (push) Successful in 56s
Check and Windows preview / check (rivet) (push) Successful in 45s
Check and Windows preview / check (temper) (push) Successful in 43s
Check and Windows preview / check (weld) (push) Successful in 1m20s
Check and Windows preview / previews (push) Successful in 1m15s
Check and Windows preview / windows (push) Successful in 2m31s

Astro site for the suite: a home page with the plugin cards, install
steps, principles, the metalwork names and the ideas on the bench, one
page per plugin, and the Impressum and privacy policy. Plugin names,
versions, download links and editor previews come from the catalog, the
wrapper manifests and docs/*/assets at build time.

Served by unprivileged nginx in Docker behind Traefik on fl.narl.io,
the same setup as proton.narl.io: no access logs, CSP 'self', no
JavaScript, legal pages filled from the environment at start.
This commit is contained in:
nvrl committed 2026-11-06 11:30:12 +01:00
1 parent 5cc3770737
commit 7e1776bb04
40 files changed
+8515

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
# Copy to .env and fill in. The container refuses to start while a required value is missing,
# so the site never goes live without an Impressum.
# Public URL of the site, used for canonical links, the sitemap and robots.txt (build time).
SITE_URL=https://fl.narl.io
# Impressum (§ 5 DDG) and controller in the privacy policy. Required.
# The address must be one where legal documents can be served: no P.O. box.
IMPRESSUM_NAME=Max Mustermann
IMPRESSUM_STREET=Musterstraße 1
IMPRESSUM_CITY=12345 Musterstadt
IMPRESSUM_EMAIL=kontakt@example.org
# Optional. Defaults to "Deutschland".
IMPRESSUM_COUNTRY=Deutschland
# Optional. Leave empty to hide the phone line.
IMPRESSUM_PHONE=
# Optional. Name and address of the hosting provider, if one processes visitor data for you
# (Art. 28 GDPR), e.g. "Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen".
# Leave empty to hide that paragraph.
HOSTER=