diff --git a/docs/installation.md b/docs/installation.md index 09dbc63f0da2a922735191d33fa2a53ef38a6ede..e803046441ee02258bd400f75a92e8958220d034 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -107,27 +107,75 @@ Im Falle einer Installation, bei der keine Wiederherstellung der Datenbank erfor sudo docker-compose up -d sudo docker-compose exec web /bin/ash python manage.py migrate -// setup super user +python manage.py createsuperuser +``` +Es folgt nun eine Reihe von Eingabeaufforderungen, um das Nutzer*innenkonto zu erstellen. Anschließen kann das Konto aktiviert und die Shell geschlossen werden: + +``` +python manage.py shell -c "from vkk.models import User; user = User.objects.all()[0]; user.is_active = True; user.save();" exit ``` +Analog für den Betrieb: ``` sudo docker-compose -f docker-compose.prod.yml up -d sudo docker-compose exec web /bin/ash python manage.py migrate -// setup super user +python manage.py createsuperuser +``` +Es folgt nun eine Reihe von Eingabeaufforderungen, um das Nutzer*innenkonto zu erstellen. Anschließen kann das Konto aktiviert und die Shell geschlossen werden: + +``` +python manage.py shell -c "from vkk.models import User; user = User.objects.all()[0]; user.is_active = True; user.save();" exit ``` ### Wiederherstellung aus einem Backup -Sollte ein Backup der Datenbank vorliegen, kann dies zur Wiederherstellung genutzt werden. +Sollte ein Backup der Datenbank vorliegen, kann dies zur Wiederherstellung genutzt werden. Entsprechende Datenbankdumps werden im Betrieb täglich vom Service `cron` erstellt und unter `/postgres/dump/` abgelegt. + +Nach starten der Anwendung, muss der entsprechende Datenbankdump in den Container kopiert werden, bevor er mit `pg_restore` zur Wiederherstellung der Datenbank genutzt werden kann. ``` sudo docker-compose -f docker-compose.prod.yml up -d -// wiederherstellen +sudo docker cp ./postgres/dumps/******.dump projektmedizin_db_1:/******.dump +sudo docker-compose exec db /bin/ash +pg_restore -c -C -d postgresql://$SQL_USER:$SQL_PASSWORD@/$SQL_DATABASE ******.dump +pg_restore -d postgresql://$SQL_USER:$SQL_PASSWORD@/$SQL_DATABASE ******.dump exit ``` - ### Erstellen eines Systemd Service +Für einen automatischen Start des Servers mit dem Betriebssystem kann ein entsprechender Service für `systemd` eingerichtet und aktiviert werden. + +Hierfür muss zuerst eine Beschreibung des Services erstellt werden. Hier ein Beispiel: + +`vkk-docker-compose-app.service` : +``` +# /etc/systemd/system/vkk-docker-compose-app.service + +[Unit] +Description=VKK Docker Compose Application Service +Requires=docker.service +After=docker.service + +[Service] +WorkingDirectory=******** +ExecStart=docker-compose -f docker-compose.prod.yml up +ExecStop=docker-compose -f docker-compose.prod.yml down +TimeoutStartSec=0 +Restart=on-failure +StartLimitIntervalSec=60 +StartLimitBurst=3 + +[Install] +WantedBy=multi-user.target +``` +Die entsprechende Datei wird danach kopiert und Service aktiviert und gestartet. + +``` +sudo cp vkk-docker-compose-app.service /etc/systemd/system/vkk-docker-compose-app.service +sudo systemctl enable vkk-docker-compose-app.service +sudo systemctl start vkk-docker-compose-app.service +``` +Nach Neustart des Betriebssystem sollte die Anwendung ebenso automatisch bereit sein. \ No newline at end of file