Skip to content

Commit

Permalink
Merge pull request #646 from ckbaker10/feat-ubuntu-systemd
Browse files Browse the repository at this point in the history
Ubuntu Service files
  • Loading branch information
catborise authored Jun 8, 2024
2 parents 45be006 + 950e668 commit 6d97557
Show file tree
Hide file tree
Showing 7 changed files with 112 additions and 0 deletions.
15 changes: 15 additions & 0 deletions conf/systemd/README.md
Original file line number Diff line number Diff line change
@@ -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 changes: 7 additions & 0 deletions conf/systemd/install.sh
Original file line number Diff line number Diff line change
@@ -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 changes: 2 additions & 0 deletions conf/systemd/webvirt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
WEBVIRT_PATH="/srv/webvirtcloud"
PATH="$WEBVIRT_PATH/venv/bin:/usr/bin"
23 changes: 23 additions & 0 deletions conf/systemd/webvirt-cloud.service
Original file line number Diff line number Diff line change
@@ -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
19 changes: 19 additions & 0 deletions conf/systemd/webvirt-gstfsd.service
Original file line number Diff line number Diff line change
@@ -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
23 changes: 23 additions & 0 deletions conf/systemd/webvirt-novncd.service
Original file line number Diff line number Diff line change
@@ -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
23 changes: 23 additions & 0 deletions conf/systemd/webvirt-socketiod.service
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 6d97557

Please sign in to comment.