A user on Reddit asked me how I monitor for outages on my Plex server. Since I no longer have any inclination to use Reddit, I decided to post the answer here and point them to it.
As a prerequisite, I am going to assume that you already have Remote Access setup correctly for your Plex server. If you don’t, that’s a whole other thing that you will need to get working first. However, if you see a green check mark next to Remote Access, and "Fully accessible outside your network" on the Remote Access page for your Plex server, then you should be good to move forward.
Step 0 - Set up Dynamic DNS
First, I recommend getting dynamic DNS (DDNS) setup. This isn't a requirement per se, but it does mean you won't have to redo everything any time your public IP changes.
I personally use https://freedns.afraid.org/, but there are quite a few options for free DDNS services. The idea is that you can tell the service your public IP address and they will assign a DNS host name to it, that is resolvable on the internet. So instead of 123.456.789.012:32400 (not a real IP, just an example) being the way to reach your Plex server on the internet, it could be something like my.domain.fake:23400. The domain name would never change, even if your ISP assigns you a new IP address.
You can either manually update that DNS record when your public IP address changes, or you can use a program to monitor for IP changes and update the record for you automatically. Some routers even have settings built in to update dynamic DNS entries for you. I personally use a program called ddclient https://github.com/ddclient/ddclient running on a RaspberryPi, but there are other options for this. Setting up ddclient is a bit complicated and outside of the scope of this post, so I am not going to go into it.
Step 1 - Create an UptimeRobot account
Go create yourself a free account at https://uptimerobot.com/. They are an uptime/outage monitoring service, and they have a free tier that is suitable for monitoring a single service like this for home use. The main down sides of the free tier are a 5 minute monitoring interval (vs. 1 minute for paid) and limited types of monitoring. However, for this guide, I use port monitoring which is included in the free tier. If you find that you need to monitor more types of things, or you need the shorter interval, the next tier up is priced pretty reasonably IMO, so support them and pay for it. I am not an affiliate; I just think they have a good service at a reasonable price.
Step 2 - Setup alert contacts
You need to set up how you will get notified when there is an outage. Go to the settings of your account and click the "Add Alert Contact" button. There are a lot of options, but I personally just use plain old email, as well as a push notification on my phone (you must install the UptimeRobot app on your phone for that). There are a lot of other options like Slack, Discord, etc. but I have never used any of them, so I won’t comment on them.
Step 3 - Setup a monitor for your Plex server
In the UptimeRobot dashboard, click the "Add New Monitor" button. Set the following options:
- Friendly name: Plex server (or whatever you want)
- IP (or URL or Host): If you didn’t setup dynamic DNS just use the public IP address where your Plex server is hosted. If you aren’t sure what it is, you can find it on the Remote Access page of your Plex server settings. However, if you did setup dynamic DNS, put in the host name that maps to your IP instead.
- Port: Custom and then put in the public port that your Plex server uses. Default is 32400, but again you can find this on the Remote Access page of your Pleas server settings.
- Monitoring Interval: This is how often UptimeRobot will check to see if it can reach your Plex server. The lowest you can go on the free tier is 5 minutes. With a paid account you can go as low as 1 minute.
- Monitor Timeout: This is how long UptimeRobot will wait for a response before it decides that no one is going to answer and the Plex server isn’t just being slow but is in fact down. The default of 30 seconds hasn’t been an issue for me.
- Select "Alert Contacts to Notify": select whatever ones you setup in step 2 above.
Click "Create Monitor" and you’re done! In your dashboard there is a button to test a notification if you need to.
Bonus tip: if you know that you are going to be bringing your Plex server down for maintenance, you can pause the monitor before you do. That way you don’t get spammed with a bunch of notifications that your server is down when you already knew about it. Just don’t forget to un-pause the monitor when you’re done. 😊
I have found this setup to be very reliable and helpful for letting me know when there is an issue with accessing my Plex Server. I hope others find it useful as well!
Funny enough, I think I came to the same conclusion. I was trying to get some simple applications setup in docker (was going to start there, then move to podman) but I was having some trouble getting it going. I was finding it super inconvenient to try to get config files and logs in and out of the container. So I decided to give LXC containers a try and man are they way easier! I now have cloudflared, inadyn, and Pihole all running in LXC containers and I'm pretty happy with them.
I will still likely setup docker and podman VMs, and maybe Kubernetes down the line, because I need to get more familiar with the for work. But I am thinking about just sticking with LXC for my personal applications.
Also, since it sounds like you are still learning Proxmox, like me, I'll share this: https://youtu.be/LCjuiIswXGs It's a whole Proxmox course by "Learn Linux TV" on YouTube. I am working through it one video at a time and it has been super helpful and informative!
Thanks for sharing your insights!