summaryrefslogtreecommitdiff
path: root/Infrastruktur/Software
diff options
context:
space:
mode:
authorCaoimhe Chaos <caoimhechaos@protonmail.com>2020-02-03 18:28:56 +0100
committerCaoimhe Chaos <caoimhechaos@protonmail.com>2020-02-03 18:28:56 +0100
commitf33fb738c66acb7721123b53bfd943c141903cab (patch)
tree2e6150c030c1a4570de837516e65317717d7ac1c /Infrastruktur/Software
parent7a7d902fa15a335110d01773711d47cd050bf1d6 (diff)
Sehr grobe Dokumentation des Blogs.
Diffstat (limited to 'Infrastruktur/Software')
-rw-r--r--Infrastruktur/Software/sfblog.mdwn27
1 files changed, 27 insertions, 0 deletions
diff --git a/Infrastruktur/Software/sfblog.mdwn b/Infrastruktur/Software/sfblog.mdwn
new file mode 100644
index 00000000..bee796e2
--- /dev/null
+++ b/Infrastruktur/Software/sfblog.mdwn
@@ -0,0 +1,27 @@
+[[!meta title="Hauptwebsite und Blog"]
+
+* Quellcode: <https://github.com/starshipfactory/sfblog>
+* URL: <https://www.starship-factory.ch/>, <https://www.starship-factory.ch/admin>
+
+## Requirements
+
+* Darstellung von statischem Content für die Infoseiten (Anfahrt, Datenschutzerklärung etc)
+* 2 navigierbare Menüs (top und bottom)
+* Blogfunktion neben den statischen Seiten
+* Einfache Editierbarkeit von Einträgen per WYSIWYG-Editor
+* SPAM-Schutz für Blogkommentare
+
+## Technische Details
+
+Das Blog ist als Django-Dienst implementiert und läuft unter gunicorn mit einer eigenen nginx-Instanz. Statische Daten (hochgeladenen Bilder, etc) werden im lokalen Dateisystem gespeichert, der Rest (Texte, Metadaten, Kommentare, etc) in einer PostgreSQL-Datenbank.
+
+Die Struktur der Seite ist durch [jinja2-Templates](https://jinja.palletsprojects.com/en/2.11.x/) gesteuert. Diese Templates können recht umfassend angepasst werden. Manche Inhalte werden nur auf bestimmten Seiten angezeigt.
+
+Der SPAM-Schutz benutzt akismet.
+
+## Bekannte Probleme
+
+* Die Webseite ist inhärent auf einen einzelnen Server limitiert und kann nicht einfach repliziert betrieben werden. Die maximale Kapazität der Webseite ist somit die Kapazität eines einzelnen Servers.
+* Django ist nicht besonders effizient und benötigt ca. 1 Core für 0.25 Anfragen pro Sekunde.
+* Ein Scraper sendet mehrere Male am Tag genug Anfragen, um die CPU des Servers, auf welchem das Blog läuft, komplett auszulasten. Das führt zu hoher Latenz und Fehlern beim Laden der Seite.
+* Der SPAM-Schutz ist nicht so effizient wie er sein sollte.