{"id":63,"date":"2024-11-28T07:53:01","date_gmt":"2024-11-28T07:53:01","guid":{"rendered":"https:\/\/innohub.powerweave.com\/?p=63"},"modified":"2024-12-03T18:33:50","modified_gmt":"2024-12-03T18:33:50","slug":"setting-up-uptime-kuma-your-self-hosted-monitoring-solution","status":"publish","type":"post","link":"https:\/\/innohub.powerweave.com\/?p=63","title":{"rendered":"Setting Up Uptime Kuma: Your Self-Hosted Monitoring Solution"},"content":{"rendered":"\n<p>If you&#8217;ve been running multiple self-hosted services in your HomeLab but haven&#8217;t set up monitoring and alerting yet, you&#8217;re in the right place. In this guide, we will walk through the setup of&nbsp;<strong>Uptime Kuma<\/strong>, a powerful and user-friendly tool for monitoring the uptime of your services.<br><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Meet Uptime Kuma, a Fancy Open Source Uptime Monitor for all your HomeLab Monitoring Needs\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/r_A5NKkAqZM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is Uptime Kuma?<\/strong><\/h2>\n\n\n\n<p>Uptime Kuma is an open-source monitoring solution that allows you to track the availability of your services. It supports various monitoring types, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP\/HTTPS Monitoring<\/strong>: Check if your web services are up and running.<\/li>\n\n\n\n<li><strong>TCP Monitoring<\/strong>: Verify that specific ports are open and responsive.<\/li>\n\n\n\n<li><strong>Ping Monitoring<\/strong>: Ensure that your servers are reachable.<\/li>\n\n\n\n<li><strong>DNS Monitoring<\/strong>: Monitor DNS records for changes.<\/li>\n<\/ul>\n\n\n\n<p>With its modern interface built on frameworks like Vue.js and Bootstrap, Uptime Kuma offers a responsive and visually appealing user experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Requirements for Setup<\/strong><\/h2>\n\n\n\n<p>To get started with Uptime Kuma, you&#8217;ll need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A server or local machine with Docker installed.<\/li>\n\n\n\n<li>Docker Compose for managing multi-container Docker applications.<\/li>\n\n\n\n<li>Basic knowledge of command-line operations.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step-by-Step Setup Guide<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How to Install Uptime Kuma Using Docker Compose<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 1: Create a Directory<\/strong><\/h4>\n\n\n\n<p>Open your terminal.<br>Create a directory for Uptime Kuma and navigate to it by running:<\/p>\n\n\n\n<p class=\"has-base-color has-contrast-background-color has-text-color has-background has-link-color wp-elements-15a8101184d06694e7153985040ef2ca\">mkdir uptime-kuma<br>cd uptime-kuma<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 2: Create a Docker Compose File<\/strong><\/h4>\n\n\n\n<p>       Inside the <code>uptime-kuma<\/code> directory, create a file named <code>docker-compose.yml<\/code>.<\/p>\n\n\n\n<p>       Add the following configuration to the file<\/p>\n\n\n\n<p class=\"has-tertiary-color has-contrast-background-color has-text-color has-background has-link-color wp-elements-df6287b103183891f5ad6351073eaa93\">version: &#8216;3.8&#8217;<br>services:<br>   uptime-kuma: image: louislam\/uptime-kuma:latest <br>   container_name: uptime-kuma<br>   ports: <br>       &#8211; &#8220;3001:3001&#8221; <br>   volumes: <br>      &#8211; uptime-kuma-data:\/app\/data <br>   restart: always <br><br>volumes:<br>   uptime-kuma-data:<br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 3: Start the Container<\/strong><\/h4>\n\n\n\n<p>Run the following command to start Uptime Kuma<\/p>\n\n\n\n<p class=\"has-base-color has-contrast-background-color has-text-color has-background has-link-color wp-elements-303ee462eddad160276241d879fef311\">docker-compose up -d &#8211;force-recreate<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 4: Access Uptime Kuma<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open your web browser.<\/li>\n\n\n\n<li>Navigate to:<\/li>\n<\/ol>\n\n\n\n<p class=\"has-base-color has-contrast-background-color has-text-color has-background has-link-color wp-elements-5baaf0ea586ca15b7b76dec03ab91f6c\"><a href=\"http:\/\/<your-server-ip>:3001&#8243;>http:\/\/&lt;your-server-ip&gt;:3001<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Configuring Monitors<\/strong><\/h2>\n\n\n\n<p>Once you have Uptime Kuma running, you can configure various types of monitors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP Monitor<\/strong>: Set up an HTTP monitor by specifying the URL of your service. You can also define a health check endpoint that returns a simple status code (e.g., 200 OK).<\/li>\n\n\n\n<li><strong>TCP Monitor<\/strong>: Monitor specific TCP ports (e.g., SSH on port 22) to ensure they are accessible.<\/li>\n\n\n\n<li><strong>Ping Monitor<\/strong>: Use ping checks to verify that your server is reachable.<\/li>\n\n\n\n<li><strong>Keyword Monitoring<\/strong>: For HTTP monitors, you can check for specific keywords on web pages to ensure that not only is the service up, but it is also serving the correct content.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Setting Up Alerts<\/strong><\/h2>\n\n\n\n<p>Uptime Kuma allows you to configure alerts to notify you when a service goes down. You can set up notifications through various channels, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Email<\/li>\n\n\n\n<li>Discord<\/li>\n\n\n\n<li>Slack<\/li>\n\n\n\n<li>Webhooks<\/li>\n<\/ul>\n\n\n\n<p>This flexibility ensures you stay informed about the status of your services in real time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Two-Factor Authentication and Backups<\/strong><\/h3>\n\n\n\n<p>For added security, enable two-factor authentication (2FA) in the settings menu. Additionally, you can manage backups directly through the UI, ensuring that your monitoring configurations are safe.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Uptime Kuma is an excellent choice for anyone looking to monitor their self-hosted services effectively. With its user-friendly interface, robust feature set, and flexibility in configuration, it stands out as a modern alternative to traditional monitoring solutions like Nagios.<br><br><br><br><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;ve been running multiple self-hosted services in your HomeLab but haven&#8217;t set up monitoring and alerting yet, you&#8217;re in the right place. In this guide, we will walk through the setup of&nbsp;Uptime Kuma, a powerful and user-friendly tool for monitoring the uptime of your services. What is Uptime Kuma? Uptime Kuma is an open-source [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":81,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,73,72,1],"tags":[87,85,86,84,81,82,83],"class_list":["post-63","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-computing","category-devops-tools","category-technology","category-uncategorized","tag-alerts","tag-docker","tag-docker-compose","tag-linux","tag-monitor","tag-monitoring","tag-selfhosted"],"jetpack_featured_media_url":"https:\/\/innohub.powerweave.com\/wp-content\/uploads\/2024\/11\/sddefault-1.jpg","_links":{"self":[{"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/posts\/63","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=63"}],"version-history":[{"count":7,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/posts\/63\/revisions"}],"predecessor-version":[{"id":113,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/posts\/63\/revisions\/113"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=\/wp\/v2\/media\/81"}],"wp:attachment":[{"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/innohub.powerweave.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}