How to Set Up a Simple Uptime Monitor With Zero Dependencies

You don't need a monitoring stack. You need one API call and an email address.

February 7, 2026 · 6 min read

The monitoring industry has a complexity problem. Open any "how to set up monitoring" guide and you'll be told to install Prometheus, configure Grafana dashboards, set up Alertmanager, and maybe add a PagerDuty integration. By hour three, you're debugging your monitoring system instead of building your product.

But here's the thing: if you're running one API, a landing page, and maybe a database — you don't need any of that. You need to know two things:

  1. Is my site up?
  2. If it goes down, tell me immediately.

This guide shows you how to get exactly that, with zero dependencies installed on your server.

The Problem With Self-Hosted Monitoring

Before we get to the solution, let's understand why the "just run it yourself" approach fails for small projects:

The principle: Your monitoring system should have zero overlap with your production infrastructure. Different server, different provider, different failure modes.

The Zero-Dependency Approach

The simplest reliable monitoring setup has three properties:

  1. Runs externally — on someone else's infrastructure, completely independent of yours.
  2. Configurable via API — so you can add it to your deploy script and never think about it again.
  3. Alerts via email — the one notification channel every developer already has configured.

Here's how to set this up in under two minutes.

Step 1 30 seconds

Get an API Key

Sign up at ArkWatch with just your email. No credit card. You'll get an API key back immediately.

curl -X POST https://watch.arkforge.fr/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'
Step 2 30 seconds

Create a Monitor

Tell ArkWatch what to watch. One API call per endpoint:

# Watch your API health endpoint every hour
curl -X POST https://watch.arkforge.fr/api/v1/watches \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/api/health",
    "interval_hours": 1,
    "notify_email": "you@example.com"
  }'

ArkWatch will now check your endpoint every hour. If it returns anything other than a 2xx status, or if the content changes unexpectedly, you'll get an email.

Step 3 1 minute

Add to Your Deploy Script

The key insight: monitoring should be automated, not manual. Add watch creation to your project's setup:

#!/bin/bash
# deploy.sh

echo "Deploying..."
git pull origin main
docker compose up -d

echo "Verifying deployment..."
sleep 5

# Trigger an immediate check after deploy
curl -s -X POST \
  https://watch.arkforge.fr/api/v1/watches/$WATCH_ID/check \
  -H "Authorization: Bearer $ARKWATCH_KEY"

echo "Deploy complete. Monitoring active."

What You Get (Without Installing Anything)

Monitoring Patterns for Common Setups

REST API with a health endpoint

# Check every hour, alert on non-200
{
  "url": "https://api.yourapp.com/health",
  "interval_hours": 1
}

Static site or landing page

# Check every 6 hours, detect content changes
{
  "url": "https://yourapp.com",
  "interval_hours": 6
}

Webhook endpoint that must stay available

# Check every hour — critical for payment webhooks, etc.
{
  "url": "https://yourapp.com/webhooks/stripe",
  "interval_hours": 1
}

When You Need More

This approach covers 90% of solo developer and small team needs. But there are cases where you genuinely need more:

For everything else — "is my side project still running?" — a simple API-based monitor is the right level of complexity.

Remember: The goal isn't perfect observability. The goal is knowing when your site is down before your users tell you. A simple monitor that's actually running beats a sophisticated one you never got around to setting up.

Set Up Monitoring in 2 Minutes

No dependencies. No dashboard required. Just an API key and a curl command.

Get Free API Key →

Recap

  1. Don't self-host monitoring for small projects. Use an external service.
  2. API-first tools let you automate monitoring as part of your deploy process.
  3. Email alerts are enough. You don't need Slack, PagerDuty, or OpsGenie for a side project.
  4. Content checking catches failures that simple HTTP status checks miss.
  5. Zero dependencies on your server means zero maintenance overhead.

Set it up once. Forget about it. Get woken up only when something actually breaks.

← Back to all articles