tutorial

Monitoring Homechart with Vigilmon

Homechart coordinates budgets, chores, meals, and calendars for your household — but when it goes down, reminders stop firing and shared tasks go untracked. Here's how to monitor every layer with Vigilmon.

Homechart is a self-hosted household management app that brings budgets, chore assignments, meal planning, and shared calendars under one roof. Your family depends on it for reminders and shared task visibility — so when the Go backend stops responding or the PostgreSQL database drops, the household workflow breaks silently. Vigilmon gives you uptime monitoring, API health checks, database probes, reminder pipeline heartbeats, and SSL alerts so you know before your family does.

What You'll Set Up

  • HTTP uptime monitor for the Homechart web interface
  • API endpoint response time monitoring
  • PostgreSQL database connectivity probe
  • Scheduled reminder job heartbeat
  • Calendar sync service health check
  • SSL/TLS certificate expiry alert

Prerequisites

  • Homechart running and accessible (default port 3000)
  • PostgreSQL database backing the instance
  • A free Vigilmon account

Step 1: Monitor the Homechart Web Interface

Homechart serves both its API and its TypeScript frontend from the same Go process on port 3000. If that process crashes, all household features go offline.

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your Homechart URL: https://homechart.yourdomain.com.
  4. Set Check interval to 1 minute.
  5. Set Expected HTTP status to 200.
  6. Click Save.

Homechart exposes a /api/v1/health endpoint that reports backend status. Use that for a more meaningful probe:

https://homechart.yourdomain.com/api/v1/health

Set Expected body contains to "ok" or the relevant status field from the health response.


Step 2: Monitor API Endpoint Response Times

Homechart's API backs every household action — adding a budget line, marking a chore complete, checking the meal plan. A slow API means the frontend stalls and household members see spinner screens.

Add monitors for the core API routes:

Budget API:

  1. Click Add MonitorHTTP / HTTPS.
  2. URL: https://homechart.yourdomain.com/api/v1/budget-accounts.
  3. Set Expected HTTP status to 200 or 401 (unauthenticated probe is fine — a 401 confirms the route is alive).
  4. Check interval: 5 minutes.

Chores API:

Same pattern with /api/v1/chores.

Meal plan API:

Same pattern with /api/v1/cook-meal-plans.

If response time climbs above 1–2 seconds on these endpoints, it typically signals PostgreSQL query slowdowns before hard failures appear.


Step 3: PostgreSQL Database Connectivity

Homechart writes all household data — budgets, chores, meals, calendar events, notes — to PostgreSQL. A database outage means no reads or writes across every household feature.

Add a TCP port monitor:

  1. Click Add MonitorTCP Port.
  2. Host: your PostgreSQL server IP or hostname.
  3. Port: 5432.
  4. Check interval: 1 minute.
  5. Click Save.

For a deeper query-level check, add a health endpoint to your reverse proxy that runs a SELECT 1:

# nginx snippet
location /db-health {
    access_log off;
    proxy_pass http://127.0.0.1:3000/api/v1/health;
}

Homechart's own /api/v1/health already exercises the database connection on most builds — use it rather than a separate probe if it does.


Step 4: Reminder and Notification Pipeline Heartbeat

Homechart sends push notifications and email reminders for chores and calendar events on a schedule. This runs as a background goroutine inside the Go process. If it stalls, reminders stop firing — a failure that's invisible until someone misses a chore deadline.

Since there's no separate process to probe directly, add a cron heartbeat tied to the reminder delivery schedule:

  1. In Vigilmon, click Add MonitorCron Heartbeat.
  2. Set the expected ping interval to 60 minutes (Homechart's default reminder check cadence).
  3. Copy the heartbeat URL.
  4. Add a lightweight health-check script that pings Vigilmon after confirming the Homechart process is alive and the notification queue is not stalled:
#!/bin/bash
# /opt/homechart/bin/reminder-heartbeat.sh
# Confirm Homechart process is running
if curl -sf http://localhost:3000/api/v1/health > /dev/null; then
    curl -s https://vigilmon.online/heartbeat/YOUR_TOKEN
fi

Schedule it via cron:

*/60 * * * * homechart /opt/homechart/bin/reminder-heartbeat.sh

If the Homechart process crashes or the health endpoint stops responding, the heartbeat goes silent and Vigilmon alerts you within the hour.


Step 5: Calendar Sync Service Health

If you've configured iCal/CalDAV sync in Homechart, calendar import failures mean household members miss schedule updates imported from external calendars.

Monitor the CalDAV endpoint if you expose one, or add a dedicated HTTP check against the calendar sync route:

  1. Click Add MonitorHTTP / HTTPS.
  2. URL: https://homechart.yourdomain.com/api/v1/calendar-events.
  3. Set Expected HTTP status to 200 or 401.
  4. Check interval: 10 minutes.

For external calendar sources (Google Calendar, Apple Calendar), monitor reachability of the HTTPS feed URL directly from Vigilmon to confirm the sync source is accessible:

https://calendar.google.com/calendar/ical/YOUR_CALENDAR_ID/public/basic.ics

Step 6: SSL/TLS Certificate Expiry

Household members access Homechart from phones and laptops that enforce HTTPS strictly. A lapsed certificate locks everyone out instantly.

  1. Open the HTTP monitor created in Step 1.
  2. Enable Monitor SSL certificate.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

Step 7: Configure Alert Channels

  1. Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
  2. On the main web interface monitor, set Consecutive failures before alert to 2 — a single timeout during a restart is noise.
  3. On the database TCP monitor, alert immediately on the first failure — a database outage has no self-healing path.
  4. Route reminder heartbeat alerts to email so household members can be notified directly if reminders stop.

Summary

| Monitor | Target | What It Catches | |---|---|---| | HTTP — web interface | https://homechart.yourdomain.com | Go process crash | | HTTP — health endpoint | /api/v1/health | Backend + DB connectivity | | HTTP — budget API | /api/v1/budget-accounts | Budget feature down | | HTTP — chores API | /api/v1/chores | Chore assignment feature down | | TCP — PostgreSQL | :5432 | Database process down | | Cron heartbeat | reminder script | Notification pipeline stalled | | HTTP — calendar API | /api/v1/calendar-events | Calendar sync failure | | SSL certificate | Homechart domain | TLS renewal failure |

Homechart turns household coordination into a shared digital system — which means any downtime is immediately felt by everyone in the house. With Vigilmon watching each layer, you catch database failures before budgets stop loading, reminder job stalls before chore deadlines get missed, and certificate expiry before mobile browsers lock everyone out.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →