Skip to content

Infrastruktur

Daykoo edited this page Sep 3, 2024 · 6 revisions

Standard-Setup unserer Server

Hopps unterhält Server (VMs) bei Hetzner. Dort läuft ein Portainer, welches die Container mit Docker Compose managt. Jeder Server ist grundausgestattet mit

  • einem off the shelf Ubuntu
  • zellij, alternativ tmux
  • einer angepassten .vimrc für vim
  • oh-my-zsh mit zsh als Standard-Shell und einigen aktivierten Plugins

Anmelden mit SSH

Zuerst muss ein Schlüsselpaar erzeugt werden

cd .ssh
ssh-keygen -f hopps

In .ssh liegen nun die beiden Dateien hopps und hopps.pub. Der Inhalt von hopps.pub muss nun an @d135_1r43 geschickt werden, um in die ./authorized_keys von dem Benutzer root eingetragen werden zu können.

Um sich besonders leicht einloggen zu können, macht es Sinn folgenden Block in die .ssh/config zu schreiben:

Host hopps.app
Hostname hopps.app
User root
IdentityFile ~/.ssh/hopps

Jetzt kann man sich mit ssh hopps.app ohne Passwort einloggen.

Übersicht über unsere Server

hopps-4gb-nbg1-01

  • 128.140.15.118
  • 2a01:4f8:c2c:1724::/64
  • hopps.app

Login nur via SSH Keys. @d135_1r43 vergibt den Zugang.

Docker

Es ist die docker engine mit dem docker compose Plugin installiert.
Diese sind mittels dem Paket-Manager apt nach der offiziellen Dokumentation installiert.

Portainer

Portainer wird zum Management der Docker Container verwendet.
Derzeit ist Portainer unter https://128.140.14.118:9443 abrufbar. Hier ist es möglich sich mit dem GitHub Account anzumelden.

Ports:

  • 9443
  • 8000

OAuth GitHub Credentials

Custom OAuth

Da die Build-In OAuth Konfiguration für GitHub ein Business Feature ist wurden die Information manuell hinzugefügt:

  • Client ID: GitHub OAuth Application
  • Client Secret: GitHub OAuth Application
  • Authorization URL: https://github.com/login/oauth/authorize
  • Access token URL: https://github.com/login/oauth/access_token
  • Resource URL: https://api.github.com/user
  • Redirect URL: https://128.140.15.118:9443
  • Logout URL: https://github.com/logout
  • User Identifier: name
  • Scopes: id,email,name

Die URLs hierfür wurden der GitHub Dokumentation entnommen

MinIO

MinIO ist unter folgender IP zu erreichen: http://128.140.15.118:9001/

NGINX Proxy Manager