Serverless monitoring · Completed

Jellyfin Uptime Monitor

This AWS project checks a self-hosted Jellyfin server every hour. It sends an email when the server goes offline or comes back online.

Problem

I wanted to know when a friend’s Jellyfin server went offline. I also wanted to avoid getting the same alert every hour.

Solution

EventBridge runs a Lambda function every hour. Lambda checks the server URL and compares the result with the last status saved in DynamoDB. SNS sends an email only when the status changes.

Result

The monitor runs automatically. CloudWatch records each check, and the email alerts work as expected.

Challenge and fix

My first test failed because Lambda did not have permission to publish to SNS. I found the authorization error and added the needed sns:Publish permission to the role.

Future improvements

  • Add SMS alerts when messaging access is available
  • Support multiple recipients
  • Improve status reporting and operational dashboards
  • Manage the infrastructure with Terraform