VPS Setup: Unterschied zwischen den Versionen

Aus Un-Hack-Bar
Zur Navigation springen Zur Suche springen
K (unhb-Links ohne Minus entfernt)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Docker Setup==
+
== Docker Setup ==
 
=== Allgemeines ===
 
=== Allgemeines ===
 
Unter [[Docker Befehle]] gibt es eine Liste von nützlichen docker Befehlen (z.B. für debugging)
 
Unter [[Docker Befehle]] gibt es eine Liste von nützlichen docker Befehlen (z.B. für debugging)
  
===Config-Files:===
+
=== Config-Files: ===
 
Es ist zu jedem Docker-Container ein Setup im Ordner /srv/docker-config/<container> abgelegt. Die Container werden auf zwei verschiedene Arten definiert:
 
Es ist zu jedem Docker-Container ein Setup im Ordner /srv/docker-config/<container> abgelegt. Die Container werden auf zwei verschiedene Arten definiert:
 
# (bevorzugt)<span>docker-compose.yml</span>
 
# (bevorzugt)<span>docker-compose.yml</span>
Zeile 11: Zeile 11:
 
# (legacy) Drei Files: ./create.sh, ./replace.sh und env_file. Diese Files definieren die Container und können zum neustarten / ersetzen / verändern verwendet werden
 
# (legacy) Drei Files: ./create.sh, ./replace.sh und env_file. Diese Files definieren die Container und können zum neustarten / ersetzen / verändern verwendet werden
  
===Volumes:===
+
=== Volumes: ===
 
Gemountete Volumes sollen unter /srv/docker-volumes/<container>/<volume-wie-im-container> abgelegt werden.
 
Gemountete Volumes sollen unter /srv/docker-volumes/<container>/<volume-wie-im-container> abgelegt werden.
  
=Contabo Server 1=
+
= Contabo Server 1 =
  
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
|-  
|Container-Name
+
| Container-Name
|Image
+
| Image
|Sub-Container
+
| Sub-Container
|Web-Adresse<br />
+
| Web-Adresse<br>
|Networks
+
| Networks
|Externe Ports
+
| Externe Ports
|Besonderheiten
+
| Besonderheiten
|Erläuterung
+
| Erläuterung
|-
+
|-  
|nginx
+
| nginx
|jwilder/nginx-proxy:alpine
+
| jwilder/nginx-proxy:alpine
|(-)
+
| (-)
|(-)
+
| (-)
|nginx_net
+
| nginx_net
|80, 443
+
| 80, 443
| 
+
|
|Reverse Proxy. Schleift Anfragen zum richtigen Container durch.
+
<br>
|-
+
| Reverse Proxy. Schleift Anfragen zum richtigen Container durch.
|nginx-proxy-letsencrypt
+
|-  
|jrcs/letsencrypt-nginx-proxy-companion:stable
+
| nginx-proxy-letsencrypt
|(-)
+
| jrcs/letsencrypt-nginx-proxy-companion:stable
|(-)
+
| (-)
|nginx_net
+
| (-)
|(-)
+
| nginx_net
| 
+
| (-)
|Holt letsencrypt Zertifikate für alle Container ab.
+
|
|-
+
<br>
|watchtower
+
| Holt letsencrypt Zertifikate für alle Container ab.
|containrrr/watchtower
+
|-  
|(-)
+
| watchtower
|(-)
+
| containrrr/watchtower
|(-)
+
| (-)
|(-)
+
| (-)
| 
+
| (-)
|Überwacht laufende Container. Wenn es eine neue Version gibt, wird der Container gestoppt, die neue Version gepullt, der Container gelöscht und neu gestartet.
+
| (-)
|-
+
|
|gitea
+
<br>
|gitea/gitea:latest
+
| Überwacht laufende Container. Wenn es eine neue Version gibt, wird der Container gestoppt, die neue Version gepullt, der Container gelöscht und neu gestartet.
|(-)
+
|-  
 +
| gitea
 +
| gitea/gitea:latest
 +
| (-)
  
