Benutzer-Werkzeuge

Webseiten-Werkzeuge


softwareanleitungen:wawisy-technisch

Wawisy: Technische Dokumentation

Zurück zur Wawisy-Übersicht

Das Programm ist in Python geschrieben, es verwendet das Django-framework für das Backend und JavaScript, HTML5, CSS und jQuery für das Frontend.

Wawisy starten

Der Quellcode von Wawisy befindet sich im gitlab. Wenn du Wawisy testen oder es weiterentwickeln möchtest, kannst du es lokal ausführen. An deinem System werden dadurch keine Änderungen vorgenommen.

Wie die meisten Django-Projekte lässt sich Wawisy mit dem Kommando

./manage.py runserver

testweise ausführen.

Wawisy im System installieren

Wawisy wird auf einem Arch Linux System durch den systemd-Service /usr/lib/systemd/system/wawisy.service gestartet:

 [Unit]
Description=Wawisy

[Service]
Type=forking
KillMode=none
ExecStart=/home/wawisy/start-wawisy.sh
ExecStop=/home/wawisy/stop-wawisy.sh
WorkingDirectory=/home/wawisy

[Install]
WantedBy=multi-user.target

Das Target multi-user startet u.a. den Wawisy-Service und weitere Units, die für den Betrieb von Wawisy nötig sind. Daher setzen wir dieses Target als Standard:

systemctl set-default multi-user.target

Wir gehen davon aus, dass ein Benutzer mit dem Namen wawisy und dem Homeverzeichnis /home/wawisy existiert. Unter Arch Linux wird der Benutzer mit dem Kommando

useradd -m -s /usr/bin/bash wawisy

erstellt.

Im Homeverzeichnis liegt Wawisy im Ordner /home/wawisy/produktiv-wawisy.

Die Skripte start-wawisy.sh und stop-wawisy.sh sehen so aus:

/home/wawisy/start-wawisy.sh

#!/bin/bash
# Configuration
## user name of wawisy
WAWISY_USER="wawisy"
## path of wawisy installation (directory where manage.py is in)
WAWISY_PATH="/home/wawisy/produktiv-wawisy"

if [ $(whoami) != root ] ; then echo "this script must be run as root" && exit 1 ; fi
tmux new-session -s wawisy -d
tmux send-keys -t wawisy "su $WAWISY_USER" C-m
#tmux send-keys -t wawisy "source activate wawisy" C-m
tmux send-keys -t wawisy "cd $WAWISY_PATH && ./manage.py runserver 0.0.0.0:8000" C-m
echo -e "Wawisy started. You may now attach to the session using \ntmux a -t wawisy \n(detach using crtl+b and then press d)"

/home/wawisy/stop-wawisy.sh

#!/bin/bash
tmux send-keys -t wawisy C-c && while ps aux | grep "manage.py runserver" | grep -v "grep" --silent; do sleep 1; echo waiting for wawisy to exit...; done && tmux send-keys -t wawisy C-d && echo exited
softwareanleitungen/wawisy-technisch.txt · Zuletzt geändert: 2021/01/25 20:14 von 127.0.0.1