1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2024-10-31 19:44:16 +00:00

Merge pull request #646 from ckbaker10/feat-ubuntu-systemd

Ubuntu Service files
This commit is contained in:
catborise 2024-06-08 15:25:18 +03:00 committed by GitHub
commit 6d97557cd9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 112 additions and 0 deletions

15
conf/systemd/README.md Normal file
View file

@ -0,0 +1,15 @@
# Ubuntu Service Files
I choose to install this service on Ubuntu 22.04
The process is not fully documented but I wanted to contribute the service files
The file webvirt is beeing installed into /etc/default/webvirt and allows you to easily change the location of the webvirtcloud installation path
The PATH variable being set for these services includes /usr/bin which contains the ssh executable. That is being used by webvirt-cloud and webvirt-novncd
Should the executable be located in another location please adjust the path
The error you should be seeing is "ssh executable not found"

7
conf/systemd/install.sh Executable file
View file

@ -0,0 +1,7 @@
#!/bin/bash
FILEPATH=$(readlink -f "$0");
SCRIPTPATH=$(dirname "$FILEPATH");
cd "$SCRIPTPATH"
cp webvirt-* /lib/systemd/system/
cp webvirt /etc/default/
echo Run to start services \"systemctl daemon-reload\; systemctl enable --now $(ls webvirt-* | tr "\n" " ")\"

2
conf/systemd/webvirt Normal file
View file

@ -0,0 +1,2 @@
WEBVIRT_PATH="/srv/webvirtcloud"
PATH="$WEBVIRT_PATH/venv/bin:/usr/bin"

View file

@ -0,0 +1,23 @@
[Unit]
Description=Webvirt Cloud Webinterface
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10
User=www-data
Group=www-data
LimitNOFILE=64000
AmbientCapabilities=CAP_NET_BIND_SERVICE
EnvironmentFile=/etc/default/webvirt
ExecStart=/bin/bash -c "cd ${WEBVIRT_PATH};${WEBVIRT_PATH}/venv/bin/gunicorn webvirtcloud.wsgi:application -c ${WEBVIRT_PATH}/gunicorn.conf.py"
# Make sure stderr/stdout is captured in the systemd journal.
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,19 @@
[Unit]
Description=Webvirt Cloud GSTFSD
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10
LimitNOFILE=64000
ExecStart=/usr/bin/python3 /usr/local/bin/gstfsd
# Make sure stderr/stdout is captured in the systemd journal.
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,23 @@
[Unit]
Description=Webvirt Cloud NOVNCD
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10
User=www-data
Group=www-data
LimitNOFILE=64000
AmbientCapabilities=CAP_NET_BIND_SERVICE
EnvironmentFile=/etc/default/webvirt
ExecStart=/bin/bash -c "cd ${WEBVIRT_PATH};${WEBVIRT_PATH}/venv/bin/python3 ${WEBVIRT_PATH}/console/novncd"
# Make sure stderr/stdout is captured in the systemd journal.
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,23 @@
[Unit]
Description=Webvirt Cloud NOVNCD
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10
User=www-data
Group=www-data
LimitNOFILE=64000
AmbientCapabilities=CAP_NET_BIND_SERVICE
EnvironmentFile=/etc/default/webvirt
ExecStart=/bin/bash -c "cd ${WEBVIRT_PATH};${WEBVIRT_PATH}/venv/bin/python3 ${WEBVIRT_PATH}/console/socketiod -d"
# Make sure stderr/stdout is captured in the systemd journal.
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target