Self-hosted apps you can run on a VPS

Self-hosting means running your own copy of an app instead of using someone else's service: your own password manager, file sync, photo library or website analytics, on a server you control. A small VPS can run several of these for less than many subscriptions, with your data in your own hands.

This guide lists fourteen popular, well-maintained apps, what each one needs, how to set it up and what to watch for. It is honest about the costs too: every app you run is software you must update, back up and secure. Self-hosting or paying for a service helps you decide whether that trade is worth it for you.

2 GB and 4 GB VPS plans in stock, good sizes for a few apps

In stock when this page loaded. See all 6 matching plans

What is in this guide

The memory budget

These figures are very rough. Memory use depends on the version, the settings, how much data you have and how many people use the app. Treat them as a starting point and check with docker stats once an app is running.

AppRough memory useSmallest sensible plan
VaultwardenTens of MB512 MB
AdGuard HomeAbout 50 to 150 MB512 MB
SyncthingAbout 50 to 200 MB1 GB
Uptime KumaAbout 100 to 250 MB1 GB
FreshRSS, with its databaseAbout 100 to 250 MB1 GB
ForgejoAbout 150 to 300 MB1 GB
Umami, with its databaseAbout 200 to 400 MB1 GB
BookStack, with its databaseAbout 200 to 400 MB1 GB
n8nAbout 200 to 500 MB2 GB
Nextcloud, with database and cacheAbout 500 MB to 1 GB2 GB
Paperless-ngx, with its helpersAbout 1 GB or more2 GB to 4 GB
JellyfinAbout 300 to 600 MB idle, much more while converting video2 GB to 4 GB
Immich, with machine learningSeveral GB4 GB to 6 GB
Open WebUI, plus a local AI modelDepends mostly on the model4 GB or more

Add up the apps you want, plus a few hundred MB for the system and Docker, and leave room to spare. A small swap file helps with brief peaks, but swap is a safety net, not extra RAM.

Five rules for every app

  1. Install from the project's own instructions. Most of these apps publish an official Docker Compose file. Start there. See installing and using Docker on a VPS.
  2. Keep it private unless it must be public. Publish ports on 127.0.0.1 only, and reach the app through a VPN or SSH tunnel. If it must be public, put it behind a web server with HTTPS. See web servers on a VPS.
  3. Never leave an app without a login, and turn off open sign-up after you create your account.
  4. Update it regularly. Read release notes before big jumps, and back up first.
  5. Back up its data off the server. Know where each app keeps its data and include it in your backups. See using a storage VPS for backups.

1. Vaultwarden: a password manager

What it is. A light, community-built server that works with the official Bitwarden apps and browser extensions. It is not made by Bitwarden itself.

Why it suits a VPS. It uses very little memory, and your passwords sync between devices from a server you control.

How to set it up. Run it from the project's Docker image, put it behind a web server with HTTPS, which the apps require, and create your account.

Watch out for. This is your most sensitive data. Turn off open sign-up and the admin page once set up, use a strong master password with two-factor login, keep it updated and back it up often. Consider keeping it reachable only over your VPN.

2. Uptime Kuma: uptime monitoring

What it is. A friendly dashboard that checks your websites and services every few minutes and alerts you when one goes down.

Why it suits a VPS. Monitoring works best from a different server than the one being watched, so a small separate VPS is ideal.

How to set it up. Start it with the project's Docker instructions, create an admin account, add checks for your sites, and set up notifications to email or a chat app.

Watch out for. Only check your own sites. Set checks to alert after a couple of failures to avoid false alarms. Keep the dashboard behind a login or VPN.

3. FreshRSS: a news reader

What it is. A web-based RSS reader that collects new posts from the sites and blogs you follow in one place.

Why it suits a VPS. It is light, runs all the time to fetch updates, and works with many phone reader apps.

How to set it up. Use the project's Docker image, or install it on a PHP web server. It can use SQLite for one user, which keeps it very light.

Watch out for. Fetching hundreds of feeds very often adds load. Respect sites' feed limits.

4. AdGuard Home: ad-blocking DNS

What it is. A DNS server that blocks advert and tracking domains for every device that uses it. Pi-hole is a popular alternative.

Why it suits a VPS. Paired with a personal VPN, it blocks ads on your phone anywhere. See setting up a WireGuard VPN.

How to set it up. Install it following the project's own documentation, make it listen on the VPN address only, and set your VPN clients to use it as their DNS server.

Watch out for. Never run an open DNS resolver on the public internet. Attackers misuse them, and it can break the acceptable use policy. Keep the DNS port closed to everyone but your VPN.

5. Syncthing: file sync between devices

What it is. A tool that keeps folders in sync between your devices, directly and encrypted, with no central company.

Why it suits a VPS. A VPS that is always on acts as a meeting point, so your laptop and phone can sync even when they are never online at the same time.

How to set it up. Install it from your package manager or the project's documentation, run it as a service for your user, and reach its web interface through an SSH tunnel to pair devices.

Watch out for. Sync is not backup: a deleted or damaged file syncs everywhere. Turn on file versioning and keep separate backups. Disk space on small plans fills quickly.

6. Forgejo: your own Git server

What it is. A light, community-run Git hosting service with a web interface, issues and pull requests. Gitea is a close relative.

Why it suits a VPS. It runs comfortably on a small plan and keeps private code off third-party services.

How to set it up. Use the official Docker image with SQLite or a small database, put it behind a web server with HTTPS, and create the admin account.