|git.un-hack-bar.de, git.unhb.de, git.unhackbar.de
+
| git.un-hack-bar.de, git.unhb.de
|nginx_net
+
| nginx_net
|22
+
| 22
| 
+
|
|Git Server
+
<br>
|-
+
| Git Server
|wiki
+
|-  
|christopher/wiki
+
| wiki
|wiki_sql (mariadb)
+
| christopher/wiki
|wiki.un-hack-bar.de, wiki.unhb.de, wiki.unhackbar.de
+
| wiki_sql (mariadb)
|nginx_net wiki_net
+
| wiki.un-hack-bar.de, wiki.unhb.de<br>
|(-)
+
| nginx_net wiki_net
|Eigens angepasstes Dockerfile, basierend auf Mediawiki. Wer das Ding anfasst wird automatisch für immer Admin davon.<br />
+
| (-)
|Mediawiki Server
+
| Eigens angepasstes Dockerfile, basierend auf Mediawiki. Wer das Ding anfasst wird automatisch für immer Admin davon.<br>
|-
+
| Mediawiki Server
|spaceapi
+
|-  
|sebp/lighttpd:latest
+
| spaceapi
|(-)
+
| sebp/lighttpd:latest
|status.un-hack-bar.de
+
| (-)
 +
| status.un-hack-bar.de
  
 
status.unhb.de
 
status.unhb.de
  
status.unhackbar.de
+
 
  
 
keinanschluss.un-hack-bar.de
 
keinanschluss.un-hack-bar.de
Zeile 86: Zeile 90:
 
keinanschluss.unhb.de
 
keinanschluss.unhb.de
  
keinanschluss.unhackbar.de
+
<br>
|nginx_net
+
| nginx_net
|(-)
+
| (-)
|Hier wird ein gesonderter Benutzer "keinanschluss" verwendet. Ein Raspi im Space verbindet sich mit SSH. Deswegen ist das /home von "keinanschluss" auf das Volume glelegt und das Volume beherbergt einen SSH-Key für den Raspi.
+
| Hier wird ein gesonderter Benutzer "keinanschluss" verwendet. Ein Raspi im Space verbindet sich mit SSH. Deswegen ist das /home von "keinanschluss" auf das Volume glelegt und das Volume beherbergt einen SSH-Key für den Raspi.
|Macht irgendwas für die Spaceapi. (Bitte gern ergänzen, wenn wer weiß was genau)
+
| Macht irgendwas für die Spaceapi. (Bitte gern ergänzen, wenn wer weiß was genau)
|-
+
|-  
|portainer
+
| portainer
|portainer/portainer:latest
+
| portainer/portainer:latest
|(-)
+
| (-)
|portainer.un-hack-bar.de, portainer.unhb.de
+
| portainer.un-hack-bar.de, portainer.unhb.de
|(-)
+
| (-)
|(-)
+
| (-)
 +
|
 +
<br>
 +
| Portainer zum verwalten der Docker-Container, aktuell nur für Server1 verfügbar
 +
|-
 +
| jverein_sql
 +
| mariadb:10.3.5
 +
| (-)
 +
| (-)
 
|
 
|
|Portainer zum verwalten der Docker-Container, aktuell nur für Server1 verfügbar
+
<br>
|-
+
|
|jverein_sql
+
<br>
|mariadb:10.3.5
+
|
|(-)
+
<br>
|(-)
+
| Mariadb-Datenbank für jVerein. Das Programm selbst ist lokal auf den Clients installiert, nur die DB wird geteilt. Zugriff per SSH.
+
|-  
+
| nextcloud
+
| nextcloud:stable
|Mariadb-Datenbank für jVerein. Das Programm selbst ist lokal auf den Clients installiert, nur die DB wird geteilt. Zugriff per SSH.
+
| nextcloud_sql
|-
+
| cloud.unhb.de, cloud.un-hack-bar.de<br>
|nextcloud
+
| nginx_net, nextcloud_net
|nextcloud:stable
+
| (-)
|nextcloud_sql
+
|
|cloud.unhb.de, cloud.un-hack-bar.de, cloud.unhackbar.de
+
<br>
|nginx_net, nextcloud_net
+
| Nextcloud Instanz für die Dateisyncronisation im Space.
|(-)
+
|-  
| 
+
| codimd
|Nextcloud Instanz für die Dateisyncronisation im Space.
+
| hackmdio/hackmd
|-
+
| codi_sql (postgres)
|codimd
+
| hackmd.un-hack-bar, hackmd.unhb.de
|hackmdio/hackmd
+
| nginx_net
|codi_sql (postgres)
 
