VPS Setup: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Silson (Diskussion | Beiträge) |
Silson (Diskussion | Beiträge) |
||
Zeile 167: | Zeile 167: | ||
|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 | ||
+ | |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. | ||
+ | | | ||
|} | |} | ||
Version vom 28. April 2020, 12:29 Uhr
Docker Setup
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:
- (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:
Gemountete Volumes sollen unter /srv/docker-volumes/<container>/<volume-wie-im-container> abgelegt werden.
Contabo Server 1
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, git.unhackbar.de | nginx_net | 22 | Git Server | ||
wiki | christopher/wiki | wiki_sql (mariadb) | wiki.un-hack-bar.de, wiki.unhb.de, wiki.unhackbar.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 status.unhackbar.de keinanschluss.un-hack-bar.de keinanschluss.unhb.de keinanschluss.unhackbar.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, cloud.unhackbar.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, 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)
- 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)
Container Name |
Image | Sub Container |
Web Adresse |
Networks | Externe Ports |
Besonderheiten | Erläuterung |
---|---|---|---|---|---|---|---|
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 |
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