# VPS - IONOS # vps
ionos - vps - [CloudPanel](https://cloudpanel.ionos.de/)
Hostnamevserver.amrhein.info
IP82.165.119.50
BetriebssystemDebian 12
Typ
Virtuelle Maschine
GrößeVPS 4-8-160
CPU4 vCore
RAM8 GB
Datenträger160 GB NVMe SSD
**Firewall**
TCP2022SSH geänderter Port
TCP80, 443NGINX Proxy Manager
TCP21115, 21117, 2118,2119Rustdesk
TCP, UDP21116Rustdesk
**NPM Proxy Manager**
**Proxy Hosts**
[npm.amrhein.info](https://npm.amrhein.info) http://localhost:81
[book.amrhein.info](https://book.amrhein.info)http://vserver.amrhein.info:6875
[rustdesk.amrhein.info](https://rustdesk.amrhein.info)http://vserver.amrhein.info:21114Aktuell nicht verfügbarRustdesk OSS
[rustadmin.amrhein.info](https://rustadmin.amrhein.info)http://vserver.amrhein.info:21114Aktuell nicht verfügbarRustdesk OSS
**Streams**
TCP21115vserver.amrhein.info:21115
TCP, UDP21116vserver.amrhein.info:21116
TCP21117vserver.amrhein.info:21117
TCP21118vserver.amrhein.info:21118
TCP21119vserver.amrhein.info:21119
**SSL Certificats**
npm, book, rustdesk, rust admin, vserver, wwwLetscencryptDNS Challenge STRATO
# docker Installation von [Docker](https://docs.docker.com/engine/install/debian/) ```bash # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update ``` ```bash sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` # Basic config & Tools root ```bash # ~/.bashrc: executed by bash(1) for non-login shells. # Note: PS1 and umask are already set in /etc/profile. You should not # need this unless you want different defaults for root. PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ ' umask 002 # You may uncomment the following lines if you want `ls' to be colorized: export LS_OPTIONS='--color=auto' eval "$(dircolors)" alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -l' alias la='ls $LS_OPTIONS -lA' # # Some more alias to avoid making mistakes: alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' . ~/.bash_aliases ``` .bash\_aliases ```bash alias ag='alias | grep -i $1' alias hg='history | grep -i $1' alias va='vi ~/.bash_aliases && . ~/.bashrc' alias ..='cd ..' alias ...='cd ../..' alias l='ls -ltra' alias ll='ls -l' alias la='ls -la' alias ltra='ls -ltra' alias lr='ls -lr' alias rebuild='cd ~ && docker-compose down && docker-compose up --no-deps --build -d' alias cddocker='cd /opt/docker' alias cdbook='cddocker && cd bookstack' alias cdrust='cddocker && cd rustdesk' alias cdnpm='cddocker && cd proxy-manager' ``` eigener Benutzer ``` sudo useradd -m -s /bin/bash gerald sudo usermod -aG sudo ``` /etc/sudoers.d/91-gerald ``` gerald ALL=(ALL) NOPASSWD:ALL ``` Packages ``` sudo apt-get install vim git ``` [VIM Ultimate](https://github.com/amix/vimrc) ```bash git clone --depth=1 https://github.com/amix/vimrc.git /opt/vim_runtime sh /opt/vim_runtime/install_awesome_parameterized.sh /opt/vim_runtime root gerald # to install for all users with home directories, note that root will not be included sh /opt/vim_runtime/install_basic_vimrc.sh /opt/vim_runtime --all ``` Verzeichnisse für Docker ```bash sudo -i mkdir /opt/docker cd /opt chown -R root:docker docker chmod 775 -R docker chmod -R g+s docker ``` # Docker Compose IDs für bookstack ermitteln ``` vserveramrheininfo:~# id gerald uid=1000(gerald) gid=1000(gerald) Gruppen=1000(gerald),27(sudo) vserveramrheininfo:~# grep docker /etc/group docker:x:994: ``` docker-compose.yml - NGINX Proxy Manager - Bookstack - Rustdesk ```docker --- version: "3.8" services: npm: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format : - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP # Uncomment the next line if you uncomment anything in the section environment: # Uncomment this if you want to change the location of # the SQLite DB file within the container # DB_SQLITE_FILE: "/data/database.sqlite" # Uncomment this if IPv6 is not enabled on your host DISABLE_IPV6: 'true' volumes: - /opt/docker/proxy-manager/data:/data - /opt/docker/proxy-manager/letsencrypt:/etc/letsencrypt bookstack: image: lscr.io/linuxserver/bookstack container_name: bookstack environment: - PUID=1000 - PGID=994 - TZ=Europe/Berlin - APP_URL=https://book.amrhein.info - DB_HOST=bookstack_db - DB_PORT=3306 - DB_USER=bookstack - DB_PASS=We§d45$$% - DB_DATABASE=bookstackapp volumes: - /opt/docker/bookstack:/config ports: - 6875:80 restart: unless-stopped depends_on: - bookstack_db bookstack_db: image: lscr.io/linuxserver/mariadb container_name: bookstack_db environment: - PUID=1000 - PGID=994 - TZ=Europe/Berlin - MYSQL_ROOT_PASSWORD=P34we$$% - MYSQL_DATABASE=bookstackapp - MYSQL_USER=bookstack - MYSQL_PASSWORD=We§d45$$% volumes: - /opt/docker/bookstack:/config restart: unless-stopped hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs volumes: - /opt/docker/rustdesk/data:/root network_mode: "host" depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr volumes: - /opt/docker/rustdesk/data:/root network_mode: "host" restart: unless-stopped ```