|hackmd.un-hack-bar, hackmd.unhb.de
 
|nginx_net
 
  
 
codimd_net
 
codimd_net
|(-)
+
| (-)
|  
+
|
|Ein "Etherpad" mit Markup-Syntax und weitere möglichkeiten
+
<br>
|-
+
| Ein "Etherpad" mit Markup-Syntax und weitere möglichkeiten
|etherpad-lite
+
|-  
|etherpad/etherpad
+
| etherpad-lite
|etherpad_sql (mariadb:latest)
+
| etherpad/etherpad
|pad.un-hack-bar, pad.unhb.de
+
| etherpad_sql (mariadb:latest)
|nginx_net
+
| pad.un-hack-bar, pad.unhb.de
 +
| nginx_net
  
 
etherpad_net
 
etherpad_net
|(-)
+
| (-)
|
 
|Einfaches Etherpad. Admin Zugang steht im Keepass
 
 
|
 
|
|-
+
<br>
|Wordpress
+
| Einfaches Etherpad. Admin Zugang steht im Keepass
|wordpress:latest
+
|
|wordpress_sql (mariadb:10.5)
+
<br>
|un-hack-bar, unhb.de, www.un-hack-bar.de, www.unhb.de, blog2.un-hack-bar.de
+
|-  
|nginx_net
+
| Wordpress
 +
| wordpress:latest
 +
| wordpress_sql (mariadb:10.5)
 +
| un-hack-bar, unhb.de, www.un-hack-bar.de, www.unhb.de, blog2.un-hack-bar.de
 +
| nginx_net
 
wordpress_net
 
wordpress_net
|(-)
+
| (-)
|  
+
|
|Unser Blog.... Admin Zugang im Kesspass. DB User+Kennwort in den Docker-Compose file.
+
<br>
|-
+
| Unser Blog.... Admin Zugang im Kesspass. DB User+Kennwort in den Docker-Compose file.
|Matrix
+
|-  
|matrixdotorg/synapse:latest
+
| [[Matrix]]
 +
| matrixdotorg/synapse:latest
 
|
 
|
 
matrix_sql (postgres:10-alpine)
 
matrix_sql (postgres:10-alpine)
Zeile 161: Zeile 174:
 
[[matrix_pingbot]] (dock.mau.dev/maubot/maubot:latest)
 
[[matrix_pingbot]] (dock.mau.dev/maubot/maubot:latest)
  
|matrix.un-hack-bar, matrix.unhb.de,
+
| matrix.un-hack-bar.de, matrix.unhb.de,
|nginx_net
+
| nginx_net
 
matrix_net
 
matrix_net
|443, 8448
+
| 443, 8448
|Port 443 läuft über den reverse proxy, 8448 (für Matrix Federation) direkt aus dem Container, LE Zertifikate via mount-bind aus dem Proxy
+
| Port 443 läuft über den reverse proxy, 8448 (für Matrix Federation) direkt aus dem Container, LE Zertifikate via mount-bind aus dem Proxy
|Der Matrix Server und 2 weitere Dienste (Telegram-Bridge und Pingpot). Details dazu auf der jeweiligen Wikiseite.
+
| Der Matrix Server und 2 weitere Dienste (Telegram-Bridge und Pingpot). Details dazu auf der jeweiligen Wikiseite.
|-
+
|-  
|Poste.io
+
| Poste.io
|analogic/poste.io
+
| analogic/poste.io
 
| (-)
 
| (-)
|mail.un-hack-bar, mail.unhb.de,
+
| mail.un-hack-bar, mail.unhb.de,
|nginx_net
+
| nginx_net
|25, 110, 143, 465, 587, 993, 995, 4190, 80
+
| 25, 110, 143, 465, 587, 993, 995, 4190, 80
|Webmail unter mail.un-hack-bar.de erreichbar.
+
| Webmail unter mail.un-hack-bar.de erreichbar.
 
|
 
|
 +
<br>
 
|}
 
|}
  
=neuromancer (aka Contabo Server 2)=
+
= neuromancer (aka Contabo Server 2) =
  
 
* IP: 213.136.84.38
 
