Files
cloudron-box/scripts/installer.sh

141 lines
5.5 KiB
Bash
Raw Normal View History

2015-08-04 16:29:49 -07:00
#!/bin/bash
# This script is run before the box code is switched. This means that we can
# put network related/curl downloads here. If the script fails, the old code
# will continue to run
2015-08-04 16:29:49 -07:00
set -eu -o pipefail
2016-11-01 15:13:20 +01:00
if [[ ${EUID} -ne 0 ]]; then
echo "This script should be run as root." > /dev/stderr
exit 1
fi
2020-05-17 21:34:39 -07:00
readonly user=yellowtent
readonly box_src_dir=/home/${user}/box
2015-08-04 16:29:49 -07:00
readonly curl="curl --fail --connect-timeout 20 --retry 10 --retry-delay 2 --max-time 2400"
2015-08-04 16:29:49 -07:00
readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly box_src_tmp_dir="$(realpath ${script_dir}/..)"
2015-08-04 16:29:49 -07:00
2019-02-21 13:36:46 -08:00
readonly ubuntu_version=$(lsb_release -rs)
readonly ubuntu_codename=$(lsb_release -cs)
readonly is_update=$(systemctl is-active box && echo "yes" || echo "no")
2015-08-04 16:29:49 -07:00
2020-05-17 21:34:39 -07:00
echo "==> installer: Updating from $(cat $box_src_dir/VERSION) to $(cat $box_src_tmp_dir/VERSION) <=="
2017-11-10 18:23:22 -08:00
echo "==> installer: updating docker"
2020-05-23 14:49:02 -07:00
if [[ $(docker version --format {{.Client.Version}}) != "19.03.9" ]]; then
2019-02-21 13:36:46 -08:00
# there are 3 packages for docker - containerd, CLI and the daemon
2020-05-23 14:49:02 -07:00
$curl -sL "https://download.docker.com/linux/ubuntu/dists/${ubuntu_codename}/pool/stable/amd64/containerd.io_1.2.13-2_amd64.deb" -o /tmp/containerd.deb
$curl -sL "https://download.docker.com/linux/ubuntu/dists/${ubuntu_codename}/pool/stable/amd64/docker-ce-cli_19.03.9~3-0~ubuntu-${ubuntu_codename}_amd64.deb" -o /tmp/docker-ce-cli.deb
$curl -sL "https://download.docker.com/linux/ubuntu/dists/${ubuntu_codename}/pool/stable/amd64/docker-ce_19.03.9~3-0~ubuntu-${ubuntu_codename}_amd64.deb" -o /tmp/docker.deb
2017-11-10 18:23:22 -08:00
echo "==> installer: Waiting for all dpkg tasks to finish..."
2017-11-10 18:23:22 -08:00
while fuser /var/lib/dpkg/lock; do
sleep 1
done
while ! dpkg --force-confold --configure -a; do
echo "==> installer: Failed to fix packages. Retry"
2017-11-10 18:23:22 -08:00
sleep 1
done
# the latest docker might need newer packages
while ! apt update -y; do
echo "==> installer: Failed to update packages. Retry"
sleep 1
2017-11-10 18:23:22 -08:00
done
2019-02-21 13:36:46 -08:00
while ! apt install -y /tmp/containerd.deb /tmp/docker-ce-cli.deb /tmp/docker.deb; do
echo "==> installer: Failed to install docker. Retry"
2017-11-10 18:23:22 -08:00
sleep 1
done
2019-02-21 13:36:46 -08:00
rm /tmp/containerd.deb /tmp/docker-ce-cli.deb /tmp/docker.deb
2017-11-10 18:23:22 -08:00
fi
readonly nginx_version=$(nginx -v)
if [[ "${nginx_version}" != *"1.14."* && "${ubuntu_version}" == "16.04" ]]; then
echo "==> installer: installing nginx for xenial for TLSv3 support"
curl -sL http://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_1.14.0-1~xenial_amd64.deb -o /tmp/nginx.deb
# apt install with install deps (as opposed to dpkg -i)
apt install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes /tmp/nginx.deb
rm /tmp/nginx.deb
fi
echo "==> installer: updating node"
2020-01-29 11:13:56 -08:00
if [[ "$(node --version)" != "v10.18.1" ]]; then
mkdir -p /usr/local/node-10.18.1
$curl -sL https://nodejs.org/dist/v10.18.1/node-v10.18.1-linux-x64.tar.gz | tar zxvf - --strip-components=1 -C /usr/local/node-10.18.1
ln -sf /usr/local/node-10.18.1/bin/node /usr/bin/node
ln -sf /usr/local/node-10.18.1/bin/npm /usr/bin/npm
rm -rf /usr/local/node-10.15.1
fi
2018-08-01 18:37:40 -07:00
# this is here (and not in updater.js) because rebuild requires the above node
2016-11-01 17:01:16 +01:00
for try in `seq 1 10`; do
just keep rebuilding Jan 14 07:03:27 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:03:27 GMT installer:installer provision (stdout): Jan 14 07:03:27 rudolf.cloudron.me server.js[541]: > bson@0.2.22 install /tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/mongodb/node_modules/bson Jan 14 07:03:27 rudolf.cloudron.me server.js[541]: > (node-gyp rebuild 2> builderror.log) || (exit 0) Jan 14 07:03:31 rudolf.cloudron.me ntpdate[1344]: step time server 91.189.89.199 offset 0.000661 sec Jan 14 07:03:31 rudolf.cloudron.me systemd[1]: Time has been changed Jan 14 07:03:44 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=79.174.70.237 DST=178.62.202.80 LEN=40 TOS=0x00 PREC=0x00 TTL=248 ID=54321 PROTO=TCP SPT=49152 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0 Jan 14 07:04:02 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=124.6.36.197 DST=178.62.202.80 LEN=638 TOS=0x00 PREC=0x00 TTL=59 ID=61522 DF PROTO=TCP SPT=443 DPT=58535 WINDOW=95 RES=0x00 ACK PSH URGP=0 Jan 14 07:04:08 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:04:08 GMT installer:installer provision (stdout): Jan 14 07:04:08 rudolf.cloudron.me server.js[541]: > kerberos@0.0.11 install /tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/mongodb/node_modules/kerberos Jan 14 07:04:08 rudolf.cloudron.me server.js[541]: > (node-gyp rebuild 2> builderror.log) || (exit 0) Jan 14 07:04:47 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=58.218.205.83 DST=178.62.202.80 LEN=40 TOS=0x00 PREC=0x00 TTL=112 ID=256 PROTO=TCP SPT=49127 DPT=5555 WINDOW=512 RES=0x00 SYN URGP=0 Jan 14 07:05:18 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 91.207.136.55:123 (2.ubuntu.pool.ntp.org). Jan 14 07:05:28 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 194.190.168.1:123 (2.ubuntu.pool.ntp.org). Jan 14 07:05:49 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=218.77.79.38 DST=178.62.202.80 LEN=40 TOS=0x00 PREC=0x00 TTL=240 ID=54321 PROTO=TCP SPT=44094 DPT=3306 WINDOW=65535 RES=0x00 SYN URGP=0 Jan 14 07:06:02 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=124.6.36.197 DST=178.62.202.80 LEN=638 TOS=0x00 PREC=0x00 TTL=59 ID=61523 DF PROTO=TCP SPT=443 DPT=58535 WINDOW=95 RES=0x00 ACK PSH URGP=0 Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:21 GMT installer:installer provision (stdout): Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: > sqlite3@3.1.1 install /tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/sqlite3 Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: > node-pre-gyp install --fallback-to-build Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:21 GMT installer:installer provision (stdout): [sqlite3] Success: "/tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node" already installed Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:21 GMT installer:installer provision (stdout): Pass --update-binary to reinstall or --build-from-source to recompile Jan 14 07:06:23 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:23 GMT installer:installer provision (stdout): Jan 14 07:06:23 rudolf.cloudron.me server.js[541]: > dtrace-provider@0.2.8 install /tmp/box-src-a4tklr/node_modules/ldapjs/node_modules/dtrace-provider Jan 14 07:06:23 rudolf.cloudron.me server.js[541]: > node-gyp rebuild Jan 14 07:07:47 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 91.206.16.3:123 (2.ubuntu.pool.ntp.org). Jan 14 07:07:57 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 46.254.216.12:123 (2.ubuntu.pool.ntp.org). Jan 14 07:08:02 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=124.6.36.197 DST=178.62.202.80 LEN=638 TOS=0x00 PREC=0x00 TTL=59 ID=61524 DF PROTO=TCP SPT=443 DPT=58535 WINDOW=95 RES=0x00 ACK PSH URGP=0 Jan 14 07:08:08 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 85.255.214.66:123 (3.ubuntu.pool.ntp.org). Jan 14 07:08:18 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 83.98.201.134:123 (3.ubuntu.pool.ntp.org). Jan 14 07:08:28 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 194.171.167.130:123 (3.ubuntu.pool.ntp.org). Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): WARN Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): install Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): got an error, rolling back install <...> 07:08:31 GMT installer:installer provision (stderr): Error: connect ETIMEDOUT 104.20.23.46:443 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): stack Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): at Object.exports._errnoException (util.js:837:11) Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): stack Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): at exports._exceptionWithHostPort (util.js:860:20) Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): stack Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14) Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): System Linux 3.19.0-31-generic Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! command "/usr/local/node-4.1.1/bin/node" "/usr/local/node-4.1.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! cwd /tmp/box-src-a4tklr/node_modules/ldapjs/node_modules/dtrace-provider Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): node -v Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): v4.1.1 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): node-gyp -v Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): v3.0.3 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! not ok Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Linux 3.19.0-31-generic Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): argv Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): "/usr/local/node-4.1.1/bin/node" "/usr/bin/npm" "rebuild" Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm ERR! node v4.1.1 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! npm v2.14.4 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! code ELIFECYCLE Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! dtrace-provider@0.2.8 install: `node-gyp rebuild` Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Exit status 1 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Failed at the dtrace-provider@0.2.8 install script 'node-gyp rebuild'. Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): This is most likely a problem with the dtrace-provider package, Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! not with npm itself. Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Tell the author that this fails on your system: Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! node-gyp rebuild Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! You can get their info via: Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! npm owner ls dtrace-provider Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! There is likely additional logging output above. Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Please include the following file with any support request: Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! /tmp/box-src-a4tklr/npm-debug.log Jan 14 07:08:31 rudolf.cloudron.me sudo[1284]: pam_unix(sudo:session): session closed for user root Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision : child process exited. code: 1 signal: 0 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: [Error: Exited with code 1]
2016-01-14 10:48:44 -08:00
# for reasons unknown, the dtrace package will fail. but rebuilding second time will work
2016-11-01 16:57:43 +01:00
# We need --unsafe-perm as we run as root and the folder is owned by root,
# however by default npm drops privileges for npm rebuild
# https://docs.npmjs.com/misc/config#unsafe-perm
if cd "${box_src_tmp_dir}" && npm rebuild --unsafe-perm; then break; fi
echo "==> installer: Failed to rebuild, trying again"
just keep rebuilding Jan 14 07:03:27 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:03:27 GMT installer:installer provision (stdout): Jan 14 07:03:27 rudolf.cloudron.me server.js[541]: > bson@0.2.22 install /tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/mongodb/node_modules/bson Jan 14 07:03:27 rudolf.cloudron.me server.js[541]: > (node-gyp rebuild 2> builderror.log) || (exit 0) Jan 14 07:03:31 rudolf.cloudron.me ntpdate[1344]: step time server 91.189.89.199 offset 0.000661 sec Jan 14 07:03:31 rudolf.cloudron.me systemd[1]: Time has been changed Jan 14 07:03:44 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=79.174.70.237 DST=178.62.202.80 LEN=40 TOS=0x00 PREC=0x00 TTL=248 ID=54321 PROTO=TCP SPT=49152 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0 Jan 14 07:04:02 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=124.6.36.197 DST=178.62.202.80 LEN=638 TOS=0x00 PREC=0x00 TTL=59 ID=61522 DF PROTO=TCP SPT=443 DPT=58535 WINDOW=95 RES=0x00 ACK PSH URGP=0 Jan 14 07:04:08 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:04:08 GMT installer:installer provision (stdout): Jan 14 07:04:08 rudolf.cloudron.me server.js[541]: > kerberos@0.0.11 install /tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/mongodb/node_modules/kerberos Jan 14 07:04:08 rudolf.cloudron.me server.js[541]: > (node-gyp rebuild 2> builderror.log) || (exit 0) Jan 14 07:04:47 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=58.218.205.83 DST=178.62.202.80 LEN=40 TOS=0x00 PREC=0x00 TTL=112 ID=256 PROTO=TCP SPT=49127 DPT=5555 WINDOW=512 RES=0x00 SYN URGP=0 Jan 14 07:05:18 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 91.207.136.55:123 (2.ubuntu.pool.ntp.org). Jan 14 07:05:28 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 194.190.168.1:123 (2.ubuntu.pool.ntp.org). Jan 14 07:05:49 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=218.77.79.38 DST=178.62.202.80 LEN=40 TOS=0x00 PREC=0x00 TTL=240 ID=54321 PROTO=TCP SPT=44094 DPT=3306 WINDOW=65535 RES=0x00 SYN URGP=0 Jan 14 07:06:02 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=124.6.36.197 DST=178.62.202.80 LEN=638 TOS=0x00 PREC=0x00 TTL=59 ID=61523 DF PROTO=TCP SPT=443 DPT=58535 WINDOW=95 RES=0x00 ACK PSH URGP=0 Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:21 GMT installer:installer provision (stdout): Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: > sqlite3@3.1.1 install /tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/sqlite3 Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: > node-pre-gyp install --fallback-to-build Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:21 GMT installer:installer provision (stdout): [sqlite3] Success: "/tmp/box-src-a4tklr/node_modules/db-migrate/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node" already installed Jan 14 07:06:21 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:21 GMT installer:installer provision (stdout): Pass --update-binary to reinstall or --build-from-source to recompile Jan 14 07:06:23 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:06:23 GMT installer:installer provision (stdout): Jan 14 07:06:23 rudolf.cloudron.me server.js[541]: > dtrace-provider@0.2.8 install /tmp/box-src-a4tklr/node_modules/ldapjs/node_modules/dtrace-provider Jan 14 07:06:23 rudolf.cloudron.me server.js[541]: > node-gyp rebuild Jan 14 07:07:47 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 91.206.16.3:123 (2.ubuntu.pool.ntp.org). Jan 14 07:07:57 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 46.254.216.12:123 (2.ubuntu.pool.ntp.org). Jan 14 07:08:02 rudolf.cloudron.me kernel: IPTables Packet Dropped: IN=eth0 OUT= MAC=04:01:9a:dd:a9:01:84:b5:9c:fa:08:30:08:00 SRC=124.6.36.197 DST=178.62.202.80 LEN=638 TOS=0x00 PREC=0x00 TTL=59 ID=61524 DF PROTO=TCP SPT=443 DPT=58535 WINDOW=95 RES=0x00 ACK PSH URGP=0 Jan 14 07:08:08 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 85.255.214.66:123 (3.ubuntu.pool.ntp.org). Jan 14 07:08:18 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 83.98.201.134:123 (3.ubuntu.pool.ntp.org). Jan 14 07:08:28 rudolf.cloudron.me systemd-timesyncd[448]: Timed out waiting for reply from 194.171.167.130:123 (3.ubuntu.pool.ntp.org). Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): WARN Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): install Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): got an error, rolling back install <...> 07:08:31 GMT installer:installer provision (stderr): Error: connect ETIMEDOUT 104.20.23.46:443 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): stack Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): at Object.exports._errnoException (util.js:837:11) Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): stack Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): at exports._exceptionWithHostPort (util.js:860:20) Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): stack Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14) Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): System Linux 3.19.0-31-generic Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! command "/usr/local/node-4.1.1/bin/node" "/usr/local/node-4.1.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! cwd /tmp/box-src-a4tklr/node_modules/ldapjs/node_modules/dtrace-provider Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): node -v Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): v4.1.1 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): gyp Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): node-gyp -v Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): v3.0.3 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: gyp ERR! not ok Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Linux 3.19.0-31-generic Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): argv Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): "/usr/local/node-4.1.1/bin/node" "/usr/bin/npm" "rebuild" Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm ERR! node v4.1.1 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! npm v2.14.4 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! code ELIFECYCLE Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! dtrace-provider@0.2.8 install: `node-gyp rebuild` Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Exit status 1 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Failed at the dtrace-provider@0.2.8 install script 'node-gyp rebuild'. Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): This is most likely a problem with the dtrace-provider package, Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! not with npm itself. Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! Tell the author that this fails on your system: Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! node-gyp rebuild Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! You can get their info via: Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! npm owner ls dtrace-provider Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! There is likely additional logging output above. Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): npm Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): ERR! Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision (stderr): Please include the following file with any support request: Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: npm ERR! /tmp/box-src-a4tklr/npm-debug.log Jan 14 07:08:31 rudolf.cloudron.me sudo[1284]: pam_unix(sudo:session): session closed for user root Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: Thu, 14 Jan 2016 07:08:31 GMT installer:installer provision : child process exited. code: 1 signal: 0 Jan 14 07:08:31 rudolf.cloudron.me server.js[541]: [Error: Exited with code 1]
2016-01-14 10:48:44 -08:00
sleep 5
done
2015-08-04 16:29:49 -07:00
2016-11-01 17:01:16 +01:00
if [[ ${try} -eq 10 ]]; then
echo "==> installer: npm rebuild failed, giving up"
2016-11-01 17:01:16 +01:00
exit 4
fi
echo "==> installer: downloading new addon images"
2018-10-27 11:28:30 -07:00
images=$(node -e "var i = require('${box_src_tmp_dir}/src/infra_version.js'); console.log(i.baseImages.map(function (x) { return x.tag; }).join(' '), Object.keys(i.images).map(function (x) { return i.images[x].tag; }).join(' '));")
echo -e "\tPulling docker images: ${images}"
for image in ${images}; do
2018-11-23 12:32:58 -08:00
if ! docker pull "${image}"; then # this pulls the image using the sha256
echo "==> installer: Could not pull ${image}"
exit 5
fi
if ! docker pull "${image%@sha256:*}"; then # this will tag the image for readability
echo "==> installer: Could not pull ${image%@sha256:*}"
exit 6
fi
done
2018-06-06 11:37:00 +02:00
echo "==> installer: update cloudron-syslog"
CLOUDRON_SYSLOG_DIR=/usr/local/cloudron-syslog
CLOUDRON_SYSLOG="${CLOUDRON_SYSLOG_DIR}/bin/cloudron-syslog"
2018-06-25 19:35:11 +02:00
CLOUDRON_SYSLOG_VERSION="1.0.3"
while [[ ! -f "${CLOUDRON_SYSLOG}" || "$(${CLOUDRON_SYSLOG} --version)" != ${CLOUDRON_SYSLOG_VERSION} ]]; do
rm -rf "${CLOUDRON_SYSLOG_DIR}"
mkdir -p "${CLOUDRON_SYSLOG_DIR}"
2018-06-25 19:35:11 +02:00
if npm install --unsafe-perm -g --prefix "${CLOUDRON_SYSLOG_DIR}" cloudron-syslog@${CLOUDRON_SYSLOG_VERSION}; then break; fi
echo "===> installer: Failed to install cloudron-syslog, trying again"
sleep 5
2018-06-18 17:58:35 -07:00
done
2018-06-06 11:37:00 +02:00
2020-05-17 21:34:39 -07:00
if ! id "${user}" 2>/dev/null; then
useradd "${user}" -m
fi
if [[ "${is_update}" == "yes" ]]; then
echo "==> installer: stop cloudron.target service for update"
2020-05-17 21:34:39 -07:00
${box_src_dir}/setup/stop.sh
2015-08-04 16:29:49 -07:00
fi
# ensure we are not inside the source directory, which we will remove now
cd /root
2016-12-28 09:54:30 -08:00
echo "==> installer: switching the box code"
2020-05-17 21:34:39 -07:00
rm -rf "${box_src_dir}"
mv "${box_src_tmp_dir}" "${box_src_dir}"
chown -R "${user}:${user}" "${box_src_dir}"
2015-08-04 16:29:49 -07:00
2016-12-28 09:54:30 -08:00
echo "==> installer: calling box setup script"
2020-05-17 21:34:39 -07:00
"${box_src_dir}/setup/start.sh"