{"id":1885,"date":"2026-09-05T09:36:37","date_gmt":"2026-09-05T04:06:37","guid":{"rendered":"https:\/\/cpanelfree.com\/blog\/how-to-host-uptime-kuma-server-monitoring-docker-vps\/"},"modified":"2026-09-12T12:44:40","modified_gmt":"2026-09-12T07:14:40","slug":"how-to-host-uptime-kuma-server-monitoring-docker-vps","status":"publish","type":"post","link":"https:\/\/cpanelfree.com\/blog\/how-to-host-uptime-kuma-server-monitoring-docker-vps\/","title":{"rendered":"How to Self-Host Uptime Kuma Status Page &amp; Server Monitoring on Ubuntu VPS"},"content":{"rendered":"<h2 id=\"step-1\">Why Relying on Paid Status Page Services Is Unnecessary<\/h2>\n<p>Maintaining high service availability requires continuous monitoring of your website endpoints, API gateways, database ports, and DNS resolvers. While commercial monitoring SaaS platforms (like Pingdom, Better Uptime, or Statuspage.io) charge $25 to $100+ monthly with strict monitor quantity limits, self-hosting your own monitoring portal gives you unlimited monitors, custom check intervals down to 20 seconds, and branded public status pages at zero recurring cost.<\/p>\n<p><!-- EXECUTIVE SUMMARY &amp; KEY TAKEAWAYS --><\/p>\n<div class=\"cpf-exec-summary\">\n<div class=\"cpf-exec-header\">\n    <span class=\"cpf-exec-title\"><br \/>\n      \u26a1 Executive Summary &amp; Key Takeaways<br \/>\n    <\/span><br \/>\n    <span class=\"cpf-exec-badge\">Verified Guide<\/span>\n  <\/div>\n<ul class=\"cpf-exec-list\">\n<li><strong>Core Architecture:<\/strong> Production setup of Uptime Kuma Status Page &amp; Server Monitoring on Ubuntu VPS engineered for maximum throughput and minimal memory footprint.<\/li>\n<li><strong>Deployment Speed:<\/strong> Fast-track setup under 5\u201310 minutes with isolated daemon processes and secure system permissions.<\/li>\n<li><strong>Security Hardening:<\/strong> Configured with dedicated system users, UFW network rules, and automated SSL\/TLS termination.<\/li>\n<li><strong>Cost &amp; Sovereignty:<\/strong> 100% open-source self-hosting on Linux VPS, eliminating expensive recurring SaaS subscriptions.<\/li>\n<\/ul>\n<\/div>\n<p><!-- ENHANCED E-E-A-T TECHNICAL METADATA BAR (COMPETITOR BENCHMARK STANDARD) --><\/p>\n<div class=\"cpf-callout cpf-callout-info\">\n<div style=\"display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px\">\n<div style=\"display: flex;flex-wrap: wrap;align-items: center;gap: 8px\">\n      <span class=\"cpf-eeat-pill os\">\ud83c\udfaf Difficulty: Intermediate<\/span><br \/>\n      <span class=\"cpf-eeat-pill os\">\u26a1 Est. Execution: 10\u201315 Mins<\/span><br \/>\n      <span style=\"color: #f59e0b;padding: 4px 10px;border-radius: 6px;font-weight: 600\">\u23f1\ufe0f 6 min read (1,167 words)<\/span>\n    <\/div>\n<p>    <span style=\"color: #38bdf8;font-weight: 600;font-size: 12.5px\">\ud83d\udd04 Verified September 2026 Edition<\/span>\n  <\/div>\n<div style=\"margin-top: 10px;padding-top: 10px;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px;font-size: 12.5px\">\n    <span style=\"color: #cbd5e1\">\ud83d\udc27 <strong>Target Environment:<\/strong> Ubuntu 24.04 \/ 22.04 LTS \u2022 Debian 12 \u2022 AlmaLinux 9<\/span><br \/>\n    <span style=\"color: #94a3b8\">\ud83d\udee1\ufe0f <strong>Reviewed by:<\/strong> Senior Linux Systems Architect<\/span>\n  <\/div>\n<\/div>\n<div style=\"display: flex;flex-wrap: wrap;align-items: center;gap: 10px;border-radius: 10px;padding: 10px 16px;margin: 20px 0 24px 0;font-size: 13px;color: #94a3b8\">\n  <span style=\"display: inline-flex;align-items: center;gap: 5px;color: #38bdf8;padding: 3px 9px;border-radius: 6px;font-weight: 600\">\u23f1\ufe0f 5 min read (937 words)<\/span><br \/>\n  <span style=\"display: inline-flex;align-items: center;gap: 5px;color: #10b981;padding: 3px 9px;border-radius: 6px;font-weight: 600\">\ud83d\udee1\ufe0f Verified on Ubuntu 24.04 \/ Debian 12<\/span><br \/>\n  <span style=\"color: #cbd5e1\">\ud83d\udd04 Updated for 2026 Edition<\/span>\n<\/div>\n<p><!-- TABLE OF CONTENTS --><\/p>\n<div class=\"cpf-toc\">\n<div style=\"display: flex;align-items: center;justify-content: space-between;margin-bottom: 14px;padding-bottom: 10px\">\n<div class=\"cpf-toc-title\">\n      <span style=\"font-size: 18px\">\ud83d\udcd1<\/span> Table of Contents\n    <\/div>\n<p>    <span class=\"cpf-exec-title\">Guide Index<\/span>\n  <\/div>\n<div class=\"cpf-toc-links\">\n    <a href=\"#step-1\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">1<\/span><span class=\"cpf-toc-text\">Why Relying on Paid Status Page Services Is Unnecessary<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-2\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">2<\/span><span class=\"cpf-toc-text\">Step 1: Installing Docker and Creating Project Directory<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-3\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">3<\/span><span class=\"cpf-toc-text\">Step 2: Writing Production Docker Compose File<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-4\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">4<\/span><span class=\"cpf-toc-text\">Step 3: Nginx Reverse Proxy with Real-Time WebSockets &amp; SSL<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-5\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">5<\/span><span class=\"cpf-toc-text\">Step 4: Configuring Multi-Channel Notifications (Discord \/ Telegram)<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-6\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">6<\/span><span class=\"cpf-toc-text\">Step 5: Publishing a Public Customer Status Page<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-7\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">7<\/span><span class=\"cpf-toc-text\">Uptime Kuma Monitoring Protocol Capabilities<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-8\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">8<\/span><span class=\"cpf-toc-text\">Monitoring Internal Docker Containers via Docker Socket<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-9\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">9<\/span><span class=\"cpf-toc-text\">Setting Up Custom Domain SSL Expiry Alerts<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-10\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">10<\/span><span class=\"cpf-toc-text\">Uptime Kuma Routine Database Backups<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-11\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">11<\/span><span class=\"cpf-toc-text\">Configuring Push Monitors for Cron Jobs &amp; Background Tasks<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#step-12\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">12<\/span><span class=\"cpf-toc-text\">Customizing Status Page CSS &amp; Corporate Branding<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a>\n  <\/div>\n<\/div>\n<p><strong>Uptime Kuma<\/strong> is the leading open-source self-hosted monitoring tool. Featuring an intuitive visual interface, Uptime Kuma monitors HTTP\/HTTPS endpoints, TCP ports, ping latency, DNS records, Docker container daemons, and Steam game servers. It includes native multi-channel alerting to over 90+ notification services (Discord, Telegram, Slack, Webhooks, SMS, Email) and publishes beautiful, mobile-friendly public status pages for your users.<\/p>\n<p>In this technical tutorial, we will configure Uptime Kuma on Ubuntu 24.04\/22.04 LTS with Docker Compose, secure the web portal behind an Nginx reverse proxy with SSL, configure multi-channel alerts, and publish a branded public status page.<\/p>\n<h2 id=\"step-2\">Step 1: Installing Docker and Creating Project Directory<\/h2>\n<pre><code># Install Docker and prerequisite utilities\nsudo apt update &amp;&amp; sudo apt install -y curl nginx certbot python3-certbot-nginx\n\ncurl -fsSL https:\/\/get.docker.com | sudo sh\nsudo systemctl enable --now docker\n\n# Create dedicated directory for Uptime Kuma\nsudo mkdir -p \/var\/www\/uptime-kuma\nsudo chown -R $USER:$USER \/var\/www\/uptime-kuma\ncd \/var\/www\/uptime-kuma<\/code><\/pre>\n<p><!-- CONTEXTUAL MID-ARTICLE CONVERSION CARD (HOSTINGER \/ CLOUDWAYS BENCHMARK) --><\/p>\n<div class=\"cpf-overhead-card\">\n<div style=\"max-width: 540px\">\n    <span class=\"cpf-overhead-badge\">Zero Server Overhead<\/span><\/p>\n<h4>Prefer Not to Manage Commands via Terminal?<\/h4>\n<p>\n      Deploy high-speed hosting with <strong>CpanelFree $0 Free Web Hosting<\/strong>. Enjoy authentic cPanel, unmetered NVMe SSD storage, PHP 8.3, and automatic SSL without server maintenance.\n    <\/p>\n<\/p>\n<\/div>\n<div>\n    <a href=\"https:\/\/cpanelfree.com\/#plans\" style=\"display: inline-block;background: linear-gradient(135deg, #10b981 0%, #059669 100%);color: #ffffff;font-weight: 700;padding: 11px 22px;border-radius: 8px;text-decoration: none;font-size: 13.5px;white-space: nowrap\">Get Free cPanel Account &rarr;<\/a>\n  <\/div>\n<\/div>\n<h2 id=\"step-3\">Step 2: Writing Production Docker Compose File<\/h2>\n<p>Create <code>\/var\/www\/uptime-kuma\/docker-compose.yml<\/code>:<\/p>\n<pre><code>services:\n  uptime-kuma:\n    image: louislam\/uptime-kuma:1\n    container_name: uptime_kuma\n    restart: always\n    ports:\n      - \"127.0.0.1:3001:3001\"\n    volumes:\n      - .\/data:\/app\/data\n    deploy:\n      resources:\n        limits:\n          memory: 256M\n\nvolumes:\n  kuma_data:<\/code><\/pre>\n<p>Launch the container in background daemon mode:<\/p>\n<pre><code>docker compose up -d\ndocker compose ps<\/code><\/pre>\n<h2 id=\"step-4\">Step 3: Nginx Reverse Proxy with Real-Time WebSockets &amp; SSL<\/h2>\n<p>Uptime Kuma relies on WebSockets for live status updates. Create <code>\/etc\/nginx\/sites-available\/status.example.com<\/code>:<\/p>\n<pre><code>server {\n    listen 80;\n    server_name status.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3001;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/code><\/pre>\n<p>Enable the site configuration and acquire a free Let&#8217;s Encrypt SSL certificate:<\/p>\n<pre><code>sudo ln -s \/etc\/nginx\/sites-available\/status.example.com \/etc\/nginx\/sites-enabled\/\nsudo nginx -t &amp;&amp; sudo systemctl reload nginx\nsudo certbot --nginx -d status.example.com<\/code><\/pre>\n<h2 id=\"step-5\">Step 4: Configuring Multi-Channel Notifications (Discord \/ Telegram)<\/h2>\n<p>Navigate to <strong>Settings &gt; Notifications &gt; Setup Notification<\/strong> in your Uptime Kuma dashboard:<\/p>\n<ul>\n<li><strong>Telegram Bot:<\/strong> Enter Bot Token and Chat ID to receive instant alerts within 2 seconds of server downtime.<\/li>\n<li><strong>Discord Webhook:<\/strong> Paste your Discord server channel webhook URL for team operational awareness.<\/li>\n<li><strong>Custom Webhook:<\/strong> Send automated JSON payloads to internal automation pipelines or n8n workflows to trigger self-healing server restart scripts automatically.<\/li>\n<\/ul>\n<h2 id=\"step-6\">Step 5: Publishing a Public Customer Status Page<\/h2>\n<p>Click <strong>Status Pages &gt; New Status Page<\/strong> to create a branded public dashboard at <code>https:\/\/status.example.com\/status\/main<\/code> with custom incident announcement banners, uptime percentage badges, and incident history.<\/p>\n<h2 id=\"step-7\">Uptime Kuma Monitoring Protocol Capabilities<\/h2>\n<table class=\"cpf-table\">\n<thead>\n<tr>\n<th>Monitor Protocol<\/th>\n<th>What It Verifies<\/th>\n<th>Ideal Use Case<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>HTTP(s) Keyword Check<\/strong><\/td>\n<td>Status 200 + specific text string<\/td>\n<td>Detects database errors masked by 200 OK headers<\/td>\n<\/tr>\n<tr>\n<td><strong>TCP Port Probe<\/strong><\/td>\n<td>Socket connectivity on specific port<\/td>\n<td>MySQL (3306), Redis (6379), SSH (22)<\/td>\n<\/tr>\n<tr>\n<td><strong>DNS Record Resolver<\/strong><\/td>\n<td>Validates resolved IP addresses<\/td>\n<td>Detects DNS hijacking and nameserver outages<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"step-8\">Monitoring Internal Docker Containers via Docker Socket<\/h2>\n<p>Uptime Kuma can monitor internal Docker container health directly over the Unix socket (<code>\/var\/run\/docker.sock<\/code>), verifying if container daemons restart or exit unexpectedly without exposing internal ports:<\/p>\n<pre><code># Mount Docker socket in docker-compose.yml\nvolumes:\n  - .\/data:\/app\/data\n  - \/var\/run\/docker.sock:\/var\/run\/docker.sock:ro<\/code><\/pre>\n<p>In Uptime Kuma, select Monitor Type: <strong>Docker Container<\/strong>, and choose any running container from the auto-populated list!<\/p>\n<h2 id=\"step-9\">Setting Up Custom Domain SSL Expiry Alerts<\/h2>\n<p>Never let an SSL certificate expire unnoticed. Uptime Kuma automatically monitors TLS handshake certificates across all configured HTTPS monitors and triggers warning notifications 14, 7, and 3 days before certificate expiration.<\/p>\n<h2 id=\"step-10\">Uptime Kuma Routine Database Backups<\/h2>\n<p>Uptime Kuma stores monitor history and incident logs in an embedded SQLite database (<code>kuma.db<\/code>). Back up this file with a simple nightly cron job: <code>cp \/var\/www\/uptime-kuma\/data\/kuma.db \/var\/backups\/kuma_$(date +%F).db<\/code>.<\/p>\n<h2 id=\"step-11\">Configuring Push Monitors for Cron Jobs &amp; Background Tasks<\/h2>\n<p>In addition to active polling monitors, Uptime Kuma supports <strong>Push (Heartbeat) Monitors<\/strong> for verifying that critical background cron jobs (such as nightly database backups or video transcoding queues) execute successfully. The cron script sends an HTTP GET heartbeat upon completion; if Uptime Kuma does not receive the ping within the expected time window, an alert triggers immediately:<\/p>\n<pre><code># Example: Nightly MySQL Backup with Uptime Kuma Heartbeat Ping\n#!\/bin\/bash\nset -e\n\/usr\/local\/bin\/backup-database.sh\n\n# Send successful heartbeat ping to Uptime Kuma push URL\ncurl -s -m 10 \"https:\/\/status.example.com\/api\/push\/kUmApUsHtOkEn123?status=up&amp;msg=OK&amp;ping=\"<\/code><\/pre>\n<h2 id=\"step-12\">Customizing Status Page CSS &amp; Corporate Branding<\/h2>\n<p>Uptime Kuma allows injecting custom CSS rules into public status pages. Match your corporate design system with custom brand colors, glassmorphic cards, custom logo headers, and dark mode toggles directly from the Status Page settings panel.<\/p>\n<div class=\"cpf-exec-summary\">\n<h3>Recommended Related Technical Guides<\/h3>\n<ul class=\"cpf-exec-list\">\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-setup-grafana-prometheus-server-monitoring-vps\/\" class=\"cpf-overhead-link\">Setting Up Prometheus &amp; Grafana System Monitoring<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-host-n8n-workflow-automation-docker-vps\/\" class=\"cpf-related-link\">Triggering Automated Workflows with n8n Webhooks<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-run-docker-docker-compose-cheap-linux-vps\/\" class=\"cpf-related-link\">Running Containerized Monitoring on Budget Linux VPS<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"cpf-related-guides\">\n<h3>Host 24\/7 Monitoring &amp; Status Pages on CpanelFree<\/h3>\n<p>Keep 100% uptime visibility over your infrastructure with pure NVMe cloud VPS servers and 100% free hosting options.<\/p>\n<p>  <a href=\"https:\/\/cpanelfree.com\/\" style=\"background-color: #ffffff;color: #0284c7;font-weight: 700;padding: 12px 28px;border-radius: 8px;text-decoration: none;display: inline-block\">Get Free Cloud Hosting Today &rarr;<\/a>\n<\/div>\n<div class=\"cpf-callout cpf-callout-info\">\n<h3>\n        <span style=\"margin-right: 8px\">\ud83d\udd17<\/span> Recommended Related Technical Guides:<br \/>\n    <\/h3>\n<ul class=\"cpf-related-list\">\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-host-website-free-forever-guide\/\" class=\"cpf-related-link\">How to Host a Website for Free Forever: Complete Beginner Guide (2026)<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/free-wordpress-hosting-softaculous-installer\/\" class=\"cpf-related-link\">Top 5 Free WordPress Hosting Services with 1-Click Softaculous Installer<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-backup-linux-vps-to-cloud-storage-s3-rclone\/\" class=\"cpf-related-link\">How to Automatically Backup Your Linux VPS to Cloud Storage (S3 \/ Rclone Guide)<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/is-free-web-hosting-safe-security-checks\/\" class=\"cpf-related-link\">Is Free Web Hosting Safe? 5 Critical Security Checks Before Signing Up<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/merahost.org\/vps\/\" target=\"_blank\" rel=\"noopener\" class=\"cpf-related-link\">Deploy High-Performance Cloud VPS on MeraHost (KVM NVMe, Price Lock)<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"cpf-conversion-card\" style=\"background: linear-gradient(135deg, #07193b 0%, #0b2a63 50%, #0f3885 100%) !important; border: 1px solid rgba(56, 189, 248, 0.35) !important; border-radius: 14px !important; padding: 28px 24px !important; margin: 36px 0 !important; text-align: center !important; box-shadow: 0 10px 30px rgba(7, 25, 59, 0.2) !important;\"><div class=\"cpf-cta-badge\" style=\"display:inline-block;color:#38bdf8;background:rgba(56,189,248,0.12);border:1px solid rgba(56,189,248,0.3);padding:4px 14px;border-radius:20px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px;\">\ud83d\ude80 Production Cloud Infrastructure<\/div><h3 class=\"cpf-cta-title\" style=\"color:#ffffff;margin:0 0 8px 0;font-size:21px;font-weight:800;letter-spacing:-0.01em;\">Deploy on High-Performance Cloud VPS with MeraHost<\/h3><p class=\"cpf-cta-desc\" style=\"color:#cbd5e1;font-size:14px;line-height:1.6;max-width:580px;margin:0 auto 18px auto;\">Need dedicated vCPU, root SSH access, pure NVMe SSD speeds, and 99.95% uptime SLA for your production stack? Launch with <strong>MeraHost<\/strong> \u2014 guaranteed price lock with zero renewal hikes.<\/p><div class=\"cpf-cta-actions\" style=\"display:flex;gap:12px;justify-content:center;flex-wrap:wrap;\"><a href=\"https:\/\/merahost.org\/vps\/\" target=\"_blank\" rel=\"noopener\" class=\"cpf-cta-btn\" style=\"display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%) !important;background-color:#0284c7 !important;color:#ffffff !important;padding:11px 26px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;border:none;\">Deploy Cloud VPS on MeraHost &rarr;<\/a><a href=\"https:\/\/cpanelfree.com\/order\/free\" class=\"cpf-cta-btn\" style=\"display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.08) !important;border:1px solid rgba(255,255,255,0.2) !important;color:#ffffff !important;padding:11px 26px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;\">Need Free Staging? Claim Free cPanel<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Why Relying on Paid Status Page Services Is Unnecessary Maintaining high service availability requires continuous monitoring of your website endpoints, API gateways, database ports, and DNS resolvers. While commercial monitoring SaaS platforms (like Pingdom, Better Uptime, or Statuspage.io) charge $25 to $100+ monthly with strict monitor quantity limits, self-hosting your own monitoring portal gives you &#8230; <a title=\"How to Self-Host Uptime Kuma Status Page &amp; Server Monitoring on Ubuntu VPS\" class=\"read-more\" href=\"https:\/\/cpanelfree.com\/blog\/how-to-host-uptime-kuma-server-monitoring-docker-vps\/\" aria-label=\"Read more about How to Self-Host Uptime Kuma Status Page &amp; Server Monitoring on Ubuntu VPS\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":2509,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[166],"tags":[],"class_list":["post-1885","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developer-stacks"],"_links":{"self":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/comments?post=1885"}],"version-history":[{"count":12,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1885\/revisions"}],"predecessor-version":[{"id":4163,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1885\/revisions\/4163"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media\/2509"}],"wp:attachment":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media?parent=1885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/categories?post=1885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/tags?post=1885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}