2016-01-13 19:23:15 +00:00
|
|
|
#!/bin/bash
|
2017-08-03 00:03:53 +00:00
|
|
|
|
2018-02-01 15:41:39 +00:00
|
|
|
xo_branch="master"
|
|
|
|
xo_server="https://github.com/vatesfr/xen-orchestra"
|
2017-08-03 00:08:58 +00:00
|
|
|
n_repo="https://raw.githubusercontent.com/visionmedia/n/master/bin/n"
|
|
|
|
yarn_repo="deb https://dl.yarnpkg.com/debian/ stable main"
|
2018-02-01 15:41:39 +00:00
|
|
|
node_source="https://deb.nodesource.com/setup_9.x"
|
2017-08-03 00:08:58 +00:00
|
|
|
yarn_gpg="https://dl.yarnpkg.com/debian/pubkey.gpg"
|
2017-08-03 00:10:34 +00:00
|
|
|
n_location="/usr/local/bin/n"
|
2018-02-01 15:41:39 +00:00
|
|
|
xo_server_dir="/opt/xen-orchestra"
|
2017-08-03 01:37:23 +00:00
|
|
|
systemd_service_dir="/lib/systemd/system"
|
|
|
|
xo_service="xo-server.service"
|
2017-08-03 00:10:34 +00:00
|
|
|
|
2017-08-03 01:37:23 +00:00
|
|
|
#Install node and yarn
|
2016-01-13 19:23:15 +00:00
|
|
|
cd /opt
|
2017-08-04 13:44:09 +00:00
|
|
|
|
2017-08-03 01:37:23 +00:00
|
|
|
/usr/bin/curl -sL $node_source | sudo -E bash -
|
|
|
|
/usr/bin/curl -sS $yarn_gpg | sudo apt-key add -
|
2017-08-03 00:08:58 +00:00
|
|
|
echo "$yarn_repo" | sudo tee /etc/apt/sources.list.d/yarn.list
|
2017-08-03 01:37:23 +00:00
|
|
|
sudo /usr/bin/apt-get update
|
|
|
|
sudo /usr/bin/apt-get install --yes nodejs yarn
|
|
|
|
|
|
|
|
#Install n
|
|
|
|
/usr/bin/curl -o $n_location $n_repo
|
|
|
|
sudo /bin/chmod +x $n_location
|
|
|
|
sudo /usr/local/bin/n stable
|
|
|
|
|
|
|
|
#Install XO dependencies
|
|
|
|
sudo /usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python-minimal libvhdi-utils nfs-common
|
|
|
|
|
2018-02-07 14:46:18 +00:00
|
|
|
/usr/bin/git/clone -b $xo_server
|
2018-02-01 15:44:58 +00:00
|
|
|
|
|
|
|
# Patch to allow config restore
|
2018-02-07 15:00:45 +00:00
|
|
|
sed -i 's/< 5/> 0/g' /opt/xen-orchestra/xo-web/dist/src/xo-app/settings/config/index.js
|
2018-02-01 15:44:58 +00:00
|
|
|
|
2018-02-01 15:41:39 +00:00
|
|
|
cd packages/xo-server
|
2018-02-07 15:00:45 +00:00
|
|
|
|
2016-01-14 02:28:04 +00:00
|
|
|
sudo cp sample.config.yaml .xo-server.yaml
|
2018-02-07 14:46:18 +00:00
|
|
|
sudo sed -i "s|#'/': '/path/to/xo-web/dist/'|'/': '/opt/xen-orchestra/packages/xo-web/dist'|" .xo-server.yaml
|
2016-03-08 20:38:21 +00:00
|
|
|
|
2017-08-03 14:55:55 +00:00
|
|
|
if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
|
2017-08-03 01:37:23 +00:00
|
|
|
|
2017-08-03 14:17:23 +00:00
|
|
|
/bin/cat << EOF >> $systemd_service_dir/$xo_service
|
2017-08-03 02:05:56 +00:00
|
|
|
# systemd service for XO-Server.
|
2017-08-03 01:37:23 +00:00
|
|
|
|
2017-08-03 02:05:56 +00:00
|
|
|
[Unit]
|
|
|
|
Description= XO Server
|
|
|
|
After=network-online.target
|
2016-03-08 20:38:21 +00:00
|
|
|
|
2017-08-03 02:05:56 +00:00
|
|
|
[Service]
|
2018-02-01 15:41:39 +00:00
|
|
|
WorkingDirectory=/opt/xen-orchestra/packages/xo-server/
|
2017-08-03 02:05:56 +00:00
|
|
|
ExecStart=/usr/local/bin/node ./bin/xo-server
|
|
|
|
Restart=always
|
|
|
|
SyslogIdentifier=xo-server
|
2016-03-08 20:38:21 +00:00
|
|
|
|
2017-08-03 02:05:56 +00:00
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
2016-03-08 20:38:21 +00:00
|
|
|
EOF
|
2017-08-03 01:37:23 +00:00
|
|
|
fi
|
2016-03-08 20:38:21 +00:00
|
|
|
|
2017-08-03 01:37:23 +00:00
|
|
|
sudo /bin/chmod +x $systemd_service_dir/$xo_service
|
|
|
|
sudo /bin/systemctl enable $xo_service
|
|
|
|
sudo /bin/systemctl start $xo_service
|