* IP: 213.136.84.38
Zeile 189: Zeile 203:
  
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
|- <th container="" br="">Name &gt;| Image|| Sub<br>Container || Web<br>Adresse || Networks|| Externe<br>Ports<br>|| Besonderheiten|| Erläuterung</th>
! Container<br/>Name || Image|| Sub<br/>Container || Web<br/>Adresse || Networks|| Externe<br/>Ports<br />|| Besonderheiten|| Erläuterung
+
|-  
|-
+
| [[Projekt:Minecraft-Server|minecraft]]
|[[Projekt:Minecraft-Server|minecraft]]
+
| [https://hub.docker.com/r/itzg/minecraft-server/ itzg/minecraft-server]
|[https://hub.docker.com/r/itzg/minecraft-server/ itzg/minecraft-server]
 
 
|
 
|
 +
<br>
 
|
 
|
 
* http://mc.unhb.de:8123 (direkt)
 
* http://mc.unhb.de:8123 (direkt)
 
* https://mc.unhb.de/ (via nginx-reverse-proxy)
 
* https://mc.unhb.de/ (via nginx-reverse-proxy)
 
|
 
|
 +
<br>
 
|
 
|
 
* 8123 (dynmap)
 
* 8123 (dynmap)
Zeile 209: Zeile 224:
 
** VIRTUAL_PORT: 8123
 
** VIRTUAL_PORT: 8123
 
** LETSENCRYPT_HOST: mc.unhb.de
 
** LETSENCRYPT_HOST: mc.unhb.de
|Admin: ryze
+
| Admin: ryze
|-
+
|-  
|watchtower
+
| watchtower
|containrrr/watchtower
+
| containrrr/watchtower
|(-)
+
| (-)
|(-)
+
| (-)
|(-)
+
| (-)
|(-)
+
| (-)
 
| email notifications werden derzeit an smash gesendet
 
| email notifications werden derzeit an smash gesendet
|Überwacht laufende Container. Wenn es eine neue Version gibt, wird der Container gestoppt, die neue Version gepullt, der Container gelöscht und neu gestartet.
+
| Überwacht laufende Container. Wenn es eine neue Version gibt, wird der Container gestoppt, die neue Version gepullt, der Container gelöscht und neu gestartet.
|-
+
|-  
|nginx
+
| nginx
|jwilder/nginx-proxy:alpine
+
| jwilder/nginx-proxy:alpine
|(-)
+
| (-)
|(-)
+
| (-)
 
|
 
|
 
* nginx_net
 
* nginx_net
 
* minecraft_default
 
* minecraft_default
 
* mailcowdockerized_mailcow-network
 
* mailcowdockerized_mailcow-network
|80, 443
+
| 80, 443
|  
+
|
|Reverse Proxy. Schleift Anfragen zum richtigen Container durch.
+
<br>
|-
+
| Reverse Proxy. Schleift Anfragen zum richtigen Container durch.
|nginx-proxy-letsencrypt
+
|-  
|jrcs/letsencrypt-nginx-proxy-companion:stable
+
| nginx-proxy-letsencrypt
|(-)
+
| jrcs/letsencrypt-nginx-proxy-companion:stable
|(-)
+
| (-)
|(-)
+
| (-)
|(-)
+
| (-)
 +
| (-)
 
| docker-compose.yml erweiterungen:
 
| docker-compose.yml erweiterungen:
 
* section environment:
 
* section environment:
 
** DEFAULT_EMAIL=accounts@unhb.de
 
** DEFAULT_EMAIL=accounts@unhb.de
 
** NGINX_PROXY_CONTAINER=nginx_proxy
 
** NGINX_PROXY_CONTAINER=nginx_proxy
|Holt letsencrypt Zertifikate für alle Container ab.
+
| Holt letsencrypt Zertifikate für alle Container ab.
|-
+
|-  
|mailcowdockerized_*
+
| mailcowdockerized_*
 
|
 
|
 
* https://github.com/Shadowghost/mailcow-mailman3-dockerized
 
* https://github.com/Shadowghost/mailcow-mailman3-dockerized
Zeile 274: Zeile 290:
 
* https://neuromail.unhb.de/
 
* https://neuromail.unhb.de/
 
* https://lists.unhb.de/
 
* https://lists.unhb.de/
|mailcowdockerized_mailcow-network
+
| mailcowdockerized_mailcow-network
 
|
 
|
 
* 25 (SMTP)
 
* 25 (SMTP)
Zeile 285: Zeile 301:
 
* 4190 (SIEVE)
 
* 4190 (SIEVE)
 
| Aenderungen an der docker-compose.yml fuer unsere zwecke:
 
| Aenderungen an der docker-compose.yml fuer unsere zwecke:
* mailman-core:  
+
* mailman-core:
 
** section environment:
 
** section environment:
 
** MM_HOSTNAME=${IPV4_NETWORK:-172.19.199}.2
 
** MM_HOSTNAME=${IPV4_NETWORK:-172.19.199}.2
Zeile 299: Zeile 315:
 
** LETSENCRYPT_HOST=neuromail.unhb.de
 
** LETSENCRYPT_HOST=neuromail.unhb.de
 
** VIRTUAL_PORT=8080
 
** VIRTUAL_PORT=8080
|Mailcow Suite fuer eMail + Mailman fuer mailinglisten
+
|
|-
+
Mailcow Suite fuer eMail + Mailman fuer mailinglisten
 +
[[Mailman Subscribe liste aufräumen]]
 +
|-  
 
|}
 
|}
  
Zeile 310: Zeile 328:
 
  adduser smash
 
  adduser smash
 
  usermod -aG sudo,admin smash
 
  usermod -aG sudo,admin smash
  echo neuromancer.unhb.de > /etc/hostname
+
  echo neuromancer.unhb.de &gt; /etc/hostname
  
  
 
as smash:
 
as smash:
  
  ## install docker.ce
+
   
 +
## install docker.ce
 
   
 
   
 
  sudo apt-get update
 
  sudo apt-get update
Zeile 342: Zeile 361:
 
  ## install additional tools
 
  ## install additional tools
 
  sudo apt install htop dstat net-tools
 
  sudo apt install htop dstat net-tools
 
+
## initial docker-compose.yml for minecraft
+
## initial docker-compose.yml for minecraft
 
  version: '3.7'  
 
  version: '3.7'  
 
   
 
   
Zeile 362: Zeile 381:
 
     volumes:
 
     volumes:
 
       - /srv/docker-volumes/minecraft:/data
 
       - /srv/docker-volumes/minecraft:/data
 
+
## altered /etc/sudoers for ssh pubkey access (NOPASS Option)
+
## altered /etc/sudoers for ssh pubkey access (NOPASS Option)
 
   
 
   
 
  #
 
  #

Aktuelle Version vom 1. August 2024, 17:40 Uhr

Docker Setup[Bearbeiten | | Quelltext bearbeiten]

Allgemeines[Bearbeiten | | Quelltext bearbeiten]

Unter Docker Befehle gibt es eine Liste von nützlichen docker Befehlen (z.B. für debugging)

Config-Files:[Bearbeiten | | Quelltext bearbeiten]

Es ist zu jedem Docker-Container ein Setup im Ordner /srv/docker-config/<container> abgelegt. Die Container werden auf zwei verschiedene Arten definiert:

  1. (bevorzugt)docker-compose.yml
    1. Starten des Containers: docker-compose -d up (-d für detatched, damit die Container auch weiterlaufen, wenn die Shell geschlossen wird)
    2. Stoppen des Containers: docker-compose down
    3. Inspizieren des Containers: docker-compose ps
  2. (legacy) Drei Files: ./create.sh, ./replace.sh und env_file. Diese Files definieren die Container und können zum neustarten / ersetzen / verändern verwendet werden

Volumes:[Bearbeiten | | Quelltext bearbeiten]

Gemountete Volumes sollen unter /srv/docker-volumes/<container>/<volume-wie-im-container> abgelegt werden.

Contabo Server 1[Bearbeiten | | Quelltext bearbeiten]

Container-Name Image Sub-Container Web-Adresse
Networks Externe Ports Besonderheiten Erläuterung
nginx jwilder/nginx-proxy:alpine (-) (-) nginx_net 80, 443


Reverse Proxy. Schleift Anfragen zum richtigen Container durch.
nginx-proxy-letsencrypt jrcs/letsencrypt-nginx-proxy-companion:stable (-) (-) nginx_net (-)


Holt letsencrypt Zertifikate für alle Container ab.
watchtower containrrr/watchtower (-) (-) (-) (-)


