docs/docs/installation.md

3.4 KiB

Installation

Basierend auf abra von coopcloud

Basis System

Docker auf dem Server

ssh -p 22 root@example.org 
sudo apt update
sudo apt upgrade -y
sudo apt install docker.io
docker swarm init
docker network create -d overlay --scope swarm proxy

oder folge der Anleitung von Docker

Abra auf dem Client

sudo apt update
sudo apt install curl git
curl https://install.abra.autonomic.zone | bash
export PATH=$PATH:$HOME/.local/bin
echo "PATH$PATH:$HOME/.local/bin" >> ~/.bashrc
abra -h

Server zu Abra hinzufügen

abra server add example.org username port
abra server init

Für weitere Details: docs.coopcloud.tech


Reverse-Proxy

Wir verwenden Traefik als Reverse-Proxy. Er erkennt automatisch Apps im Docker Swarm und leitet von den konfigurierten Subdomains auf die entsprechenden Apps um.

!!! note "Auf lit.cloud Infrastruktur" git clone https://git.local-it.org/LIT/traefik ~/.abra/apps/traefik

**TODO**: braucht man das oder macht das abra server init?:
docker network create -d overlay --scope swarm proxy 
abra app new --domain example.com --server servername --app-name servername_traefik traefik
abra app config servername_traefik # only if custom config needed 
abra app deploy servername_traefik 

Du kannst den Status der Installation mit abra app ps servername_traefik überprüfen

Apps

Grundsätzlich können alle Apps verwendet werden, die von coop-cloud unterstützt werden, allerdings sind nicht alle Apps umbedingt vollständig integriert. Im folgenden stellen wir Apps vor, die bereits mit Single-Sign-On integriert und wir im Betrieb schon gute Erfahrungen mit gemacht haben.

Backups

Das automatisierte Backup basiert auf dem backup-bot, der anhand von Docker Labels Verzeichnisse kopiert und mit Restic per S3 Storage oder per SFTP auf einer entfernten Maschine sichert. Von uns bereitgestellte Apps enthalten bereits die dafür benötigten Labels.

Voroab wird ein zugang zu einem S3-Kompatiblen Storage oder Server mit SFTP benötigt. z.B.: Hetzner Storage Box, Wasabi S3

Installation

S3 Storage

abra app new backup-bot-two
abra app secret insert servername-backupbot aws_secret_access_key v1 <secret-key>
abra app secret generate backupbot_local restic_password v1
abra app config
abra app deploy

SFTP Storage

TODO

Wiederherstellen

export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export RESTIC_REPOSITORY=s3:your-s3-storage.org:/bucketname
export RESTIC_PASSWORD_FILE=./restic_password

# Show list of all snaphosts
restic snapshots

# Show all paths in snapshot
restic ls latest

# Prune Snapshots 
restic forget  --prune --keep-daily 7 --keep-weekly 4  --keep-monthly 12 --keep-yearly 3

Wekan

docker context use old-server docker exec wekan_db_1 bash -c "mongodump --archive=/tmp/wekan.archive" docker cp wekan_db_1:dump/wekan-2021-12-03.archiv . docker context use new-server docker cp wekan-2021-12-03.archiv lit-board_db.1.yzvn5bhlr4vpval2kytazhgwr:/tmp/ docker exec lit-board_db.1 bash -c "mongorestore --drop --verbose --archive=/tmp/wekan.archive"

--8<-- "includes/abbreviations.md"