Watch out for. Turn off open registration, or bots will create spam accounts. If you add automated build runners, do not let them run code from people you do not trust.

7. Umami: private website analytics

What it is. Simple website visitor statistics without cookies or tracking across sites. Plausible is a similar choice.

Why it suits a VPS. It is light, and the data about your visitors stays on your own server.

How to set it up. Use the project's Docker Compose file, which includes its database, put it behind HTTPS, and add its small script to your website.

Watch out for. Change the default login straight away. Privacy rules still apply to visitor data, so check what applies to your site.

8. BookStack: a wiki for notes and docs

What it is. A tidy wiki organised like books, chapters and pages, good for notes, how-tos and team documentation.

Why it suits a VPS. It runs on a standard PHP and database setup and needs little memory.

How to set it up. Use a well-maintained Docker image or the project's install guide, put it behind HTTPS, then change the default admin login.

Watch out for. Default admin details are published in the documentation, so change them before anything else.

9. n8n: workflow automation

What it is. A visual tool for connecting apps and automating tasks, such as saving form entries to a spreadsheet or sending alerts.

Why it suits a VPS. It needs to run all the time to react to events and schedules. Automating with n8n on a small VPS covers it in depth.

How to set it up. Use the official Docker instructions, keep it behind a login and HTTPS, and store its data in a volume you back up.

Watch out for. Workflows often hold API keys for other services. Protect the login well, and check n8n's licence terms if you use it for a business.

4 GB VPS plans in stock, for Nextcloud, Paperless-ngx or several apps together

In stock when this page loaded. See every plan

10. Nextcloud: files, calendar and contacts

What it is. A self-hosted cloud for files, calendars, contacts and much more through add-on apps.

Why it suits a VPS. It replaces several services at once. It needs more memory than most apps here, but a 2 GB plan handles a small household.

How to set it up. The project's official all-in-one Docker setup is the simplest route. Use a database such as MariaDB or PostgreSQL rather than SQLite, and add a memory cache as its documentation explains.

Watch out for. Disk space: files fill small plans fast, so consider a plan with more disk or external storage. Add-on apps vary in quality. Keep it updated, as it is a popular target. See RackNerd VPS for self-hosting for plan ideas.

11. Paperless-ngx: a searchable document archive

What it is. A tool that takes scanned letters, receipts and PDFs, reads the text in them, and makes everything searchable and tagged.

Why it suits a VPS. It works in the background, and you can reach your documents from anywhere through the VPN.

How to set it up. Use the project's Docker Compose file, which includes a database and a queue. Upload documents through the web page or a watched folder.

Watch out for. Reading text from scans uses a lot of CPU and memory for short bursts. These are often your most personal documents, so keep it private behind a VPN and back it up well.

12. Jellyfin: a media server

What it is. A free media server that streams your own videos and music to apps on your TV, phone and computer.

Why it suits a VPS. It works when the media is already on the server and your devices can play it directly. For big libraries, a home server is often a better fit.

How to set it up. Use the official Docker image, point it at a media folder, and set up your user accounts.

Watch out for. Converting video on the fly uses a lot of CPU, and a VPS has no graphics card to help. Streaming uses bandwidth, and unmetered does not mean unlimited. Only host media you have the right to use, under RackNerd's acceptable use policy.

13. Immich: a photo library

What it is. A self-hosted photo and video library with phone backup, albums, face grouping and search, similar to well-known cloud photo services.

Why it suits a VPS. Your photos back up from your phone to a server you own, with no storage plan to pay for beyond the server.

How to set it up. Use the project's official Docker Compose file. It runs several containers, including one for machine learning features.

Watch out for. It is one of the heaviest apps here, and photo libraries need lots of disk. The machine learning part can be turned off to save memory. The project moves quickly, so read release notes before every update and keep a separate backup of your originals.

14. Open WebUI: a private AI chat

What it is. A chat interface for AI models, either small models running on your own server or paid models through an API.

Why it suits a VPS. You get one private place for AI chats. With an API, it needs little memory. With local models, it needs much more.

How to set it up. Your first self-hosted AI in 15 minutes walks through it, and self-hosted AI tools explained covers the options.

Watch out for. Small models on a CPU are slow and less capable than large hosted ones. Check each model's licence. Read and test anything an AI writes before relying on it. See keeping self-hosted AI safe and private.

What does not fit well

App or jobWhy it struggles on a small VPSBetter choice
Your own email serverHard to keep secure and out of spam folders, and heavy on memoryAn email service
Large media librariesDisk, bandwidth and video conversion all add upA home server, or a dedicated server
Home automationIt needs to talk to devices on your home networkA small computer at home. See home server or VPS
Many heavy apps on one small planMemory runs out and everything slowsA bigger plan, or split apps across two servers
Public social or chat servers for many usersHeavy, and moderating others is real workA larger plan, after reading the project's requirements

Also remember the costs that do not show on a price list: your time for updates, backups and fixing things. If an app is critical and you will not maintain it, a paid service may be the better choice.

When to step up

A 1 GB plan runs a few of the light apps. A 2 GB plan adds Nextcloud or n8n. A 4 GB plan runs a comfortable mix, including Paperless-ngx. Immich, local AI models and busy shared servers want 6 GB to 8 GB. If docker stats and free -h show memory always tight after adding an app, step up, or move the heaviest app to its own server.

6 GB and 8 GB VPS plans in stock, for heavy apps such as Immich

In stock when this page loaded. See all 6 matching plans

To compare what is available now, start with the cheapest RackNerd VPS guide and check the sales page.

More RackNerd guides