== Dienste für Projekte == In den Projekten der Arbeitsgruppen besteht oft der Wunsch nach IT-Diensten für Versionsverwaltung, Bug-Tracking, Web-Hosting und ähnliches. Dies gilt insbesondere auch für die studentischen Projekte. In der Regel ist es nicht nötig, in den einzelnen Projekten hierfür dedizierte Server mit den entsprechenden Diensten aufzusetzen. Diese müssten kontinuierlich gewartet und aktualisiert werden und oftmals nach Abschluss des Projekts weiterbetrieben werden. Stattdessen können entsprechende Dienste genutzt werden, die schon von der zentralen Technik des FB3 für alle Nutzer, Arbeitsgruppen und Projekte angeboten werden. Die Nutzung der zentral angebotenen Dienste anstelle von in Eigenregie eingerichteten Diensten spart Zeit und Arbeitsaufwand. Auch die IT-Sicherheit im FB3-Netz kann somit verbessert werden. Diese Seite enthält eine Aufstellung von Diensten, die typischerweise von Projekten genutzt werden. Bei Fragen dazu oder Wünschen nach hier nicht aufgeführten Diensten bitte einfach eine Mail an <> schicken. <> === Projektverwaltung, Versionsverwaltung === * [[Dienste/Gitlab|Gitlab]] * [[Dienste/Gitlab/CI|Gitlab Continuous Integration]] === Datenbanken === * PostgreSQL * MySQL Datenbanken können via E-Mail an <> beantragt werden. Die Mail sollte folgende Informationen enthalten: * FB3-Accountname * Gewünschter Datenbanktyp (Postgres/MySQL) * Gewünschter Datenbankname * (Optional) Initiales Passwort === Webserver === Jeder FB3-Benutzer kann selbstständig eine [[homepage-howto|persönliche Website]] einrichten. Falls dies für ein Projekt nicht ausreichend ist, kann auf dem zentralen Webserver ein [[https://httpd.apache.org/docs/current/vhosts/|Virtual Host]] zur Verfügung gestellt werden. Zur Einrichtung eines Virtual Hosts, bzw. zur Klärung von Details dazu, kann man sich per E-Mail an <> wenden. === Fileserver === Jeder Benutzer hat im FB3-Dateisystem ein Heimverzeichnis, auf das per NFS, [[Dienste/Samba|Samba]] und [[SSH|SFTP]] zugegriffen werden kann. Für Projekte kann die [[Disk-Quotas|Quota]] der Teilnehmer angehoben und/oder ein Projektverzeichnis (z.B. {{{/home/projektname}}}) bereitgestellt werden. (<>) === Mailinglisten === [[Mail-Dienst#Aliases_und_Mail-Verteiler|Siehe Maildienst-Dokumentation]] === Sonstiges === * [[Dienste/EtherPad|EtherPad]] (kollaboratives Bearbeiten von Text-Dokumenten) * [[Dienste/HedgeDoc|HedgeDoc]] (kollaboratives Bearbeiten von Markdown-Dokumenten und Web-Präsentationen) * [[https://mattermost.informatik.uni-bremen.de/|Mattermost]] (Chat-System; an [[Dienste/Gitlab|Gitlab]] gekoppelt) * [[DAViCal|CalDAV-Kalenderserver]] * Moin''''''Moin-Wiki * Bei Bedarf eine E-Mail an <> schicken. === Virtuelle Maschinen === Für Projekte, deren Anforderungen nicht von den vorhandenen zentralen Diensten bedient werden können, können zentral gehostete virtuelle Maschinen (VMs) auf [[https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine|KVM]]- oder [[https://en.wikipedia.org/wiki/Bhyve|bhyve]]-Basis bereitgestellt werden (solange Ressourcen dafür frei sind). Bei Bedarf an einer VM bitte eine E-Mail an <> schicken. Die Mail sollte folgende Informationen enthalten: * Primärer Ansprechpartner für die VM * Name des Projektes/der Arbeitsgruppe * Benötigte Ressourcen (Anzahl CPU-Kerne, RAM, Plattenplatz) * /!\ '''Allgemeiner Hinweis:''' Hier bitte sinnvolle/realistische Werte angeben. Wir haben nur begrenzte Ressourcen und insbesondere RAM und Plattenplatz lassen sich aus Gründen der Stabilität nicht einfach überbuchen. Ein "Viel hilft viel"-Ansatz bei der Ressourcenbemessung ist hier fehl am Platz. Im Zweifelsfall kann eine VM nachträglich größer gemacht werden. * /!\ '''Hinweis zu Plattenplatz:''' Wir erzeugen VMs aus fertigen Images, die die Größe der Systemfestplatte vorgeben. Die Größe der Systemplatte kann nachträglich geändert werden, was aber erfordert, dass im Gastsystem hinterher Partitionstabelle, Dateisysteme etc. manuell angepasst werden müssen. Wo möglich werden zusätzliche Anforderungen an Plattenplatz deshalb durch das Hinzufügen zusätzlicher Festplatten zu der VM gelöst. * Gewünschter Hostname * Gewünschtes Betriebssystem * Debian 11, 12 * Ubuntu 20.04, 22.04 * CentOS 7, 8 * CentOS Stream 8, 9 * SmartOS (Solaris-Derivat) * Windows und andere auf Anfrage * Ein Ablaufdatum, d.h. wie lange soll die VM genutzt werden? * Falls das OS nicht Windows ist, ein öffentlicher SSH-Key * Falls das Projekt in einer Arbeitsgruppe mit eigenem IP-Adressbereich durchgeführt wird, in dem die VM sein kann/soll/muss, das VLAN und die IP-Adresse Der '''Zugang zu VMs''' erfolgt via SSH bei Unix/Linux-Systemen bzw. Remote Desktop bei Windows. Für die initiale Einrichtung von Windows wird ein VNC-Zugang zur physischen Konsole der VM bereitgestellt. Initial bekommt ausschließlich der Antragsteller Zugang zu der VM. Die zentrale Technik richtet sich keine eigenen Logindaten oder Hintertüren zum Gastsystem ein und kann somit bei Problemen nur mit zusätzlichem Aufwand auf das Gastsystem zugreifen (z.B. durch das Booten von einem Live-Image.) Das '''Ablaufdatum''' dient primär um Karteileichen zu vermeiden und kann bei Bedarf beliebig verlängert werden. 30 Tage vor Ablauf einer VM wird eine automatische Warn-E-Mail verschickt. Nach Ablauf einer VM wird diese zunächst abgeschaltet und mindestens eine Woche lang vorgehalten, bevor sie gelöscht wird. /!\ '''Hinweis Windows:''' Windows-VMs kommen ohne '''Lizenz'''. Es muss unbedingt darauf geachtet werden, dass Lizenzen beschafft werden, die für den Nutzungszweck und für virtuelle Maschinen geeignet sind. '''Wartungsarbeiten''' und '''Ausfälle''', die Auswirkungen auf die Verfügbarkeit von VMs haben, werden auf der [[http://status.informatik.uni-bremen.de/|Status-Seite]] für FB3-Dienste angekündigt bzw. bestätigt/dokumentiert. === Datensicherung === Die Daten der zentralen Dienste werden nächtlich gesichert. Wo es anwendbar ist, werden zusätzlich Dateisystem-Snapshots angelegt, die bis zu einer Woche lang vorgehalten werden. Von allen VMs werden täglich Snapshots angelegt, die auf einen Fileserver repliziert und derzeit 14 Tage vorgehalten werden.