Merge pull request #610 from bugout-dev/moonworm-cu-mainnet-deploy

Auto deploy of moonworm cu mainnet crawler
pull/567/head
Sergei Sumarokov 2022-05-16 15:44:19 +03:00 zatwierdzone przez GitHub
commit 61e6d23a7e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 66 dodań i 0 usunięć

Wyświetl plik

@ -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}"

Wyświetl plik

@ -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