# VMs und Container
# VM 100 - Home Assistant
## Technische details
CPU
4
RAM
2G
HDD
10G
OS
Ubuntu 22.04
IP
192.168.0.250/24
Domain
hass.oberlab.de
Ports
8123
## Dienste
Auf dem Container läuft [Home Assistant](https://www.home-assistant.io/), eine Home Automation Software, in einem Docker-Container
Nach Außen ist der Port 8123 der Standard-Weboberfläche erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# Container 102 - Caddy
## Technische details
CPU
4
RAM
2G
HDD
4G
OS
Ubuntu 22.04
IP
192.168.0.253/24
Domain
-
Ports
80, 443
## Dienste
Auf dem Container läuft [Caddy](https://caddyserver.com/v2), ein Web Reverse-Proxy. Er schirmt die internen Dienste ab, und bietet eine allgemeine Schnittstelle für die Ports 80/443 (HTTP/HTTPS).
Die Ports 80/443 vom Internetanschluss werden von der Kabelbox an Caddy weitergeleitet, somit kümmert sich Caddy um alle einkommenden Web-Anfragen und leitet sie entsprechend weiter.
Eine weitere Aufgabe von Caddy ist die [automatische](https://caddyserver.com/docs/automatic-https) Beantragung und Erneuerung (alle 3 Monate) von SSL Zertifikaten über den freien Dienst Let's Encrypt.
# Container 103 - Vaultwarden
## Technische details
CPU
1
RAM
1G
HDD
4G
OS
Ubuntu 22.04
IP
192.168.168.35/24
Domain
[pw.oberlab.de](https://pw.oberlab.de/)
Ports
80
## Dienste
Auf dem Container läuft [Vaultwarden](https://github.com/dani-garcia/vaultwarden), eine freie Implementierung und resourcenschonende Variante von [Bitwarden](https://bitwarden.com/) als Docker-Container. Vaultwarden implementiert dabei die API eines Bitwarden-Servers und ist damit mit allen [Bitwarden Clients](https://bitwarden.com/download/) kompatibel
Nach Außen ist der Port 80 erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/intern/obermox/container_102), der die Umsetzung nach HTTPS vornimmt.
Vaultwarden benötigt zwingend eine HTTPS Verbindung, ansonsten kommt nur eine Seite mit einer Fehlermeldung ("Please access this site over HTTPS")
# VM 104 - MQTT
## Technische details
CPU
2
RAM
1G
HDD
8G
OS
Debian 11.3
IP
192.168.0.251/24
Domain
.
Ports
1883, 8883
## Dienste
Auf dem Container läuft [Eclipse Mosquitto](https://mosquitto.org/), ein open-source MQTT Server, in einem Docker-Container
Nach Außen sind die Ports 1883 (unverschlüsselt) und 8883 (TLS-Verschlüsselt) offen
Der Zugang zum MQTT Server ist nur mittels Login/Passwort möglich, anonyme Verbindung sind nicht möglich. Dies gilt sowohl für Devices, die Daten senden wollen, als auch für Dienste, die Daten abonnieren wollen.
## MQTT User anlegen
`docker-compose exec mosquitto mosquitto_passwd -b /mosquitto/config/mosquitto.passwd username`
## MQTT mitlesen
`docker-compose exec mosquitto mosquitto_sub -u username -P passwort -t "#"`
## MQTT Topics
Um einen beliebigen Wildwuchs and MQTT Topics zu verhindern sollten hier alle Topics aufgelistet und neue entsprechend des Schemas angelegt werden.
Kategorie
Topic
Beschreibung
Kontaktperson
Projekte
projects/connecting\_peaks/<device>/+
Connecting Peaks
Joel
projects/trackhoki/<device>/+
Track Hoki
Joel
Lab
gmund/hass/heizung/<device>/+
Home Automation im Gmunder Lab
Joel/John
# VM 105 - Zamma
## Technische details
CPU
12
RAM
2/4G
HDD
8G
OS
Debian 12 Bookworm
IP
192.168.168.8/24
Domain
zamma.oberlab.de
Ports
80, 1337, 1338, 3000, 5432
## Dienste
Hier laufen die Webseiten für Zamma und Zamma-Pflanzen, die jeweiligen Admin-Oberflächen, sowie die jeweiligen Postgres Datenbanken.
# VM 106 - Minecraft
## Technische details
CPU
6
RAM
4/8G
HDD
12G /
8G /home
OS
Ubuntu 22.04 Server
IP
192.168.0.249/24
Domain
minecraft.oberlab.de
oberlab.chickenkiller
Ports
8000, 9000, 9443, 25565
## Dienste
Auf der VM läuft ein Minecraft von Julian/Konsti. Administriert wird der Container mittels [Portainer](https://docs.portainer.io/v/ce-2.9/start/install/server/docker/linux).
Nach Außen sind die Ports 8000, 9000, 9443 von Portainer erreichbar.
Minecraft verwendet den Port 25565.
# Container 107 - Listmonk
## Technische details
## Dienste
Auf dem Container läuft [ListMonk](https://listmonk.app/), eine freie Mailinglisten Verwaltungssoftware als Docker-Container.
Nach Außen ist der Port 9000 erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# Container 108 - ptrackhoki
### Technische details
CPU
4
RAM
2G
HDD
8G
OS
Ubuntu 22.04
IP
192.168.168.4/24
Domain
trackhoki.oberlab.de
Ports
3000, 8086
## Dienste
Auf dem Container laufen Telegraf, Influxdb und Grafana
Nach Außen ist der Port 3000 von Grafana erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
Der Port 8086 von Influxdb ist verfügbar um auf die Datenbank z.B. per Skript zuzugreifen, wir aber für den Betrieb von Grafana nicht verwendet (Grafana benutzt das interne Docker-Netzwerk)
## Dienste
Auf dem Container laufen Telegraf, Influxdb und Grafana
Nach Außen ist der Port 3000 von Grafana erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
Der Port 8086 von Influxdb ist verfügbar um auf die Datenbank z.B. per Skript zuzugreifen, wir aber für den Betrieb von Grafana nicht verwendet (Grafana benutzt das interne Docker-Netzwerk)
## Setup
### Grafana
in grafana.ini, den domain-Eintrag anpassen und Container neu starten
### Influxdb
Passwörter für admin, grafana und telegraf ändern
### Telegraf
Format der MQTT Pakete anpassen
Passwörter für MQTT & InfluxDB anpassen
# Container 111 - bikesensor & messi
## Technische details
## Dienste
### [Bikesensor](https://wiki.oberlab.de/books/verschiedene-projekte/page/openbikesensor "OpenBikeSensor") Projekt
Der Webserver für das OpenBikeSensor Projekt läuft auf Port 8000, wird über ein Systemd-Service gestartet
Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
### [Messi](https://wiki.oberlab.de/books/messis-im-oberland "Messis im Oberland") Projekt
Auf dem Container laufen Influxdb und Grafana sowie ein [cherrypy](https://cherrypy.dev/) Webserver
Nach Außen ist der Port 3000 von Grafana erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
Der Port 8086 von Influxdb ist verfügbar um auf die Datenbank z.B. per Skript zuzugreifen, wir aber für den Betrieb von Grafana nicht verwendet (Grafana benutzt das interne Docker-Netzwerk)
Der Port 80 wird von cherrypy verwendet, um die Nachrichten von [TTN](https://wiki.oberlab.de/books/allgemeines-wissen/page/lora-ttn "LoRa & TTN") per WebPush zu empfangen
Die passende Software liegt unter [https://gitlab.com/oberlab/p\_messi.git](https://gitlab.com/oberlab/p_messi.git)
# VM 112 - Proxmox Backup Server
## Technische details
## Dienste
Auf dem Container läuft [proxmox backup server](https://www.proxmox.com/de/proxmox-backup-server). Dessen Web-Oberfläche ist über den Port 8007 erreichbar
Nach Außen ist der Port 3000 von Grafana erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
## Zweite Platte
Die zweite Platte beinhaltet die Backups. Sie ist unter /mnt/datastore/oberlab gemountet
# VM 114 - Project services
## Technische details
CPU
4
RAM
1-4G
HDD
32G
OS
Debian 12 Bookworm
IP
192.168.0.242/24
Domain
Ports
3000, 3001, 8000, 8086, 8087
## Dienste
### Connecting peaks
Ports 3001 ([Grafana](https://wiki.oberlab.de/books/allgemeines-wissen/page/grafana "Grafana")) & 8087 ([Influxdb](https://wiki.oberlab.de/books/allgemeines-wissen/page/influxdb "InfluxDB")). Ferner 2x [Telegraf](https://wiki.oberlab.de/books/allgemeines-wissen/page/telegraf "Telegraf") für die Abholung der Daten von [TTN](https://wiki.oberlab.de/books/allgemeines-wissen/page/lora-ttn "LoRa & TTN").
Angesteuert werden die Ports vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
### Bike Sensor
Port 8000 (Web-Oberfläche)
Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
1 Systemd Service für die Web-Oberfläche
### Messis im Oberland
Ports 3000 ([Grafana](https://wiki.oberlab.de/books/allgemeines-wissen/page/grafana "Grafana")) für das [Dashboard](https://wiki.oberlab.de/books/messis-im-oberland/page/grafana-dashboard "Grafana Dashboard") & 8086 ([Influxdb](https://wiki.oberlab.de/books/allgemeines-wissen/page/influxdb "InfluxDB"))
Angesteuert werden die Ports vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
Benötigte Packages: `apt install python3-cherrypy3 python3-influxdb`
1 Systemd Service für den [Empfang der Daten von TTN](https://wiki.oberlab.de/books/messis-im-oberland/page/ttn-empfanger-influx-grafana "TTN Empfänger, Influx, Grafana")
# VM 116 - Internal Services
## Technische details
CPU
2
RAM
1-2G
HDD
12G
OS
Debian 12 Bookworm
IP
192.168.168.15/24
Domain
Ports
80, 9000
## Dienste
### Vaultwarden
Auf dem Container läuft [Vaultwarden](https://github.com/dani-garcia/vaultwarden), eine freie Implementierung und resourcenschonende Variante von [Bitwarden](https://bitwarden.com/) als Docker-Container. Vaultwarden implementiert dabei die API eines Bitwarden-Servers und ist damit mit allen [Bitwarden Clients](https://bitwarden.com/download/) kompatibel
Nach Außen ist der Port 80 erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
Vaultwarden benötigt zwingend eine HTTPS Verbindung, ansonsten kommt nur eine Seite mit einer Fehlermeldung ("Please access this site over HTTPS")
### Listmonk
Auf dem Container läuft [ListMonk](https://listmonk.app/), eine freie Mailinglisten Verwaltungssoftware als Docker-Container.
Nach Außen ist der Port 9000 erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# VM 117 - Oberlogin
## Technische details
## Dienste
Auf dem Container läuft [Keycloak](https://www.keycloak.org/), eine User Management Software, die für das SSO zuständig ist.
Nach Außen ist der Port 8080 der Standard-Weboberfläche erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# VM 118 - Obercloud
## Technische details
## Dienste
Auf dem Container läuft [Nextcloud](https://nextcloud.com/), eine Cloud Software. Passend dazu ebenfalls [Collabora Office](https://www.collaboraoffice.com/) um
Nach Außen sind die Ports 80 und 9980 der Standard-Weboberfläche erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# VM 119 - old Wiki
## Technische details
## Dienste
Auf dem Container läuft [Wiki.js](https://js.wiki/), eine Wiki Software.
Nach Außen ist der Port 3000 der Standard-Weboberfläche erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# VM 120 - Wiki
## Technische details
## Dienste
Auf dem Container läuft [BookStack](https://www.bookstackapp.com/), eine Wiki Software.
Nach Außen ist der Port 80 der Standard-Weboberfläche erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.
# VM 121 - Paperless
## Technische details
## Dienste
Auf dem Container läuft [Paperless-ngx](https://docs.paperless-ngx.com/), ein Dokument Mangement System.
Ferner läuft ein Samba-Server auf Ports 139/445, womit ein Upload von Dokumenten (zB direkt aus dem Scanner/Drucker im Lab) möglich ist.
Nach Außen ist der Port 80 der Standard-Weboberfläche erreichbar. Angesteuert wird der Port vom [Caddy Container](https://wiki.oberlab.de/books/server-gmund/page/container-102-caddy "Container 102 - Caddy"), der die Umsetzung nach HTTPS vornimmt.