Skip to content
Snippets Groups Projects
install 1.5 KiB
Newer Older
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
#! /bin/bash
Rolf Niepraschk's avatar
Rolf Niepraschk committed
# Rolf Niepraschk (Rolf.Niepraschk@ptb.de), 2021-01-13
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed

# Verteilt webapps-deliverer-Dateien zum Ziel-Rechnern per "rsync" und
# aktiviert den webapps-deliverer-Prozess dort.

# Aufruf:
#
# ./install 
# $1 = host (optional, default: localhost)
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed

PROJECT="webapps-deliverer"

SOURCE_PATH=../${PROJECT}/ 
DEST_PATH=/usr/local/share/
TARGET_HOST=${1:-localhost}
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
TARGET_PATH=${DEST_PATH}${PROJECT}
FILE_LIST="./files.dat"
DEST_USER=nobody
Rolf Niepraschk's avatar
Rolf Niepraschk committed
DEST_GROUP=nobody
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed

Rolf Niepraschk's avatar
Rolf Niepraschk committed
FILES="README.md server server.py requirements.in webapps-deliverer.service \
  webapps-deliverer-restart.timer webapps-deliverer-restart.service"
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed

rm -rf ${FILE_LIST}
for f in ${FILES} ; do
  echo "${SOURCE_PATH}$f" >> ${FILE_LIST}
done

rsync --info=STATS1 -azvL --delete --keep-dirlinks \
  --files-from=${FILE_LIST} ../ root@${TARGET_HOST}:${DEST_PATH}

ssh root@${TARGET_HOST} /bin/bash -l <<EOF
cd ${TARGET_PATH}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
python3 -m venv ./
source bin/activate
pip3 install pip-tools
pip-compile --output-file=requirements.txt requirements.in
pip3 install -r requirements.txt
deactivate
chown -R ${DEST_USER}.${DEST_GROUP} ${TARGET_PATH}
systemctl link \$PWD/webapps-deliverer.service
systemctl link \$PWD/webapps-deliverer-restart.timer
systemctl link \$PWD/webapps-deliverer-restart.service
systemctl enable webapps-deliverer.service
systemctl enable webapps-deliverer-restart.timer
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
systemctl daemon-reload
systemctl restart webapps-deliverer.service
systemctl restart webapps-deliverer-restart.timer
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
systemctl status webapps-deliverer.service
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
EOF

exit