diff --git a/crawlers/deploy/deploy-moonworm-cu.bash b/crawlers/deploy/deploy-moonworm-cu.bash new file mode 100755 index 00000000..9f3c7718 --- /dev/null +++ b/crawlers/deploy/deploy-moonworm-cu.bash @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +# Colors +C_RESET='\033[0m' +C_RED='\033[1;31m' +C_GREEN='\033[1;32m' +C_YELLOW='\033[1;33m' + +# Logs +PREFIX_INFO="${C_GREEN}[INFO]${C_RESET} [$(date +%d-%m\ %T)]" +PREFIX_WARN="${C_YELLOW}[WARN]${C_RESET} [$(date +%d-%m\ %T)]" +PREFIX_CRIT="${C_RED}[CRIT]${C_RESET} [$(date +%d-%m\ %T)]" + +# Main +PYTHON_ENV_DIR="${PYTHON_ENV_DIR:-/home/ubuntu/moonworm-env}" +PIP="${PYTHON_ENV_DIR}/bin/pip" +SCRIPT_DIR="$(realpath $(dirname $0))" + +# Moonworm service files +MOONWORM_WATCH_UNICORNS_MAINNET_SERVICE_FILE="moonworm-unicorns-mainnet.service" + +set -eu + +if [ ! -d "$PYTHON_ENV_DIR" ]; then + echo -e "${PREFIX_WARN} Dierectory with Python environment doesn't exist, generating..." + sudo -u ubuntu python3.8 -m venv "${PYTHON_ENV_DIR}" +fi + +echo +echo +echo -e "${PREFIX_INFO} Upgrading Python pip and setuptools" +"${PIP}" install --upgrade pip setuptools + +echo +echo +echo -e "${PREFIX_INFO} Installing Python dependencies" +"${PIP}" install moonworm + +echo +echo +echo -e "${PREFIX_INFO} Replacing existing Moonworm watch Unicorns service definition with ${MOONWORM_WATCH_UNICORNS_MAINNET_SERVICE_FILE}" +chmod 644 "${SCRIPT_DIR}/${MOONWORM_WATCH_UNICORNS_MAINNET_SERVICE_FILE}" +cp "${SCRIPT_DIR}/${MOONWORM_WATCH_UNICORNS_MAINNET_SERVICE_FILE}" "/etc/systemd/system/${MOONWORM_WATCH_UNICORNS_MAINNET_SERVICE_FILE}" +systemctl daemon-reload +systemctl restart "${MOONWORM_WATCH_UNICORNS_MAINNET_SERVICE_FILE}" diff --git a/crawlers/deploy/moonworm-unicorns-mainnet.service b/crawlers/deploy/moonworm-unicorns-mainnet.service new file mode 100644 index 00000000..e8f0d2cb --- /dev/null +++ b/crawlers/deploy/moonworm-unicorns-mainnet.service @@ -0,0 +1,21 @@ +Description=Moonworm CryptoUnicorns watch +After=network.target +StartLimitIntervalSec=300 +StartLimitBurst=3 + +[Service] +User=ubuntu +Group=www-data +WorkingDirectory=/home/ubuntu +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +Restart=on-failure +RestartSec=15s +ExecStart=/home/ubuntu/moonworm-env/bin/python -m moonworm.cli watch-cu \ + -w "$MOONSTREAM_POLYGON_WEB3_PROVIDER_URI" \ + -c 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \ + -d 21418707 \ + --confirmations 60 +SyslogIdentifier=moonworm-unicorns-mainnet + +[Install] +WantedBy=multi-user.target