I love self-hosted software, but there are downsides no one talks about

3 weeks ago 20 Back

Published Mar 17, 2026, 10:30 AM EDT

Yadullah Abidi is a Computer Science graduate from the University of Delhi and holds a postgraduate degree in Journalism from the Asian College of Journalism, Chennai. With over a decade of experience in Windows and Linux systems, programming, PC hardware, cybersecurity, malware analysis, and gaming, he combines deep technical knowledge with strong editorial instincts.

Yadullah currently writes for MakeUseOf as a Staff Writer, covering cybersecurity, gaming, and consumer tech. He formerly worked as Associate Editor at Candid.Technology and as News Editor at The Mac Observer, where he reported on everything from raging cyberattacks to the latest in Apple tech.

In addition to his journalism work, Yadullah is a full-stack developer with experience in JavaScript/TypeScript, Next.js, the MERN stack, Python, C/C++, and AI/ML. Whether he's analyzing malware, reviewing hardware, or building tools on GitHub, he brings a hands-on, developer’s perspective to tech journalism.

Running your own software stack has quite a few advantages. You spin up a container, point a domain at it, and suddenly you own your data and the infrastructure the software runs on. No one is reading your notes to serve you ads, no subscription can be revoked, and a company going out of business tomorrow doesn't affect you.

There are plenty of self-hosted tools that can replace expensive software subscriptions. In theory, self-hosting sounds like the solution to almost every problem with mainstream software. However, there are also downsides that the self-hosting community tends to gloss over, and if you're a beginner, you too are going to run into them.

You stop being a user and start being the sysadmin

Troubleshooting quietly becomes part of your routine

The moment you run your first self-hosted service or software, you're no longer a user. You're now an administrator for the entire stack, whether you wanted the job or not. And that role comes with responsibilities that can get really technical, really quickly. Updates don't apply themselves, security patches don't show up with helpful reminders, and if something breaks in the middle of the night, you become the customer support as well.

The complexity of the administration depends on the software you're using. For example, with Copyparty, this shows up in subtle but real ways. The software is incredibly capable with chunked and parallelized uploads, resumable transfers, deduplication, media transcoding, and more, but many of these features are opt-in only when you've got the right dependencies installed.

Sometimes features live deep inside a configuration file format that can be dense to navigate, even for experienced or enthusiastic users. You can't just install and expect self-hosted software to work. You have to configure them, maintain them, and watch out for security fixes, because as good as these programs are, they're not immune to vulnerabilities.

This is the labor behind self-hosting your own software stack that doesn't get talked about much. You can save hundreds by self-hosting software, but it's not a one-time setup cost. It's an ongoing time commitment, and that time is rarely accounted for when someone wants to ditch cloud software forever.

When the developer’s vision stops matching yours

Forks, abandoned features, and sudden roadmap pivots

Self-hosted software is almost always produced by developers who also run a hosted, commercial version of the same product. There's nothing wrong with the practice. In fact, it's how many open-source projects stay financially viable. That said, it does create some tension that's often felt by users on the self-hosted side.

AFFiNE is a textbook example. It's a great knowledge management tool—a hybrid of Notion and a whiteboard—and its self-hosted version is technically open to anyone. But the experience of running your own instance has been a moving target. Self-hosted installations can randomly get defaulted to the free plan restrictions, which include a 10 GB storage cap, a 10 MB file upload limit, and a 7-day version history.

The frustration isn't really about the limits themselves; it's about the message those limits send. The developer's cloud product and self-hosted instances start to converge in terms of restrictions. This raises the question that if you can get all the perks on the free cloud tier, why waste time and effort maintaining a server?

AFFiNE has since clarified some of these plans, promising unlimited blob storage, but the episode is instructive. When a company's revenue depends on converting you to a paid cloud user, the self-hosted path becomes a second priority.

The best features sometimes live behind the cloud wall

Cloud software makes money, self-hosting gives you freedom

AFFiNE AI cloud integration error message.

Tied closely to the above is the problem of feature disparity. Self-hosted versions of software consistently lag behind their cloud counterparts, and in some cases, key features are simply not available to self-hosted users at all.

AFFiNE's AI assistant is the most obvious example of this. The AI copilot functionality is integrated into the cloud product, and on a self-hosted instance, getting it to work means reverse engineering configuration variables, figuring out which model providers are hardcoded versus configurable, and setting environment variables just right. The AI features are a commercial differentiator for the hosted product, and self-hosted users are working against that policy every time they try to replicate the experience.

This isn't a problem unique to AFFiNE. It is the structural reality of almost any open-source tool that has a commercial cloud offering. The hosted product gets the new features first, and sometimes exclusively, and the self-hosted version catches up later, if at all.

The maintenance treadmill never really stops

Updates, breaking changes, and dependency headaches

Then comes maintaining your self-hosted instances. When you use a cloud or regular SaaS (Software-as-a-Service) product, updates happen in the background. These updates sometimes force changes on you, the most common being unprompted interface changes. But when you run your own instance, you are responsible for deciding when to update, testing that the update does not break something you depend on, and fixing it when it eventually does.

Breaking changes are also more common than you'd think. A dependency updates, and suddenly your Docker Compose setup stops working. A new version ships a database migration that does not cleanly handle your existing data. A configuration key gets renamed, and your service comes crashing down.

None of this is the developer's fault. Software evolves with time, but it lands entirely on your desk. The update you skipped six months ago because you didn't have time is now three major versions behind, and catching up becomes a project of its own.

There is also the question of what happens if the project slows down or stops entirely. The open-source ecosystem has a real abandonment problem, whether you want to admit it or not. Research has found that the vast majority of audited open-source components show no clear signs of active maintenance. Sure, self-hosted tools can replace your favorite paid subscriptions, but the self-hosted tool you have built your workflow around today could be an orphaned repository in the next two years, still running on your server, slowly collecting unpatched security vulnerabilities only to be exploited later.

The hidden setup cost nobody warns you about

Time, hardware, and the endless tweaking phase

Running self hosted tools with Docker

Last but not least, there's the initial cost of getting something running, which rarely goes as smoothly as the documentation implies. Copyparty, for all its benefits, requires you to handle TLS yourself. You can do this either by provisioning certificates directly or running it behind a reverse proxy like Nginx.

If you're fluent with reverse proxies or have prior networking experience, you're good. Otherwise, it can be quite the learning project on your own. So even though it's incredibly easy to run Copyparty even on an Android phone, getting it to actually work like a proper cloud service requires expertise and time you may or may not have.

Yes, cloud solutions aren't free either. But the cost comparison between cloud and self-hosted software rarely accounts for the time and cognitive overhead—the hours spent debugging a port forwarding issue, reading through GitHub discussions, or figuring out why your reverse proxy is downing itself every 24 hours. That time has value, and for a lot of people, it exceeds the cost of a monthly subscription.

Self-hosting is great, but it’s not for everyone

Finding the balance between control and convenience

None of this is an argument against self-hosting. The privacy benefits are real, the control is real, and the satisfaction of a stack that belongs entirely to you is better than what any service would give you.

Open notebook with Notion OneNote and Evernote logos

Related

Why I Never Pay for Pro Versions of Free Productivity Apps

Free productivity apps already meet my needs, no upgrades required.

But the narrative that self-hosting is simply the smarter, better, freer alternative to cloud software is just not true. It's a trade, and like every trade worth making, it comes with costs that may or may not work for you. Open-source software isn't always the better option, and that's alright. Sometimes paying for a subscription is the better option over getting lost in configuration files; other times, it's a waste of money.

Read Entire Article