keepcalculator

06 Numbers and Powers

Cool Self Hosted Projects to Spin Up This Weekend

Card No. 06·48639 · Updated · Standard formula, shown below

Avg hours per service 1.333 hours
Avg minutes per service
80 min
Result
Setup time (hours)
4 hours
You entered
Number of services
3 count
You entered
You enter
Setup time (hours), Number of services
You get
Avg hours per service, Avg minutes per service
Rounding
1 dp · 0 dp

If you want to run your own services instead of relying on third-party cloud apps, there are many self-hosted projects you can set up in a weekend. You’ll need a computer that stays on (a small server, old PC, or even a Raspberry Pi) and a bit of comfort with the command line. This article covers a range of popular projects, what they do, and what to consider before you start.

Formula

The calculator above gives you a rough idea of how much time to budget per service. The formula is simply:

Average time per service = Total setup time / Number of services

  • t – total hours you plan to spend (default 4)
  • s – number of services you want to install (default 3)

The result is shown in hours and also in minutes for convenience.

Worked Example

Using the defaults: 4 hours total, 3 services.

4 / 3 = 1.33 hours per service, which is 80 minutes.

So if you have a weekend and want to set up three services, plan on roughly 80 minutes each – that includes downloading, configuring, and testing.

Why Self-Host at All?

Self-hosting means running software on your own hardware instead of using a hosted service. People do it for privacy, to own their data, to avoid subscription fees, or just to learn. The most common entry points are:

  • Media servers – stream your own movies and music (e.g., Jellyfin, Plex)
  • File sync and backup – like Dropbox but on your own disk (e.g., Nextcloud, Syncthing)
  • Password managers – keep your passwords in your control (e.g., Vaultwarden)
  • Ad-blocking for your whole network – Pi-hole or AdGuard Home
  • Home automation – control smart devices without cloud dependencies (e.g., Home Assistant)
  • Personal dashboards – a single page to see all your services (e.g., Heimdall, Organizr)

These are all mature projects with active communities. None of them require a powerful machine – a Raspberry Pi 4 or an old laptop is enough for most.

How It Works: Containers vs. Bare Metal

Most self-hosted apps are distributed as Docker containers. Docker packages the app and its dependencies into a single image that runs in an isolated environment. This makes installation predictable: you don’t have to worry about conflicting libraries or operating system versions. You define the services in a docker-compose.yml file, and then run docker-compose up -d to start them.

If you don’t want to use Docker, you can install software directly on the OS (bare metal). This is fine for a single service, but when you want several, containers are much easier to manage and update. For beginners, using a tool like Yacht or Portainer gives a web interface to manage containers – you don’t need to touch the command line after the initial setup.

How to Choose What to Spin Up

Start with a problem you actually have. If you pay for cloud storage, set up Nextcloud. If you’re annoyed by ads on your phone, set up Pi-hole. If you have a DVD collection, rip them and use Jellyfin. The more you need it, the more likely you’ll maintain it.

Also consider the hardware you have. A Raspberry Pi 4 (4GB RAM) can run Pi-hole, Home Assistant, and a small Nextcloud instance simultaneously. If you want to transcode video (convert on the fly to play on different devices), you need a more powerful CPU – an old desktop with an Intel i5 or better is a good start.

Another factor is how much maintenance you want. Some projects require frequent updates and occasional fixes. Others are set-and-forget. For example, Pi-hole is very stable once running, while Nextcloud gets regular updates that sometimes need manual intervention.

Common Problems and How to Avoid Them

The biggest mistake beginners make is exposing their services to the internet without proper security. If you want remote access, use a VPN (like WireGuard) instead of port-forwarding. If you must expose a service, put it behind a reverse proxy with HTTPS (using Caddy or Nginx Proxy Manager).

Another common issue is data loss. Always mount a separate volume for data inside containers so that when you update the container, your data stays. Also, back up your configuration files – they are small but precious.

Network problems often come from ports conflicting. For example, if you run two web servers on port 80, they will clash. Use different ports or a reverse proxy that routes based on domain names.

Comparison: Popular Projects by Category

Here’s a quick comparison of some well-known self-hosted tools in the same category:

  • Media servers: Jellyfin is fully open-source and free, while Plex is proprietary but has a more polished client app. Emby is another option, but it’s also proprietary.
  • File sync: Nextcloud is a full suite (files, calendar, contacts, notes), while Syncthing is a simpler tool that just syncs folders between devices – no server component needed.
  • Password manager: Vaultwarden is a lightweight, community-maintained implementation of the Bitwarden server API. It works with all Bitwarden clients.
  • Ad-blocking: Pi-hole is the classic choice, but AdGuard Home has a more modern web interface and supports DNS-over-HTTPS out of the box.

There’s no single best – it depends on your needs and how much you want to tinker.

Costs and Hardware

Self-hosting can be nearly free if you already have a computer. The main costs are electricity and the hardware itself. A Raspberry Pi 4 draws about 5 watts, which costs a few dollars a year to run. An old desktop might draw 50-100 watts, which adds up to maybe $50-100 per year depending on your electricity rate.

If you don’t have spare hardware, you can rent a cheap VPS (virtual private server) for a few dollars a month, but then you’re back to relying on a third party for storage. For maximum control, local hardware is better.

Safety and Security

Before you start, change the default passwords on your router and any device you use. Use strong, unique passwords for each service. Enable two-factor authentication where possible. Keep your system updated – set up automatic security updates if you can.

If you open ports to the internet, you’re exposing your home network to attacks. A reverse proxy with HTTPS is the minimum, but a VPN is safer. Never expose a service that you haven’t secured, and never expose a service that handles sensitive data (like a password manager) without extra precautions.

Frequently Asked Questions

Do I need a powerful computer to self-host?

No. Most self-hosted services run fine on a Raspberry Pi 4 or an old laptop with 4GB of RAM. Only tasks like video transcoding or running many services simultaneously need more CPU and memory.

What is the easiest project to start with?

Pi-hole is often recommended because it’s simple to install and requires no account or configuration beyond setting your router to use it as a DNS server. You’ll see results immediately – fewer ads on all devices.

Can I access my services from outside my home?

Yes, but you should use a VPN (like WireGuard) or a reverse proxy with HTTPS. Never expose a service directly without security measures. Some projects like Nextcloud have built-in remote access features, but they still require proper configuration.

How do I update self-hosted apps?

If you use Docker, updating is usually a matter of pulling the new image and recreating the container (e.g., docker-compose pull then docker-compose up -d). Many apps also have a web-based updater. Always back up your data before updating.

Is self-hosting legal?

Yes, self-hosting is legal in most countries. What may be illegal is hosting copyrighted content without permission. For example, ripping a DVD you own is fine in many places, but sharing it publicly is not. Always respect the law in your jurisdiction.

What if I break something?

That’s part of the learning process. Keep a backup of your configuration files, and if a service fails, you can usually reinstall it from scratch. Many projects have excellent documentation and community forums where you can ask for help.

Related

Formula used
in t | Setup time (hours) | hours | 4 | 0 | 24
in s | Number of services | count | 3 | 1 | 20
out hours_per_service | Avg hours per service | hours | t / s | 1
out minutes_per_service | Avg minutes per service | min | (t * 60) / s | 0

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →