green-spider/devops/README.md

73 lines
1.8 KiB
Markdown
Raw Normal View History

2018-08-27 20:17:46 +02:00
# DevOps
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
## Generelles
2018-08-27 20:17:46 +02: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
## Spider starten
```nohighlight
2018-08-27 20:50:18 +02:00
devops/run-job.sh spider
```
2018-08-27 20:17:46 +02:00
## Screenshots erstellen
2018-08-27 20:17:46 +02:00
```nohighlight
2018-08-27 20:50:18 +02:00
devops/run-job.sh screenshotter
2018-08-27 20:17:46 +02: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`
```
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]
```