Deploy on your own
Pre-requisites
Must Haves
You will need:
a Cloudflare Workers account with
- A workers domain set up
- The Workers Bundled subscription For the beginning it works with Workers Free!
a Cloudflare API token with the following permissions:
- Account - Cloudflare Pages - edit
- Account - Workers Tail - read
- Account - Workers KV Storage - edit
- Account - Worker Scripts - edit
- Account - Account Settings - read
- User - User Details - read
- Zone - Worker Routes - edit
Some websites/APIs to watch 🙂
Optional
- Slack incoming webhook (optional)
- Discord incoming webhook (optional)
Deploy
Fork the repo Base Repo how to fork
Navigate to your new GitHub repository > Settings > Secrets and add the following secrets (DO NOT SHARE!!!):
DANGER
CF_API_TOKEN: Your Cloudflare API token
CF_ACCOUNT_ID: Cloudflare Dashboard > Workers > Overview > Account ID (on the right side)
SECRET_SLACK_WEBHOOK_URL (optional): your-slack-webhook-url
SECRET_DISCORD_WEBHOOK_URL (optional): your-discord-webhook-url
Navigate to the GitHub repository > Settings > Actions > General in your repository and allow all actions and reusable workflows
Edit config.yaml to adjust configuration and list all of your websites/APIs you want to monitor
Edit config.ts to adjust configuration of our Vitepress Installation
Push to
main
branch to trigger the deployment(optional) Go to Cloudflare Workers settings Cloudflare Dashboard > Workers > Overview and assign custom domain/route
(optional) Edit the CRON Trigger to the Worker settings (Default: every 5 Minutes) Workers Free plan
Telegram notifications
To enable telegram notifications, you'll need to take a few additional steps.
- Create a new Bot
- Set the api token you received when creating the bot as content of the
SECRET_TELEGRAM_API_TOKEN
secret in your github repository. - Send a message to the bot from the telegram account which should receive the alerts (Something more than
/start
) - Get the chat id with
curl https://api.telegram.org/bot<YOUR TELEGRAM API TOKEN>/getUpdates | jq '.result[0] .message .chat .id'
- Set the retrieved chat id in the
SECRET_TELEGRAM_CHAT_ID
secret variable - Redeploy the status page using the github action