Überwacht laufende Container. Wenn es eine neue Version gibt, wird der Container gestoppt, die neue Version gepullt, der Container gelöscht und neu gestartet.
gitea gitea/gitea:latest (-) git.un-hack-bar.de, git.unhb.de nginx_net 22


Git Server
wiki christopher/wiki wiki_sql (mariadb) wiki.un-hack-bar.de, wiki.unhb.de
nginx_net wiki_net (-) Eigens angepasstes Dockerfile, basierend auf Mediawiki. Wer das Ding anfasst wird automatisch für immer Admin davon.
Mediawiki Server
spaceapi sebp/lighttpd:latest (-) status.un-hack-bar.de

status.unhb.de


keinanschluss.un-hack-bar.de

keinanschluss.unhb.de


nginx_net (-) Hier wird ein gesonderter Benutzer "keinanschluss" verwendet. Ein Raspi im Space verbindet sich mit SSH. Deswegen ist das /home von "keinanschluss" auf das Volume glelegt und das Volume beherbergt einen SSH-Key für den Raspi. Macht irgendwas für die Spaceapi. (Bitte gern ergänzen, wenn wer weiß was genau)
portainer portainer/portainer:latest (-) portainer.un-hack-bar.de, portainer.unhb.de (-) (-)


Portainer zum verwalten der Docker-Container, aktuell nur für Server1 verfügbar
jverein_sql mariadb:10.3.5 (-) (-)




Mariadb-Datenbank für jVerein. Das Programm selbst ist lokal auf den Clients installiert, nur die DB wird geteilt. Zugriff per SSH.
nextcloud nextcloud:stable nextcloud_sql cloud.unhb.de, cloud.un-hack-bar.de
nginx_net, nextcloud_net (-)


Nextcloud Instanz für die Dateisyncronisation im Space.
codimd hackmdio/hackmd codi_sql (postgres) hackmd.un-hack-bar, hackmd.unhb.de nginx_net

codimd_net

(-)


Ein "Etherpad" mit Markup-Syntax und weitere möglichkeiten
etherpad-lite etherpad/etherpad etherpad_sql (mariadb:latest) pad.un-hack-bar, pad.unhb.de nginx_net

etherpad_net

(-)


Einfaches Etherpad. Admin Zugang steht im Keepass


Wordpress wordpress:latest wordpress_sql (mariadb:10.5) un-hack-bar, unhb.de, www.un-hack-bar.de, www.unhb.de, blog2.un-hack-bar.de nginx_net

wordpress_net

(-)


Unser Blog.... Admin Zugang im Kesspass. DB User+Kennwort in den Docker-Compose file.
Matrix matrixdotorg/synapse:latest

matrix_sql (postgres:10-alpine)

matrix_telegram (dock.mau.dev/tulir/mautrix-telegram:latest)

matrix_pingbot (dock.mau.dev/maubot/maubot:latest)

matrix.un-hack-bar.de, matrix.unhb.de, nginx_net

matrix_net

443, 8448 Port 443 läuft über den reverse proxy, 8448 (für Matrix Federation) direkt aus dem Container, LE Zertifikate via mount-bind aus dem Proxy Der Matrix Server und 2 weitere Dienste (Telegram-Bridge und Pingpot). Details dazu auf der jeweiligen Wikiseite.
Poste.io analogic/poste.io (-) mail.un-hack-bar, mail.unhb.de, nginx_net 25, 110, 143, 465, 587, 993, 995, 4190, 80 Webmail unter mail.un-hack-bar.de erreichbar.


neuromancer (aka Contabo Server 2)[Bearbeiten | | Quelltext bearbeiten]

  • IP: 213.136.84.38
  • IPv6: 2a02:c207:3004:7659::1
  • VNC: 5.189.158.206:63083
  • Host system: 3306
  • OS: Ubuntu 19.10 (64 Bit)


minecraft itzg/minecraft-server



  • 8123 (dynmap)
  • 9225 (Prometheus)
  • 25565 (Minecraft)
docker-compose.yml erweiterungen:
  • section environment:
    • MAX_MEMORY: 4G
    • VIRTUAL_HOST: mc.unhb.de
    • VIRTUAL_PORT: 8123
    • LETSENCRYPT_HOST: mc.unhb.de
