12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import os.path
- import sys
- systemd_user_dir = os.path.expanduser("~/.config/systemd/user")
- python_interpreter_dir = os.path.dirname(sys.executable)
- uwsgi_path = os.path.join(python_interpreter_dir, "uwsgi")
- piket_client_path = os.path.join(python_interpreter_dir, "piket-client")
- server_template = f"""[Unit]
- Description=piket server daemon
- [Service]
- ExecStart={uwsgi_path} --http :5000 --master --threads 2 --module piket_server:app
- KillSignal=SIGINT
- Type=notify
- NotifyAccess=all
- Environment=SENTRY_DSN={os.environ.get("SENTRY_DSN")}
- [Install]
- WantedBy=default.target
- """
- client_template = f"""[Unit]
- Description=piket client
- Requires=piket-server.service
- After=piket-server.service
- [Service]
- ExecStart={piket_client_path}
- Environment=SENTRY_DSN={os.environ.get("SENTRY_DSN")}
- [Install]
- WantedBy=graphical.target
- """
- os.makedirs(systemd_user_dir, exist_ok=True)
- with open(os.path.join(systemd_user_dir, "piket-server.service"), "w") as f:
- f.write(server_template)
- with open(os.path.join(systemd_user_dir, "piket-client.service"), "w") as f:
- f.write(client_template)
- print("Done! Don't forget to systemctl --user daemon-reload.")
|