Pliki aplikacji znajdują się w katalogu /home/lukasz/magazyn/tkinter, gdzie jest również utworzony virtualenv.
[Unit] Description=Notebook tkinter [Service]# Aplikacja dziala na uzytkowniku book.
User=book
# Przekierowanie komunikatow aplikacji bezposrednio do journald.
Environment=PYTHONUNBUFFERED=1
# Ustawienie pythonowego virtualenv.
Environment=VIRTUALENV=/home/lukasz/magazyn/tkinter
Environment=PYTHONPATH=$VIRTUALENV/lib:$PYTHONPATH
# PATH nie rozumie zmiennych, wiec trzeba podac pelne sciezki.
Environment=PATH=/home/lukasz/magazyn/tkinter/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# To musi byc pelna sciezka, bez uzywania zmiennych.
WorkingDirectory=/home/lukasz/magazyn/tkinter/app
# Start aplikacji (musi zawierac pelna sciezke).
ExecStart=/home/lukasz/magazyn/tkinter/bin/jupyter notebook –no-browser –ip 0.0.0.0 –port 8010 –NotebookApp.token=” –NotebookApp.terminals_enabled=False –NotebookApp.base_project_url=’/tkinter’
# Automatyczny restart aplikacji po awarii z opoznieniem 20 sekund,
# aby uniknac obciazenia CPU w razie nieudanych uruchomien.
Restart=always
RestartSec=20
# Powiadomienie systemd o uruchomieniu aplkacji.
Type=simple
# Plir z numerem ID procesu.
PIDFile=/var/run/book-tkinter.pid
# Autostart aplikacji.
WantedBy=default.target
Następny krok to utworzenie proxypass w Apache.
Oryginalny wpis: wiki:python_systemd