Digitale bierlijst

install-service-files.py 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import os.path
  2. import sys
  3. systemd_user_dir = os.path.expanduser('~/.config/systemd/user')
  4. python_interpreter_dir = os.path.dirname(sys.executable)
  5. uwsgi_path = os.path.join(python_interpreter_dir, 'uwsgi')
  6. piket_client_path = os.path.join(python_interpreter_dir, 'piket-client')
  7. server_template = f"""[Unit]
  8. Description=piket server daemon
  9. [Service]
  10. ExecStart={uwsgi_path} --http :5000 --master --threads 2 --module piket_server:app
  11. KillSignal=SIGINT
  12. Type=notify
  13. NotifyAccess=all
  14. [Install]
  15. WantedBy=default.target
  16. """
  17. client_template = f"""[Unit]
  18. Description=piket client
  19. Requires=piket-server.service
  20. After=piket-server.service
  21. [Service]
  22. ExecStart={piket_client_path}
  23. [Install]
  24. WantedBy=graphical.target
  25. """
  26. os.makedirs(systemd_user_dir, exist_ok=True)
  27. with open(os.path.join(systemd_user_dir, 'piket-server.service'), 'w') as f:
  28. f.write(server_template)
  29. with open(os.path.join(systemd_user_dir, 'piket-client.service'), 'w') as f:
  30. f.write(client_template)
  31. print("Done! Don't forget to systemctl --user daemon-reload.")