diff --git a/backend/configs/sample.env b/backend/configs/sample.env index 69acfede..07bcb5d6 100644 --- a/backend/configs/sample.env +++ b/backend/configs/sample.env @@ -6,7 +6,7 @@ export BUGOUT_SPIRE_URL="https://spire.bugout.dev" export MOONSTREAM_APPLICATION_ID="" export MOONSTREAM_ADMIN_ACCESS_TOKEN="" export MOONSTREAM_POOL_SIZE=0 -export MOONSTREAM_MOONWORM_TASKS_JOURNAL="" +export MOONSTREAM_MOONWORM_TASKS_JOURNAL="" # Blockchain, txpool, whalewatch data depends variables export MOONSTREAM_DATA_JOURNAL_ID="" diff --git a/crawlers/deploy/deploy.bash b/crawlers/deploy/deploy.bash index f3737f44..ebe2f84e 100755 --- a/crawlers/deploy/deploy.bash +++ b/crawlers/deploy/deploy.bash @@ -26,8 +26,11 @@ AWS_SSM_PARAMETER_PATH="${AWS_SSM_PARAMETER_PATH:-/moonstream/prod}" SCRIPT_DIR="$(realpath $(dirname $0))" PARAMETERS_SCRIPT="${SCRIPT_DIR}/parameters.py" +# Service files +MOONCRAWL_SERVICE_FILE="mooncrawl.service" + # Ethereum service files -ETHEREUM_SYNCHRONIZE_SERVICE="ethereum-synchronize.service" +ETHEREUM_SYNCHRONIZE_SERVICE_FILE="ethereum-synchronize.service" ETHEREUM_TRENDING_SERVICE_FILE="ethereum-trending.service" ETHEREUM_TRENDING_TIMER_FILE="ethereum-trending.timer" ETHEREUM_TXPOOL_SERVICE_FILE="ethereum-txpool.service" @@ -86,11 +89,19 @@ echo "AWS_LOCAL_IPV4=$(ec2metadata --local-ipv4)" >> "${PARAMETERS_ENV_PATH}" echo echo -echo -e "${PREFIX_INFO} Replacing existing Ethereum block with transactions syncronizer service definition with ${ETHEREUM_SYNCHRONIZE_SERVICE}" -chmod 644 "${SCRIPT_DIR}/${ETHEREUM_SYNCHRONIZE_SERVICE}" -cp "${SCRIPT_DIR}/${ETHEREUM_SYNCHRONIZE_SERVICE}" "/etc/systemd/system/${ETHEREUM_SYNCHRONIZE_SERVICE}" +echo -e "${PREFIX_INFO} Replacing existing Moonstream crawlers HTTP API server service definition with ${MOONCRAWL_SERVICE_FILE}" +chmod 644 "${SCRIPT_DIR}/${MOONCRAWL_SERVICE_FILE}" +cp "${SCRIPT_DIR}/${MOONCRAWL_SERVICE_FILE}" "/etc/systemd/system/${MOONCRAWL_SERVICE_FILE}" systemctl daemon-reload -systemctl restart "${ETHEREUM_SYNCHRONIZE_SERVICE}" +systemctl restart "${MOONCRAWL_SERVICE_FILE}" + +echo +echo +echo -e "${PREFIX_INFO} Replacing existing Ethereum block with transactions syncronizer service definition with ${ETHEREUM_SYNCHRONIZE_SERVICE_FILE}" +chmod 644 "${SCRIPT_DIR}/${ETHEREUM_SYNCHRONIZE_SERVICE_FILE}" +cp "${SCRIPT_DIR}/${ETHEREUM_SYNCHRONIZE_SERVICE_FILE}" "/etc/systemd/system/${ETHEREUM_SYNCHRONIZE_SERVICE_FILE}" +systemctl daemon-reload +systemctl restart "${ETHEREUM_SYNCHRONIZE_SERVICE_FILE}" echo echo diff --git a/crawlers/deploy/mooncrawl.service b/crawlers/deploy/mooncrawl.service new file mode 100644 index 00000000..0a0ef6ea --- /dev/null +++ b/crawlers/deploy/mooncrawl.service @@ -0,0 +1,18 @@ +[Unit] +Description=Moonstream crawlers HTTP API server +After=network.target +StartLimitIntervalSec=300 +StartLimitBurst=3 + +[Service] +User=ubuntu +Group=www-data +WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +Restart=on-failure +RestartSec=15s +ExecStart=/home/ubuntu/moonstream-env/bin/uvicorn --host "${AWS_LOCAL_IPV4}" --port 7491 --workers 4 mooncrawl.api:app +SyslogIdentifier=mooncrawl + +[Install] +WantedBy=multi-user.target \ No newline at end of file