Self-hosted storage has a real case now. Cloud prices are going up, storage limits feel arbitrary, and privacy concerns around things like photo libraries are getting harder to ignore. A VPS with a large HDD pool — the kind BulkVM sells — is a reasonable foundation for any of these tools.

This isn't a comprehensive setup guide for each one. It's a quick rundown: what the software does, who it's for, and what it actually needs in terms of RAM, CPU, and storage.

1. Nextcloud

What it is: The broadest self-hosted cloud suite available. File sync, calendar, contacts, notes, talk (video/chat), and a plugin ecosystem that extends it further. If someone is replacing Google Workspace or iCloud for a team or family, Nextcloud is usually the first thing they look at.

Who it's for: Small teams, families, or anyone who wants a full cloud productivity stack without paying per seat.

What it needs: PHP-based, so it's not particularly lightweight. Realistically, 2GB RAM is the minimum for a comfortable experience — 4GB if you're enabling the Office suite (Collabora or OnlyOffice). Storage needs depend entirely on what you sync, but the HDD pool on a BulkVM Standard or Pro plan handles it well.

Plan fit: Standard ($10/mo, 5TB, 2GB RAM) covers a single user or small household. Pro ($30/mo, 15TB, 2GB RAM) if you're running it for a team or syncing large shared file libraries.

Nextcloud also runs well in Docker. See our Nextcloud VPS page for a quick-start Docker Compose setup.

2. Seafile

What it is: A file sync and share platform, similar in scope to Nextcloud's core file features but implemented differently. Seafile uses a chunked, deduplicated storage format internally, which means it handles large files and delta syncing efficiently. It's faster than Nextcloud at raw file sync and uses less RAM.

Who it's for: People who want Dropbox-like sync without the productivity suite overhead. Also popular for teams that do a lot of large binary file work (video, CAD, raw photos).

What it needs: 1GB RAM is workable for a small deployment. The internal storage format means disk usage is efficient — deduplication helps if you sync files across multiple devices that share content.

Plan fit: Starter ($5/mo, 2TB, 1GB RAM) works for personal use. Standard for team deployments.

3. Immich

What it is: A self-hosted Google Photos replacement. Mobile app for iOS and Android, automatic backup of your camera roll, facial recognition, object detection, map view. The interface is close enough to Google Photos that it doesn't feel like a compromise.

Who it's for: Anyone who wants to own their photo library without paying Google or iCloud for storage or tolerating their AI processing your images.

What it needs: This one is more resource-intensive than people expect. Machine learning features (face recognition, object tagging, CLIP search) run as background workers. On initial import, expect sustained CPU load. RAM-wise, 2GB is minimum, 4GB is comfortable. The photo library itself grows fast — a family shooting in RAW or video will fill 2TB in a couple of years.

Plan fit: Standard ($10/mo, 5TB, 2GB RAM) for a personal library. Pro ($30/mo, 15TB, 2GB RAM) for a family or if you shoot a lot of video.

You can disable ML features in Immich if you want to run it on the Starter plan. Sync still works; you just lose facial recognition and semantic search.

4. MinIO

What it is: S3-compatible object storage you run yourself. Applications that can talk to AWS S3 can point at a MinIO instance instead with a config change. Used for application backups, static asset hosting, media storage for self-hosted apps, and bulk data pipelines.

Who it's for: Developers and sysadmins, not end users. If you're running other self-hosted software that needs an S3 bucket, MinIO lets you keep that data on your own server instead of paying AWS or Backblaze. We break down the cost math in our storage VPS vs S3, B2, and Wasabi comparison.

What it needs: MinIO itself is lightweight — 512MB RAM is enough for a single-node setup. The storage is the footprint. Because it speaks the S3 API, you can use rclone, the AWS CLI, or any SDK to interact with it.

Plan fit: Starter ($5/mo, 2TB, 1GB RAM) works for a developer running it as a backend for other apps. Standard or Pro if you're storing large datasets.

5. Syncthing

What it is: Peer-to-peer file synchronization. No central server required — devices sync directly. Running it on a VPS gives you an always-online relay point, so your laptop at home and your laptop at work sync through the VPS even when they're not on the same network.

Who it's for: People who want sync without a cloud middle-man. Great for keeping a working directory in sync across machines, or for low-maintenance file sharing between a small number of trusted people.

What it needs: Very light. 256MB RAM is enough. CPU usage is minimal after the initial sync. The VPS acts as a relay node — storage requirements are whatever you're syncing.

Plan fit: Any plan works. The Starter ($5/mo) is fine unless you're syncing terabytes. Running Syncthing alongside another application (like MinIO or Nextcloud) is common.

6. Jellyfin

What it is: A self-hosted media server. Stream movies, TV shows, music, and photos to any device — web browser, mobile app, smart TV, Kodi, or anything else with a Jellyfin client. It's the open-source Plex, without the account requirement, the premium tier, or the data collection.

Who it's for: Anyone with a personal media library who wants to stream it from anywhere. Common use case: rip your DVD/Blu-ray collection and stream it like Netflix.

What it needs: The catch with Jellyfin on a VPS is transcoding. If all your clients can direct-play the source format, CPU load is minimal. If transcoding kicks in (common with HEVC or when clients have limited codec support), you need CPU headroom. 2GB RAM minimum; more if transcoding is heavy.

Storage is the real driver here — a decent movie library is big. The HDD pools on BulkVM are sized for this kind of use. A 15TB Pro plan holds a lot of 1080p content.

Plan fit: Standard ($10/mo, 5TB, 2GB RAM) for a smaller library with mostly direct-play clients. Pro ($30/mo, 15TB, 2GB RAM) for a large library — 15TB holds a lot of 1080p content.


Stacking Applications

These six don't have to run in isolation. A common setup on a single Standard or Pro VPS:

  • Nextcloud for file sync, calendar, and contacts
  • Immich for photos (pointed at the same ZFS pool)
  • Jellyfin for media

Docker Compose makes this manageable — each application gets its own container, you control which ports are exposed, and a reverse proxy (Caddy or nginx) handles HTTPS. The 5TB or 15TB HDD pool is shared across all of them.

The one thing to watch is RAM. All plans run 2GB — that's tight if Immich's ML indexing overlaps with active Nextcloud and Jellyfin usage. Schedule Immich indexing during off-hours via its built-in job scheduler. Storage is what drives plan choice here: three active applications eat through 5TB faster than you'd expect, which is when the Pro plan's 15TB pool makes more sense.

Storage VPS starting at $5/month

ZFS HDD storage pools, SSD boot drives, KVM virtualization. Unmanaged — you install what you want.

See Storage VPS Plans Nextcloud Setup Guide