Self-hosting it reliably
Deploys that did not deploy, firewalls that are not the firewall, growth that crosses a limit, and backups nobody has restored.
Self-hosting is cheap to start and the running costs are paid in surprises. Almost all of them come from a mismatch between what you believe is true and what the machine is actually doing.
Restarting is not deploying. Whether a restart picks up your change depends entirely on how the code got into the image, and the same command is correct in one setup and useless in another. The symptom is a fix that works locally and not on the server, with no errors anywhere.
The firewall you configured may not be the one deciding. Cloud hosts put a network filter in front of the machine, so a port you opened can be unreachable and a port you closed can be exposed. Only a connection attempt from another network tells you the truth.
Growth crosses limits you did not know existed. A structure that scales with the square of something will be unremarkable for months and then hit a hard runtime ceiling. Combine that with a restart policy and one failed save becomes an infinite crash loop that no alert catches, because the service is technically always about to be running.
Alerting decays. A notification that was interesting at three events a week is noise at thirty a day, and the value of the channel is entirely in your willingness to look at it.
And the backup you have never restored is a hypothesis. Rehearse it, and you will find the gap every time.
Need help with any of this?
These notes are free and always will be. If you would rather someone just set it up, or you are stuck on something similar, get in touch at hello@opsira.io.