Servereinstellungen¶
Wenn Du den Offenen Web-Kalender auf das anpassen willst, das du brauchst, dann ist das gut möglich. Du kannst
- Ändern, wie der Standard-Kalender aussieht.
- Ändern, wie der Server funtioniert.
Den Standard-Kalender anpassen¶
Die Konfiguration aller Kalender basiert auf der default_specification.yml. All diese Werte können durch eine Kopie dieser Datei im Web geändert werden, indem Du den specification_url
Parameter auf die URL zur Kopie als setzt. Jeder Parameter sollte in der default_specification.yml dokumentiert sein.
Wenn Du die Standard-Spezifikation änderst, dann ändern sich alle Kalender, die auf deiner Instanz laufen. Kalender überschreiben zwar einige Werte aber die, die sie nicht überschreiben, sind dann betroffen. Nicht alle Werte können auf der Konfigurationsseite verändert werden. Diese Werte können aber immernoch über die default_specification.yml oder die Anfrageparameter verändert werden.
Wahrscheinlich willst Du die folgenden Werte ändern.
title
¶
Der Titel der Webseite.
language
¶
Das ist die Standart-Sprache. Wenn Du die änderst, haben es Leute einfacher, die lokal mit dir arbeiten.
favicon
¶
Das ist der Link zu dem Bild der Webseite.
source_code
¶
Wenn DU Änderungen vorgenommen hast, bist du legal verpflichtet, diese den Besuchern der Webseite mitzuteilen. Bitte verändere den Link oder füge sie zum Hauptprojekt hinzu.
contributing
¶
Wenn Du auf eine andere Seite verweisen magst, um zu Deinem Projekt beizutragen.
privacy_policy
¶
Wenn Du diesen Dienst auf einem eigenen Server betreibst, dann kannst Du unsere Datenschutzerklärung verwenden.
Solltest Du DIch aus irgendeinem Grund entscheiden, personenbezogene Daten zu speichern, z.B. im HTTPS-Proxy die IP-Adressen, dann musst Du eine eigene Datenschutzerklärung erstellen. Du kannst darin die des Projektes verlinken.
Mehr Werte¶
Es gibt viel mehr Werte, die geändert werden können. Sieh in der default_specification.yml nach. Dort sind sie dokumentiert.
Siehe auch:
Den Server Anpassen¶
Umgebungsvariablen beeinflussen nur das Verhalten des Servers. Diese Umgebungsvariablen können für den Server verwendet werden:
ALLOWED_HOSTS¶
Standardwert: leer
The clients divided by comma that are allowed to access the Open Web Calendar. You will see this text if you try to access the service and you are not allowed:
Forbidden: You don’t have the permission to access the requested resource. It is either read-protected or not readable by the server.*
Beispiele:
- permit only the same computer:
ALLOWED_HOSTS=localhost
- permit several hosts:
ALLOWED_HOSTS=192.168.0.1,192.168.2,api.myserver.com
- permit everyone to access the server (default):
ALLOWED_HOSTS=
orALLOWED_HOSTS=*
This functionality is provided by flask-allowed-hosts.
PORT¶
Standardwert: 5000
, im Docker-Container: 80
Der Netzwerk-Port auf dem der Dienst läuft.
Beispiele:
- Den HTTP-Port nutzen:
PORT=80
WORKERS¶
Standardwert: 4
, nur im Docker-Container
Die Anzahl paralleler Arbeiter, um die Anfragen zu beantworten.
Beispiele:
- Nutze nur einen Arbeiter:
WORKERS=1
CACHE_REQUESTED_URLS_FOR_SECONDS¶
Standartwert: 600
Sekunden, die die Kalenderdateien zwischengespeichert werden, um Bandbreite und Verzögerung zu reduzieren.
Beispiele:
- Schnelles Neuladen:
CACHE_REQUESTED_URLS_FOR_SECONDS=10
APP_DEBUG¶
Standartwert: true
, Werte true
oder false
, immer false
im Docker-Container
Setze das Debug-Flag für die App.
Further Configuration¶
Der offene Web-Kalender nutzt Bibliotheken, mit denen das Verhalten weiter angepasst werden kann.
- Flask hat mehr Umgebungsvariablen, die verändern, wie der Server Inhalte liefert.
- requests wird genutzt, um die
.ics
-Dateien herunterzuladen. Du kannst einen Proxy bestimmen.
SSRF-Schutz druch einen Proxy¶
Der offene Web-Kalender kann genutzt werden, um das lokale Netz hinter einer Firewall zu scannen, siehe Issue 250. Dieser freie Zugang ist gewollt, um Kalender von überall anzuzeigen. Da requests
genutzt wird, kann ein Proxy zwischengeschaltet werden. Das ist in der requests
-Dokumentation bechrieben. Der Proxy kann dann das Filtern übernehmen.
export HTTP_PROXY="http://10.10.1.10:3128"
export HTTPS_PROXY="http://10.10.1.10:1080"
export ALL_PROXY="socks5://10.10.1.10:3434"
Siehe auch: