{"id":19645898,"url":"https://github.com/romancha/server-healthcheck-telegram-bot","last_synced_at":"2025-04-30T12:15:02.896Z","repository":{"id":202767130,"uuid":"708090795","full_name":"Romancha/server-healthcheck-telegram-bot","owner":"Romancha","description":"Monitors the status of your servers and sends notifications to Telegram if the server is unavailable","archived":false,"fork":false,"pushed_at":"2025-03-16T18:10:20.000Z","size":235,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-25T16:04:23.441Z","etag":null,"topics":["healthcheck","monitoring","server","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Romancha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-21T13:54:08.000Z","updated_at":"2025-03-16T18:10:23.000Z","dependencies_parsed_at":"2023-12-12T15:04:36.244Z","dependency_job_id":"208bb976-54fc-423e-a268-a19a92d8fe62","html_url":"https://github.com/Romancha/server-healthcheck-telegram-bot","commit_stats":{"total_commits":9,"total_committers":2,"mean_commits":4.5,"dds":"0.11111111111111116","last_synced_commit":"7bca3dc61bf7444260aea46a2f30728153aff132"},"previous_names":["romancha/server-healthcheck-telegram-bot"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romancha%2Fserver-healthcheck-telegram-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romancha%2Fserver-healthcheck-telegram-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romancha%2Fserver-healthcheck-telegram-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romancha%2Fserver-healthcheck-telegram-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Romancha","download_url":"https://codeload.github.com/Romancha/server-healthcheck-telegram-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251699351,"owners_count":21629809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["healthcheck","monitoring","server","telegram-bot"],"created_at":"2024-11-11T14:35:47.671Z","updated_at":"2025-04-30T12:15:02.882Z","avatar_url":"https://github.com/Romancha.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Server Health Check Telegram Bot\n\n![GitHub release (with filter)](https://img.shields.io/github/v/release/Romancha/server-healthcheck-telegram-bot)\n![GitHub Release Date - Published_At](https://img.shields.io/github/release-date/romancha/server-healthcheck-telegram-bot)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/Romancha/server-healthcheck-telegram-bot/blob/master/LICENSE)\n\n## Introduction\n\nThe Server Health Check Telegram Bot monitors the status of your servers and sends notifications to Telegram if the\nserver is unavailable.\n\nBot sends requests to the servers and checks the response code. If the response code is not 2xx, the bot\nsends a message to the specified chat.\n\n\u003cimg src=\"images/server_check_screen.jpg\" width=\"600px\"\u003e\n\n## Features\n\n- HTTP status code monitoring (2xx is considered success)\n- Response time monitoring with configurable thresholds\n- Expected content verification in responses\n- SSL certificate expiration monitoring with configurable alert thresholds\n  - SSL expiry notifications are limited to once per day to prevent spam\n- Availability statistics tracking\n- Human-readable time formats for last checks\n- Inline buttons for easy server management\n- Detailed server statistics\n- Telegram commands menu for easy access to all commands\n\n## Installation and Usage\n\n### Docker (Recommended)\n\n1. Install [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/)\n2. Create your bot and get a token from [@BotFather](https://t.me/BotFather)\n3. Get `chat_id` from [@userinfobot](https://t.me/userinfobot)\n4. Set mandatory env in [docker-compose.yml](/docker/docker-compose.yml):\n   - `TELEGRAM_TOKEN` - your bot token\n   - `TELEGRAM_CHAT` - your chat id\n   - Configure the volumes to persist servers list\n5. Run: `docker-compose up -d`\n\n### From source\n\nYou can also run the bot from source code, build Go binary and run it.\n\n## Configuration\n\n| Param               | Description                                                                                                 |\n|---------------------|-------------------------------------------------------------------------------------------------------------|\n| TELEGRAM_TOKEN      | Telegram bot token, take from [@BotFather](https://t.me/BotFather)                                          |\n| TELEGRAM_CHAT       | Chat ID where the bot will send messages. [@userinfobot](https://t.me/userinfobot) Can help to get chat id  |\n| ALERT_THRESHOLD     | The number of failed requests after which the bot will send a notification. Default ``3``                   |\n| CHECKS_CRON         | [Cron](https://en.wikipedia.org/wiki/Cron) with seconds to checks server status. Default ``*/30 * * * * *`` |\n| HTTP_TIMEOUT        | HTTP request timeout in seconds. Default ``10``                                                             |\n| SSL_EXPIRY_ALERT    | Days before SSL expiry to start alerting. Default ``30``                                                    |\n| DEFAULT_RESPONSE_TIME | Default response time threshold in milliseconds (0 to disable). Default ``0``                             |\n| DEBUG               | Enable debug mode. Default ``false``                                                                        |\n\n## Commands\n\nAll commands are available in the Telegram commands menu (/) for easy access.\n\n| Command                           | Description                                                                |\n|-----------------------------------|----------------------------------------------------------------------------|\n| /add [url] [name]                 | Add server to monitor. For example: ``/add github.com github``             |\n| /remove [name]                    | Remove server from monitor. For example: ``/remove github``                |\n| /removeall                        | Remove all servers from monitor                                            |\n| /list                             | Show list of monitored servers with action buttons                         |\n| /stats                            | Show detailed statistics for all servers                                   |\n| /details [name]                   | Show detailed information for a specific server                            |\n| /setresponsetime [name] [ms]      | Set response time threshold in milliseconds                                |\n| /setcontent [name] [text]         | Set expected content that should be present in the response                |\n| /setsslthreshold [name] [days]    | Set SSL expiry threshold for specific server                               |\n| /setglobalsslthreshold [days]     | Set global SSL expiry threshold for all servers                            |\n| /help                             | Show help message with all available commands                              |\n\n## Contributing\n\nWe welcome contributions to improve this project.\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromancha%2Fserver-healthcheck-telegram-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromancha%2Fserver-healthcheck-telegram-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromancha%2Fserver-healthcheck-telegram-bot/lists"}