mini-beieli Server (alt)
Go to file
Joerg Lehmann 631228b9cc document rdb convert 2025-03-14 18:13:11 +01:00
ansible remove zabbix 2021-08-23 16:43:58 +02:00
.gitignore Initial commit 2021-04-09 19:57:32 +02:00
README.md document rdb convert 2025-03-14 18:13:11 +01:00

README.md

mini-beieli-server - Bienenstock Ueberwachung

Code zum Erstellen des Servers

Spezifikaktion:

  • CentOS 8
  • Hetzner Cloud Server
  • nginx Webserver/Proxy
  • mini-beieli-web (Webapplikation/Golang)
  • lorahandler (Webapplikation/Golang)
  • Redis
  • InfluxDB

Erstellen des Servers

Mit dem Binary hcloud von: https://github.com/hetznercloud/cli

Temporaer einen API Key erstellen (nachher wieder loeschen)

$ hcloud context create mini-beieli-server   # evtl. zuerst: hcloud context delete mini-beieli-server
$ hcloud image list                          # zeigt moegliche Images
$ hcloud server-type list                    # zeigt moegliche Typen

$ hcloud server create --name mb1 --image centos-8 --type cx11 --ssh-key joerg@cinnamon.nbit.ch
$ hcloud server set-rdns mb1 --hostname mb1.nbit.ch
$ IPV6="$(hcloud server ip mb1 -6)"
$ hcloud server set-rdns mb1 --ip $IPV6 --hostname mb1.nbit.ch

DNS Eintraege erstellen:

$ hcloud server ip mb1 
$ hcloud server ip mb1 -6                     

Root-Passwort setzen (das machen wir von Hand)

Ansible Playbook laufen lassen

$ cd ansible
$ ansible-playbook -i production mini-beieli-server.yml --limit mb1.mini-beieli.ch  # or mb2.mini-beieli.ch

Mailzugang muss auf mail.nbit.ch noch gegeben werden (main.cf)!

Root-Passwort setzen (das machen wir von Hand)

# yum update

Let's Encrypt Zertifikat einrichten

# curl https://get.acme.sh | sh -s email=info@nbit.ch
# systemctl stop nginx
# acme.sh --issue --standalone -d mini-beieli.ch -d www.mini-beieli.ch -w /home/beieli/mini-beieli-web --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"      # --staging zum Testen 


[Sa Feb 27 17:27:34 CET 2021] Your cert is in  /root/.acme.sh/mini-beieli.ch/mini-beieli.ch.cer 
[Sa Feb 27 17:27:34 CET 2021] Your cert key is in  /root/.acme.sh/mini-beieli.ch/mini-beieli.ch.key 
[Sa Feb 27 17:27:34 CET 2021] The intermediate CA cert is in  /root/.acme.sh/mini-beieli.ch/ca.cer 
[Sa Feb 27 17:27:34 CET 2021] And the full chain certs is there:  /root/.acme.sh/mini-beieli.ch/fullchain.cer 

Install Certificate:
# acme.sh --install-cert -d mini-beieli.ch --key-file /etc/letsencrypt/mini-beieli.ch/mini-beieli.ch.key --fullchain-file /etc/letsencrypt/mini-beieli.ch/fullchain.cer --reloadcmd  "service nginx force-reload"
# restorecon -irv /etc/letsencrypt

Influxdb Users

mb1:

admin: admin7355
Org: minibeieliorg
Bucket: minibeielibucket
RW-Token: 
RO-Token:

mb2:

admin: admin7355
Org: minibeieliorg
Bucket: minibeielibucket
RW-Token: 
RO-Token: 

Redis Dump

Backup/Restore Tool fuer Redis von https://github.com/yannh/redis-dump-go

# cd /var/tmp && wget https://github.com/yannh/redis-dump-go/releases/download/v0.4.1/redis-dump-go-linux-amd64.tar.gz
# tar xzvf redis-dump-go-linux-amd64.tar.gz
# cp redis-dump-go /usr/local/bin

Zum Backup:

$ redis-dump-go -output commands >redis-backup-$(date +%Y%m%W).out

Zum Restore:

$ redis-cli --pipe < redis-backup.out

Redis RDB Files konvertieren, einfach auf MacOS: https://pkg.go.dev/github.com/vkill-w/go-rdb-tool#section-readme

$ brew install rdb
$ rdb -c json -o output.json redis-minibeieli-20250314.rdb