/* Space-Events */ Vorstandsarbeitstreffen vor Ort
[stratum0-wiki.git] / Regolas.mw
index 7eb1f22..d5ef212 100644 (file)
@@ -4,8 +4,8 @@
 * {{Benutzer|comawill}} für Kalender,
 * [[Benutzer:Daniel Bohrer|Daniel Bohrer]] für alles andere
 |status=working
-|ort=[[endor]]
-|beschreibung=VM für MediaWiki und statische Web-Dinge
+|ort=[[endur]]
+|beschreibung=VM für PHP/CGI-Dienste (MediaWiki, Paste, Dudle) und statische Dateien
 }}
 
 == SSH-Keys ==
 * 4 CPU-Cores
 * internes Netzwerk via DHCP
 * HTTP kommt über [[gandolf]] als (SSL-)Proxy
-** Webroot in /srv/www/webroot, von dort aus meist Symlinks
+** Subdomains kommen von [[gandolf]] mit Host-Header, werden hier auf regolas auch als eigene Subdomains in <tt>/etc/nginx/sites-enables/*.stratum0.org</tt> geführt
 * Mail per <tt>ssmtp</tt>
 
-=== Services ===
+Services, nach Subdomains getrennt:
+
+=== <tt>stratum0.org</tt> ===
+Alles, was statisch direkt im Webroot liegen kann, sowie Wiki als Hauptseite. Webroot in /srv/www/webroot, von dort aus meist Symlinks.
+
 * MediaWiki
 ** https://stratum0.org/mediawiki/index.php, https://stratum0.org/wiki/ als Rewrite-Alias
 ** Dateien in /srv/www/mediawiki-<version>, Extensions in /srv/www/mediawiki-extensions, Medien in /srv/www/mediawiki-images
 ** OpenLayers für die OpenStreetMap-Karten unter [[Anfahrt]] in /srv/www/openlayers
 ** Abhängigkeiten: 
 *** Core: <tt>nginx php-fpm php-apcu php-intl php-gd php-mbutils php-xml php-mysql mariadb-server</tt>
-*** Für SVG/PDF-Support: <tt>inkscape ghostscript poppler-utils</tt>
+*** Für SVG/PDF-Support: <tt>librsvg2-bin ghostscript poppler-utils</tt>
 *** Für die MediaWiki-Wartungsskripte: <tt>php-cli</tt>
 * Blog
-** https://stratum0.org/blog
-** statische Dateien von [[bogomir]] (GitLab-CI) per rsync nach /srv/www/blog
+** statische Dateien von [[bogomir]] (GitLab-CI) per rsync nach <tt>/srv/www/blog-preview/<i>$branchname</i></tt>
+*** <tt>/srv/www/blog-preview/master</tt> → https://stratum0.org/blog
+*** <tt>/srv/www/blog-preview/preview</tt> → <nowiki>https://stratum0.org/blog-preview/preview</nowiki> (don't use, broken links!) → https://sandbox.stratum0.org/blog von [[gandolf]] via Reverse Proxy
+*** (funktioniert prinzipiell für alle Branches, aber nur <tt>preview</tt> und <tt>master</tt> sind im Moment nach außen richtig verdrahtet. Problem dabei sind absolute Pfade im Blog-Setup auf <tt>/blog/…</tt>, sodass für jeden Branch im Prinzip eine eigene Domain nötig wäre.)
 ** Abhängigkeiten: <tt>openssh-client</tt>
 * Kalender
-** Python-Bot in /home/comawill/stratum0-calendar, läuft als User comawill alle 10 Minuten via User-crontab
-** Bot tut statische Dateien nach /srv/www/webroot/kalender/
-** Abhängigkeiten: <tt>python2.7</tt>
-* PrivateBin
-** https://paste.stratum0.org
-** PrivateBin 1.1 in /srv/www/privatebin, verschlüsselte Daten in /srv/www/privatebin-data
-** Abhängigkeiten: <tt>nginx php-fpm php-gd</tt>
-* data.stratum0.org
-** https://data.stratum0.org von [[gandolf]] als Proxy nach http://regolas/data.stratum0.org
-** statische Dateien von [[theodem]] kommen per rsync (Unix-User theodem-rsync via SSH-Key) nach /srv/www/data.stratum0.org/
-** Abhängigkeiten: <tt>openssh-client</tt>
+** Git-Repo: https://gitli.stratum0.org/stratum0/calendar/
+** Python-virtualenv in <tt>/opt/stratum0-calendar-venv</tt> (be root)
+** Code in <tt>/opt/stratum0-calendar</tt> (be root)
+** <tt>bot.py</tt> läuft als User <tt>calendar</tt> alle 10 Minuten via <tt>/etc/cron.d/stratum0-calendar</tt>
+** tut statische Dateien nach <tt>/srv/www/webroot/kalender/</tt>
+** Abhängigkeiten: <tt>python3 virtualenv</tt>, außerdem <tt>/opt/stratum0-calendar/requirements.txt</tt> im virtualenv
+** Außerdem folgende glibc-Locales: <tt>de_DE.UTF-8  en_US.UTF-8  fr_CA.UTF-8  fr_FR.UTF-8</tt>
 * Recordings von [[Vorträge]]n
 ** statische Dateien in /srv/www/webroot/recordings (direkt im Webroot)
 
+=== <tt>paste.stratum0.org</tt> ===
+
+PrivateBin als Paste-Service
+* PrivateBin 1.3.5 in /srv/www/privatebin, verschlüsselte Daten in /srv/www/privatebin-data
+* Abhängigkeiten: <tt>nginx php-fpm php-gd</tt>
+
+=== <tt>data.stratum0.org</tt> ===
+
+Stratum 0 Open Data Portal™
+
+* https://data.stratum0.org von [[gandolf]] als Proxy nach http://regolas/data.stratum0.org
+* statische Dateien von [[theodem]] kommen per rsync (Unix-User theodem-rsync via SSH-Key) nach /srv/www/data.stratum0.org/
+* Abhängigkeiten: <tt>openssh-client</tt>
+
+=== <tt>dudle.stratum0.org</tt> ===
+
+Dudle zur Terminabstimmung
+* Source als Git in <tt>/srv/www/dudle</tt>
+** Updates bitte mit sudo. Es gibt keine Tags, nur direkt den master #yolo.
+* FastCGI auf <tt>/srv/www/dudle/*.cgi</tt> über <tt>/run/fcgiwrap.socket</tt> (via systemd socket activation)
+** neue Umfragen werden nach <tt>/srv/www/dudle/<i>slug</i>/*</tt> als Git-Repo angelegt
+* Cleanup nach 90 Tagen über <tt>/etc/cron.daily/dudle-cleanup.sh</tt>
+* Abhängigkeiten: <tt>nginx fcgiwrap spawn-fcgi ruby ruby-gettext git </tt>
+** Für Updates: <tt>gettext potool make</tt>
+* FIXME: access control https://github.com/kellerben/dudle/issues/76
+
+=== fyrebot ===
+* Update-Endpoint-Glue für den [[Space-Status]], setzt HTTP-Requests auf IRC-Requests um
+* Code von https://gitli.stratum0.org/stratum0/status-bot in <tt>/home/fyrebot</tt>
+* Start per fyrebots crontab, wird dort auch nächtlich neu gestartet, um IRC-Timeouts abzufangen
+* HTTP per Reverse Proxy über [[gandolf]]s <tt>/etc/nginx/sites-enabled/status.stratum0.org</tt>
+* Abhängigkeiten: <tt>python3 python3-irc python3-urllib</tt>
+
+=== stratumnews-bot ===
+* [https://gitli.stratum0.org/stratum0/stratumnews-bot Git-Repo] in <tt>/opt/stratumnews</tt>
+* läuft via <tt>/etc/cron.d/stratumnews</tt> als User <tt>stratumnews</tt> alle 2 Minuten
+
+== Checkliste für Updates ==
+* Wenn neues Python:
+** venv für Kalender neu anlegen: <tt>rm -rf /opt/stratum0-calendar-venv; python3 -m venv /opt/stratum0-calendar-venv; /opt/stratum0-calendar-venv/bin/pip install -r /opt/stratum0-calendar/requirements.txt</tt>
+* Wenn neues PHP:
+** <tt>/etc/php-x.y/fpm/php.ini</tt> muss manuell migriert werden, siehe [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934328 debbug 934328]. etckeeper is your friend.
+** neuen Socket in <tt>/etc/nginx/snippets/fastcgi-php.conf</tt> eintragen.
+
 == Log ==
+* PrivateBin auf 1.3.5 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 22:40, 5. Apr. 2021 (CEST)
+* PrivateBin auf 1.3.4 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 19:50, 2. Nov. 2020 (CET)
+* Dist-Upgrade auf Debian 9 (buster) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 21:17, 20. Jun. 2020 (CEST) 
+* PHP-FPM <tt>max_execution_time</tt> und nginx <tt>fastcgi_read_timeout</tt> auf 180 Sekunden, sowie MediaWiki <tt>$wgMaxShellFileSize</tt> auf 500 MiB hochgesetzt, um PDF-Preview (u.a. für [[:Datei:2020-02-03 Freistellungsbescheid.pdf]]) zu fixen --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:13, 12. Mär. 2020 (CET)
+* PrivateBin auf 1.3.3 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 12:46, 16. Feb. 2020 (CET)
+* PrivateBin auf 1.3.2 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 18:12, 11. Jan. 2020 (CET)
+* PrivateBin auf 1.3.0 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 14:46, 14. Jul. 2019 (CEST)
+* MediaWiki kann jetzt Yanone Kaffeesatz ZeroHack rendern (e.g. [[:Datei:Wurstworkshop_Label_Zitrone_r3v3.svg]]) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 20:27, 30. Jun. 2019 (CEST)
+* MediaWiki: PDF-Thumbnail-Issues durch richtige Benutzung von [https://www.mediawiki.org/wiki/Manual:$wgMaxShellMemory $wgMaxShellMemory] und [https://www.mediawiki.org/wiki/Manual:RefreshImageMetadata.php refreshImageMetadata.php] gefixt --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 20:27, 30. Jun. 2019 (CEST)
+* MediaWiki: Update auf 1.31.2 LTS --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 20:27, 30. Jun. 2019 (CEST)
+* PrivateBin auf 1.2.1 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 22:12, 20. Jun. 2019 (CEST)
+* PrivateBin auf 1.1.1 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 20:11, 14. Dez. 2017 (CET)
+* nginx-Konfigurationen auf eigene Subdomains aufgetrennt, ist nun übersichtlicher. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:52, 28. Aug. 2017 (CEST)
+* Neu: http://dudle.stratum0.org --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:52, 28. Aug. 2017 (CEST)
 * Debian jessie → stretch Upgrade. Highlights: PHP 7.0, MySQL → MariaDB, nginx 1.10.3, systemd 232, OpenSSH 7.4p1, Python 3.5. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 22:20, 27. Aug. 2017 (CEST)
 * ZeroBin durch den aktiven Fork [https://privatebin.info/ PrivateBin] ersetzt. Bestehende Bins sollten weiterhin funktionieren. --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 14:02, 26. Aug. 2017 (CEST)
 * MediaWiki: Patch SyntaxHighlight_GeSHi extension [https://github.com/wikimedia/mediawiki-extensions-SyntaxHighlight_GeSHi/commit/2d5a60a89fb3995b73e17df5901d6f023e41df3d], see [https://phabricator.wikimedia.org/T158689 T158689] --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 23:17, 30. Apr. 2017 (CEST)
This page took 0.028499 seconds and 4 git commands to generate.