2018-08-27 20:17:46 +02:00
|
|
|
# DevOps
|
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
Die Skripte in diesem Verzeichnis erlauben das weitgehend automatisierte
|
2018-08-27 20:17:46 +02:00
|
|
|
Provisionieren eines Servers, Ausführen von Jobs wie Spider und Screenshotter
|
|
|
|
und Entfernen des Servers.
|
|
|
|
|
|
|
|
**Warnung**: Die Scripte sind aktuell so einfach, dass die erzeugten Server nur nach erfolgreicher
|
|
|
|
Ausführung des Jobs entfernt werden. Im Fall eines Fehlers muss der provisionierte
|
|
|
|
Server unbedingt manuell entfernt werden, um unnötige Kosten zu vermeiden.
|
|
|
|
|
|
|
|
## Voraussetzungen
|
|
|
|
|
|
|
|
- SSH Public Key ist bei Hetzner hinterlegt und in den scripten eingetragen (siehe 'ssh_keys')
|
|
|
|
- API Token für Hetzner in Datei 'secrets/hetzner-api-token.sh' im Format 'export API_TOKEN=<token>'
|
|
|
|
- Service account JSON Datei mit Schreibrechten in 'secrets/datastore-writer.json'
|
|
|
|
- curl
|
|
|
|
- jq (https://stedolan.github.io/jq/)
|
|
|
|
- ssh
|
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
## Generelles
|
2018-08-27 20:17:46 +02:00
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
- Die Skripte müssen aus dem root-Verzeichnis des git repositories ausgeführt werden
|
|
|
|
- Der Terminal muss bis zum Ende der Ausführung geöffnet bleiben.
|
2018-08-27 20:17:46 +02:00
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
## Spider starten
|
|
|
|
|
|
|
|
```nohighlight
|
2018-08-27 20:50:18 +02:00
|
|
|
devops/run-job.sh spider
|
2018-11-20 19:54:23 +01:00
|
|
|
```
|
2018-08-27 20:17:46 +02:00
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
## Screenshots erstellen
|
2018-08-27 20:17:46 +02:00
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
```nohighlight
|
2018-08-27 20:50:18 +02:00
|
|
|
devops/run-job.sh screenshotter
|
2018-08-27 20:17:46 +02:00
|
|
|
```
|
|
|
|
|
2018-11-20 19:54:23 +01:00
|
|
|
## Webapp deployen
|
|
|
|
|
|
|
|
```nohighlight
|
|
|
|
devops/deploy-webapp.sh
|
|
|
|
```
|
2019-05-05 22:42:48 +02:00
|
|
|
|
|
|
|
## Einloggen per SSH
|
|
|
|
|
|
|
|
```
|
2019-07-14 22:50:44 +02:00
|
|
|
devops/ssh.sh
|
2019-05-05 22:42:48 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
## LetsEncrypt Zertifikat erneuern
|
|
|
|
|
|
|
|
Hostname: `green-spider.netzbegruenung.de`
|
|
|
|
|
2021-11-11 20:15:43 +01:00
|
|
|
```shell
|
2019-05-05 22:42:48 +02:00
|
|
|
docker-compose stop webapp
|
|
|
|
docker run -it --rm -p 443:443 -p 80:80 --name certbot \
|
|
|
|
-v /etc/letsencrypt:/etc/letsencrypt \
|
|
|
|
-v /var/lib/letsencrypt:/var/lib/letsencrypt \
|
|
|
|
certbot/certbot certonly --standalone -n --email marian@sendung.de --agree-tos -d green-spider.netzbegruenung.de
|
|
|
|
docker-compose up -d webapp
|
|
|
|
```
|
|
|
|
|
|
|
|
## IPv6 "Floating IP" temporär an Device binden
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo ip addr add 2a01:4f8:1c0c:811f::1 dev eth0
|
|
|
|
```
|
|
|
|
|
|
|
|
## curl-Zugriff mittels IPv6
|
|
|
|
|
|
|
|
```
|
|
|
|
curl https://[2a01:4f8:1c0c:811f::1]
|
|
|
|
```
|