diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 0000000..89c2c22 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# simple helper to deploy urupam + +# fail-fast +set -euo pipefail + +# get root or get out +if [[ $(id -u) != 0 ]]; then + echo "Please use sudo or run as root." + exit 1 +fi + +# check carton +if ! command -v carton &>/dev/null; then + echo "carton not found." + exit 1 +fi + +# check redis +if ! ss -ltn | grep -q ":6379"; then + echo "Redis isn't running, check README." +fi + +# create urupam user +groupadd urupam +useradd -s /bin/bash -g urupam -d /opt/urupam urupam + +# deploy code +cp -r bin lib cpan* /opt/urupam +chown -R urupam:urupam /opt/urupam + +# install dependencies +su - urupam -c "cd /opt/urupam && carton install ." + +# create systemd service +cat >>/etc/systemd/system/urupam.service <