Admin: ryze
watchtower containrrr/watchtower (-) (-) (-) (-) email notifications werden derzeit an smash gesendet Überwacht laufende Container. Wenn es eine neue Version gibt, wird der Container gestoppt, die neue Version gepullt, der Container gelöscht und neu gestartet.
nginx jwilder/nginx-proxy:alpine (-) (-)
  • nginx_net
  • minecraft_default
  • mailcowdockerized_mailcow-network
80, 443


Reverse Proxy. Schleift Anfragen zum richtigen Container durch.
nginx-proxy-letsencrypt jrcs/letsencrypt-nginx-proxy-companion:stable (-) (-) (-) (-) docker-compose.yml erweiterungen:
  • section environment:
    • DEFAULT_EMAIL=accounts@unhb.de
    • NGINX_PROXY_CONTAINER=nginx_proxy
Holt letsencrypt Zertifikate für alle Container ab.
mailcowdockerized_*
  • mailcowdockerized_ipv6nat-mailcow_1
  • mailcowdockerized_acme-mailcow_1
  • mailcowdockerized_rspamd-mailcow_1
  • mailcowdockerized_netfilter-mailcow_1
  • mailcowdockerized_nginx-mailcow_1
  • mailcowdockerized_php-fpm-mailcow_1
  • mailcowdockerized_dovecot-mailcow_1
  • mailcowdockerized_postfix-mailcow_1
  • mailcowdockerized_dockerapi-mailcow_1
  • mailcowdockerized_memcached-mailcow_1
  • mailcowdockerized_olefy-mailcow_1
  • mailcowdockerized_clamd-mailcow_1
  • mailcowdockerized_mysql-mailcow_1
  • mailcowdockerized_sogo-mailcow_1
  • mailcowdockerized_redis-mailcow_1
  • mailcowdockerized_watchdog-mailcow_1
  • mailcowdockerized_solr-mailcow_1
  • mailcowdockerized_mailman-web_1
  • mailcowdockerized_mailman-core_1
  • mailcowdockerized_database_1
  • mailcowdockerized_unbound-mailcow_1
mailcowdockerized_mailcow-network
  • 25 (SMTP)
  • 110 (POP3)
  • 143 (IMAP)
  • 465 (SMTPS)
  • 587 (SMTP submission)
  • 993 (IMAPS)
  • 995 (POP3S)
  • 4190 (SIEVE)
Aenderungen an der docker-compose.yml fuer unsere zwecke:
  • mailman-core:
    • section environment:
    • MM_HOSTNAME=${IPV4_NETWORK:-172.19.199}.2
  • mailman-web: section environment:
    • VIRTUAL_HOST=lists.unhb.de
    • VIRTUAL_PORT=8080
    • VIRTUAL_PROTO=uwsgi
    • HTTPS_METHOD=redirect
    • LETSENCRYPT_HOST=lists.unhb.de
  • nginx_mailcow:
    • section environment
    • VIRTUAL_HOST=neuromail.unhb.de
    • LETSENCRYPT_HOST=neuromail.unhb.de
    • VIRTUAL_PORT=8080

Mailcow Suite fuer eMail + Mailman fuer mailinglisten Mailman Subscribe liste aufräumen

neuromancer install[Bearbeiten | | Quelltext bearbeiten]

as root:

enable_ipv6
reboot
adduser smash
usermod -aG sudo,admin smash
echo neuromancer.unhb.de > /etc/hostname


as smash:


    1. install docker.ce
sudo apt-get update
sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable test" ## appended test as a workaround - currently no containerd.io version available in stable for ubuntu eoan!
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

## install docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

## create mc docker container
sudo mkdir -p /srv/docker-volumes/

## install additional tools
sudo apt install htop dstat net-tools

    1. initial docker-compose.yml for minecraft
version: '3.7' 

services:
 mc:
   image: itzg/minecraft-server
   container_name: minecraft
   restart: always
   environment:
     EULA: "true"
     TYPE: SPIGOT
     MAX_MEMORY: 4G
   command: --noconsole
   ports:
     - 25565:25565
     - 8123:8123
     - 9225:9225
   volumes:
     - /srv/docker-volumes/minecraft:/data

    1. altered /etc/sudoers for ssh pubkey access (NOPASS Option)
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" 

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL)NOPASSWD: ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d