diff --git a/scripts/installer.sh b/scripts/installer.sh index 0c4501248..fa9cd1b18 100755 --- a/scripts/installer.sh +++ b/scripts/installer.sh @@ -94,12 +94,13 @@ if [[ ${try} -eq 10 ]]; then fi echo "==> installer: update cloudron-syslog" -if [[ "$(cloudron-syslog --version)" != "1.0.0" ]]; then - CLOUDRON_SYSLOG_DIR=/usr/local/cloudron-syslog - rm -rf ${CLOUDRON_SYSLOG_DIR} - mkdir -p ${CLOUDRON_SYSLOG_DIR} - $curl -sL https://git.cloudron.io/cloudron/cloudron-syslog/-/archive/v1.0.0/cloudron-syslog-v1.0.0.tar.gz | tar zxvf - --strip-components=1 -C ${CLOUDRON_SYSLOG_DIR} - (cd ${CLOUDRON_SYSLOG_DIR} && npm install --unsafe-perm) # need --unsafe-perm since we run as root and npm drops privileges +CLOUDRON_SYSLOG_DIR=/usr/local/cloudron-syslog +if [[ "$($CLOUDRON_SYSLOG_DIR/bin/cloudron-syslog --version)" != "1.0.0" ]]; then + rm -rf "${CLOUDRON_SYSLOG_DIR}" + mkdir -p "${CLOUDRON_SYSLOG_DIR}" + if npm install --unsafe-perm -g --prefix "${CLOUDRON_SYSLOG_DIR}" cloudron-syslog; then break; fi + echo "===> installer: Failed to install cloudron-syslog, trying again" + sleep 5 fi if ! id "${USER}" 2>/dev/null; then diff --git a/setup/start/systemd/cloudron-syslog.service b/setup/start/systemd/cloudron-syslog.service new file mode 100644 index 000000000..b3994c9e3 --- /dev/null +++ b/setup/start/systemd/cloudron-syslog.service @@ -0,0 +1,14 @@ +[Unit] +Description=Cloudron Syslog +After=network.target + +[Service] +ExecStart=/usr/local/cloudron-syslog/bin/cloudron-syslog +WorkingDirectory=/usr/local/cloudron-syslog +Environment="NODE_ENV=production" +Restart=always +User=yellowtent +Group=yellowtent + +[Install] +WantedBy=multi-user.target