VPS Setup: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Vemas (Diskussion | Beiträge) K (unhb-Links ohne Minus entfernt) |
|||
(28 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | ==Docker Setup== | + | == Docker Setup == |
− | ===Config-Files:=== | + | === Allgemeines === |
+ | Unter [[Docker Befehle]] gibt es eine Liste von nützlichen docker Befehlen (z.B. für debugging) | ||
+ | |||
+ | === 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 8: | 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 |
− | |Erläuterung | + | | Besonderheiten |
− | |- | + | | Erläuterung |
− | |nginx | + | |- |
− | |jwilder/nginx-proxy:alpine | + | | nginx |
− | |(-) | + | | jwilder/nginx-proxy:alpine |
− | |(-) | + | | (-) |
− | |nginx_net | + | | (-) |
− | |80, 443 | + | | nginx_net |
− | |Reverse Proxy. Schleift Anfragen zum richtigen Container durch. | + | | 80, 443 |
− | |- | + | | |
− | |nginx-proxy-letsencrypt | + | <br> |
− | |jrcs/letsencrypt-nginx-proxy-companion:stable | + | | Reverse Proxy. Schleift Anfragen zum richtigen Container durch. |
− | |(-) | + | |- |
− | |(-) | + | | nginx-proxy-letsencrypt |
− | |nginx_net | + | | jrcs/letsencrypt-nginx-proxy-companion:stable |
− | |(-) | + | | (-) |
− | |Holt letsencrypt Zertifikate für alle Container ab. | + | | (-) |
− | |- | + | | nginx_net |
− | |watchtower | + | | (-) |
− | |containrrr/watchtower | + | | |
− | |(-) | + | <br> |
− | |(-) | + | | Holt letsencrypt Zertifikate für alle Container ab. |
− | |(-) | + | |- |
− | |(-) | + | | 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. | + | | containrrr/watchtower |
− | |- | + | | (-) |
− | |gitea | + | | (-) |
− | |gitea/gitea:latest | + | | (-) |
− | |(-) | + | | (-) |
+ | | | ||
+ | <br> | ||
+ | | Ü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 | + | | git.un-hack-bar.de, git.unhb.de |
− | |nginx_net | + | | nginx_net |
− | |22 | + | | 22 |
− | |Git Server | + | | |
− | |- | + | <br> |
− | |wiki | + | | Git Server |
− | | | + | |- |
− | |wiki_sql (mariadb) | + | | wiki |
− | |wiki.un-hack-bar.de, wiki.unhb.de | + | | christopher/wiki |
− | |nginx_net wiki_net | + | | wiki_sql (mariadb) |
− | |(-) | + | | wiki.un-hack-bar.de, wiki.unhb.de<br> |
− | |Mediawiki Server | + | | nginx_net wiki_net |
− | |- | + | | (-) |
− | |spaceapi | + | | Eigens angepasstes Dockerfile, basierend auf Mediawiki. Wer das Ding anfasst wird automatisch für immer Admin davon.<br> |
− | |sebp/lighttpd:latest | + | | Mediawiki Server |
− | |(-) | + | |- |
− | |status.un-hack-bar.de | + | | spaceapi |
+ | | sebp/lighttpd:latest | ||
+ | | (-) | ||
+ | | status.un-hack-bar.de | ||
+ | status.unhb.de | ||
− | |||
− | + | keinanschluss.un-hack-bar.de | |
+ | |||
+ | keinanschluss.unhb.de | ||
+ | |||
+ | <br> | ||
+ | | 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 | ||
+ | | (-) | ||
+ | | (-) | ||
+ | | | ||
+ | <br> | ||
+ | | Portainer zum verwalten der Docker-Container, aktuell nur für Server1 verfügbar | ||
+ | |- | ||
+ | | jverein_sql | ||
+ | | mariadb:10.3.5 | ||
+ | | (-) | ||
+ | | (-) | ||
+ | | | ||
+ | <br> | ||
+ | | | ||
+ | <br> | ||
+ | | | ||
+ | <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 | ||
+ | | nextcloud_sql | ||
+ | | cloud.unhb.de, cloud.un-hack-bar.de<br> | ||
+ | | nginx_net, nextcloud_net | ||
+ | | (-) | ||
+ | | | ||
+ | <br> | ||
+ | | 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 | ||
+ | | (-) | ||
+ | | | ||
+ | <br> | ||
+ | | 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 | ||
+ | | (-) | ||
+ | | | ||
+ | <br> | ||
+ | | Einfaches Etherpad. Admin Zugang steht im Keepass | ||
+ | | | ||
+ | <br> | ||
+ | |- | ||
+ | | 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 | ||
+ | | (-) | ||
+ | | | ||
+ | <br> | ||
+ | | 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. | ||
+ | | | ||
+ | <br> | ||
+ | |} | ||
− | + | = neuromancer (aka Contabo Server 2) = | |
+ | * 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) | ||
− | |||
− | | | + | {| class="wikitable" |
− | |(-) | + | |- <th container="" br="">Name >| Image|| Sub<br>Container || Web<br>Adresse || Networks|| Externe<br>Ports<br>|| Besonderheiten|| Erläuterung</th> |
− | | | + | |- |
− | |- | + | | [[Projekt:Minecraft-Server|minecraft]] |
− | | | + | | [https://hub.docker.com/r/itzg/minecraft-server/ itzg/minecraft-server] |
− | | | + | | |
− | |(-) | + | <br> |
− | | | + | | |
− | | | + | * http://mc.unhb.de:8123 (direkt) |
− | | | + | * https://mc.unhb.de/ (via nginx-reverse-proxy) |
− | | | + | | |
+ | <br> | ||
+ | | | ||
+ | * 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 | ||
+ | | | ||
+ | <br> | ||
+ | | 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_* | ||
+ | | | ||
+ | * https://github.com/Shadowghost/mailcow-mailman3-dockerized | ||
+ | * https://github.com/mailcow/mailcow-dockerized | ||
+ | * https://github.com/maxking/docker-mailman | ||
+ | | | ||
+ | * 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 | ||
+ | | | ||
+ | * https://neuromail.unhb.de/ | ||
+ | * https://lists.unhb.de/ | ||
+ | | 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 === | ||
+ | as root: | ||
+ | |||
+ | enable_ipv6 | ||
+ | reboot | ||
+ | adduser smash | ||
+ | usermod -aG sudo,admin smash | ||
+ | echo neuromancer.unhb.de > /etc/hostname | ||
+ | |||
+ | |||
+ | as smash: | ||
+ | |||
+ | |||
+ | ## 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 | ||
+ | |||
+ | ## 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 | ||
+ | |||
+ | ## 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 |
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:
- (bevorzugt)docker-compose.yml
- Starten des Containers: docker-compose -d up (-d für detatched, damit die Container auch weiterlaufen, wenn die Shell geschlossen wird)
- Stoppen des Containers: docker-compose down
- Inspizieren des Containers: docker-compose ps
- (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 |
|
|
|
|
docker-compose.yml erweiterungen:
|
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 | (-) | (-) |
|
80, 443 |
|
Reverse Proxy. Schleift Anfragen zum richtigen Container durch. |
nginx-proxy-letsencrypt | jrcs/letsencrypt-nginx-proxy-companion:stable | (-) | (-) | (-) | (-) | docker-compose.yml erweiterungen:
|
Holt letsencrypt Zertifikate für alle Container ab. |
mailcowdockerized_* |
|
mailcowdockerized_mailcow-network |
|
Aenderungen an der docker-compose.yml fuer unsere zwecke:
|
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:
- 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
- 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
- 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