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"