Independent Australian Storage & Infrastructure Authority

Running Multiple Self-Hosted Apps on One NAS

Most NAS devices can run 2-4 self-hosted apps simultaneously, but RAM is the hard limit. This guide maps real memory requirements for Immich, Jellyfin, Vaultwarden, Nextcloud and Paperless-ngx so you can stack apps without hitting the ceiling.

This page contains affiliate links. If you purchase via our links we may earn a small commission, at no extra cost to you. Editorial independence policy.

Our Pick

UGREEN DXP4800

For running multiple self-hosted Docker containers on one NAS, the DXP4800 is the value choice in the x86 lineup: Intel N100, 8GB DDR5 expandable to 16GB, and four SATA bays provide useful storage capacity, but suitability for this application stack depends on app versions, workload, available RAM, CPU architecture and container-image support.

  • CPU: Intel N100, quad-core x86 (up to 3.4GHz)
  • RAM: 8GB DDR5 (expandable)
  • Drive Bays: 4x SATA 3.5"/2.5", 2x M.2 NVMe, 2x 2.5GbE

You set up a NAS, a network-attached storage device that connects to your home router and gives every device in your house access to the same files and backups, and then discovered it can run apps too. Photo backup with Immich. Password manager with Vaultwarden. Media server with Jellyfin. Document scanning with Paperless-ngx. Within a week the question becomes: can one NAS handle all of this at once, or will it fall over?

In short: Capacity depends on app versions, configuration, workload and NAS operating-system overhead. Immich currently specifies 6GB minimum and 8GB recommended, with 4GB supported only when machine learning is disabled; size and test the complete stack rather than treating 4GB, 8GB or 16GB as universal thresholds. The bottleneck may be memory, CPU or GPU capacity, storage I/O, or network throughput depending on the workload.

How Apps Run on a NAS: Docker

Many self-hosted NAS apps are deployed in Docker containers, software that runs applications in isolated containers without affecting the core operating system. Think of each Docker container like a separate apartment in a building: it has its own plumbing and electricity, but it shares the building's foundation (the NAS hardware and operating system). Containers provide process isolation, but they share the host kernel and hardware resources; without appropriate permissions and resource limits, one container can affect other containers or the host.

Docker is available on Synology's DSM (Synology's operating system), QNAP's QTS (QNAP's operating system), Ugreen's UGOS Pro (Ugreen's operating system), and third-party platforms like Unraid and TrueNAS SCALE. Application availability and compatibility vary by NAS model, operating-system version, CPU architecture and container-image support, in addition to the underlying hardware capacity.

RAM Is the Ceiling: What Each App Actually Needs

Every running container consumes RAM whether you are actively using it or not. RAM works like a desk: you can only have so many files spread out at once. Under memory pressure, a host may use slower swap if it is configured, reclaim memory, or invoke out-of-memory handling and terminate processes. On a NAS, swap-heavy operation means sluggish response times for every app on the device.

The RAM figures below should be treated only as illustrative measurements, not vendor requirements; actual use varies by version, configuration, library size, concurrency and background work. Peak consumption can be substantially higher during machine learning, transcoding and indexing, and should be measured using the intended configuration and workload. Reserve memory for the NAS operating system and background services based on vendor guidance and observed peak use.

Self-Hosted App RAM Requirements

App Idle RAM Peak RAM Notes
Vaultwarden (password manager) Vaultwarden~80MB~150MBExtremely lightweight. Runs fine on any NAS with 1GB+ free.
Paperless-ngx (document archive) Paperless-ngx~300MB~600MBSpikes during OCR processing of new documents.
Jellyfin (media server, no transcode) Jellyfin~400MB~700MBDirect play only. Transcoding adds 800MB-2GB per stream.
Jellyfin (media server, 1080p transcode) Jellyfin~400MB~1.5GBCPU transcode. Hardware transcode needs NAS with iGPU.
Immich (photo backup, AI off) Immich~600MB~1.2GBMultiple containers: server, microservices, Redis, PostgreSQL.
Immich (with machine learning) Immich~600MB~2.5GBML model loads into RAM during facial recognition and search indexing.
Nextcloud (file sync) Nextcloud~400MB~800MBPlus database (MariaDB or PostgreSQL) adds 200-400MB.
Home Assistant (smart home) Home Assistant~500MB~1GBGrows with number of integrations and automations.
Plex Media Server Plex~500MB~1.5GBSimilar to Jellyfin. Plex Pass enables hardware transcode on supported NAS.
Uptime Kuma (monitoring) Uptime Kuma~60MB~100MBNegligible. Can run alongside any stack.
Portainer (Docker manager) Portainer~50MB~80MBNegligible. Useful for managing containers via web UI.

What Fits on 4GB, 8GB and 16GB

NAS RAM is the single most important spec when building a self-hosted stack. Most entry-level NAS models ship with 2-4GB, mid-range models with 4-8GB, and only upper-mid and business models exceed 8GB. Here is what a realistic stack looks like at each tier.

4GB RAM NAS Vaultwarden, Paperless-ngx and Uptime Kuma may fit on some 4GB systems, but available headroom depends on the NAS OS, app versions, OCR workload and other services and should be measured. Do not add Jellyfin or Immich without first disabling the ML model.
8GB RAM NAS This stack may run on some 8GB systems, but no fixed spare-memory margin can be assumed; validate peak use with the intended Immich, OCR and media workloads. Add Nextcloud and you are at the edge. Enable hardware transcoding if the CPU supports it to reduce peak RAM during playback.
16GB RAM NAS A 16GB system provides more scope for this stack, but headroom and simultaneous-transcode capacity must be tested with the intended codecs, resolutions, hardware acceleration and background workloads.
32GB RAM NAS A 32GB system provides additional capacity for containers or a VM, but supported library size, user concurrency and transcode count depend on CPU/GPU performance, storage and workload testing.

RAM upgrade first. On most Synology Plus-series and QNAP mid-range NAS models, RAM is upgradeable. The DS225+ ships with 2GB and supports up to 6GB. The DS925+ ships with 4GB and supports up to 32GB. Upgrading RAM before adding apps is cheaper than buying a new NAS.

The CPU Problem: Transcoding and AI Scans

RAM is the ceiling, but CPU determines whether certain apps feel fast or painful. Two workloads push NAS CPUs hard: video transcoding and AI-based tasks.

Transcoding means converting a video file from one format in real time so it plays on a device that cannot handle the original format. Software transcoding of 4K media can consume substantial CPU and affect other services, depending on the codec, bitrate, scaling, processor and configured resource limits. Hardware transcoding, available on NAS models with an integrated GPU (the DS925+ uses an AMD Ryzen V1500B without integrated graphics, the TS-464 uses an Intel Celeron N5095 with iGPU), offloads much of this work to dedicated hardware and generally reduces CPU load; actual CPU use and codec support vary.

Immich's machine-learning features can substantially increase CPU and memory use after a large import; duration varies with library size, model, concurrency and hardware. Machine-learning jobs normally enter the queue as new assets are processed; only some other Immich jobs run nightly by default. If your NAS is underpowered, disable the ML container entirely and use Immich as a pure photo backup tool. You lose smart search but gain stability for the rest of your stack.

Storage Overhead: Containers vs Your Data

Each Docker container stores its application data on your NAS drives. This is separate from your actual files (photos, documents, media). Container data is generally small: Vaultwarden is a few megabytes, Paperless-ngx a few gigabytes depending on your document library. The exception is Immich, which creates a separate optimised thumbnail and preview copy of every photo it ingests. For a 50,000 photo library, Immich's storage footprint can be 20-50GB beyond the original photo files.

Keep container data on a separate volume or folder from your primary media. This makes backup and troubleshooting cleaner, and lets you wipe and rebuild a container without touching your actual data. Synology's DSM and QNAP's QTS both support volume isolation for Docker container storage.

Practical Stacking: Start Small and Add

The most reliable way to build a self-hosted stack is to add one app at a time and observe RAM and CPU usage for a week before adding the next. Synology Container Manager, QNAP Container Station and Portainer provide container resource information; the exact statistics and history available vary by platform and version.

Start with the lightest apps first: Vaultwarden, Uptime Kuma, Paperless-ngx. These are the ones that will sit quietly in the background without affecting anything else. Add Immich next, but disable the ML model until you have confirmed baseline RAM usage. Add Jellyfin last, with hardware transcoding enabled from the start if your NAS supports it.

💡

Monitor before you add. Check RAM usage after 24 hours of running a new container, not immediately after launch. Some containers (Immich ML, Nextcloud) spike during initial indexing and settle at a lower idle footprint after the first run.

When One NAS Is Not Enough

Some stacks genuinely need a second device. If you are running Plex or Jellyfin with multiple simultaneous transcodes for a household of 4-6 people, while also running Immich with AI on and Nextcloud with multiple concurrent users, some entry-level and mid-range NAS models may struggle with this workload even after a RAM upgrade, depending on their CPU/GPU, codec support, storage and actual concurrency. The CPU becomes the bottleneck.

A practical split: keep your file storage and backup workloads (Nextcloud, backup jobs, document archive) on your primary NAS, and move media serving (Jellyfin or Plex) to a dedicated mini-PC or a secondary NAS with a stronger CPU. Mini-PCs with supported Intel N-series processors may provide Quick Sync hardware transcoding, but compare codec support, current pricing and workload performance before moving media services.

Australian Buyers: Current NAS Models Worth Considering

If you are buying a NAS specifically to run a self-hosted stack, prioritise models with at least 8GB RAM (or a clear upgrade path to 8GB) and an Intel CPU with integrated graphics for hardware transcoding. Here are the current options available through Australian retailers.

NAS Models Suitable for Self-Hosted Stacks (AU Retail)

Model RAM (stock/max) CPU Transcode AU Price from
Synology DS225+ DS225+2GB / 16GBIntel Celeron N300Yes (iGPU)check current price at Mwave
Synology DS425+ DS425+2GB / 16GBIntel Celeron N300Yes (iGPU)check current price at Mwave
Synology DS925+ DS925+4GB / 32GBIntel Celeron N300Yes (iGPU)check current price at Scorptec
QNAP TS-433 TS-4334GB / 16GBCortex-A55 (ARM)Limited (no iGPU)$629 at Mwave
QNAP TS-464 TS-4648GB / 16GBIntel Celeron N5105Yes (iGPU)check current price at Scorptec
Ugreen DXP4800 DXP48008GB / 32GBIntel Core i5 N100Yes (iGPU)Check UGREEN AU

Australian Consumer Law protections apply when purchasing from Australian retailers. Manufacturer warranty periods vary by model; Australian Consumer Law consumer guarantees apply independently and may continue beyond an express warranty period. Depending on the nature of the failure and remedy sought, Australian consumers may have rights against the retailer and, in some circumstances, the manufacturer or importer. Specialist retailers like Scorptec and PLE offer better post-sales support than mass-market stores if something goes wrong with a device holding your self-hosted data.

Related reading: our NAS buyer's guide.

Use our free NAS Power Calculator to calculate your exact running costs.

Related reading: our NAS explainer.

See also: our complete Synology NAS Australia guide.

See also: our complete QNAP NAS Australia guide.

Can a 4GB NAS run Immich and Jellyfin at the same time?

Technically yes, but it is not reliable. Immich's core containers use around 600MB at idle, and Jellyfin adds another 400MB. The combined 1GB baseline plus 1GB OS overhead leaves almost nothing free. Disable Immich's machine learning container and restrict Jellyfin to direct-play only (no transcoding), and you can make it work on a lightly used system. Any simultaneous workload (an Immich scan, a Jellyfin stream) will push the system into swap and slow everything down.

Does running more Docker containers slow down file transfers on the NAS?

Only if the containers are actively using CPU or RAM at the same time as a large file transfer. Idle containers consume very little CPU. The risk is RAM pressure: depending on host configuration, the NAS may use slower swap, reclaim memory or terminate processes, and swap activity can compete with file-transfer I/O. Keep at least 1GB RAM free at idle to avoid this.

What is the minimum NAS for running Immich, Nextcloud and Jellyfin together?

There is no universal minimum for this stack; Immich currently recommends 8GB by itself, so size the NAS for total measured peak use, database load, media formats and required transcodes. The DS925+ uses an AMD Ryzen V1500B without integrated graphics, while the TS-464 uses an Intel Celeron N5095 with Intel UHD Graphics; check application and codec support before choosing a model for transcoding. With 8GB, disable Immich ML or schedule it to run overnight, and limit Jellyfin to direct play unless hardware transcoding is available.

Should I use Plex or Jellyfin on a NAS?

Jellyfin is open source and free. Plex is free for basic use but charges for Plex Pass to unlock hardware transcoding and offline sync. On a NAS, hardware transcoding is important for performance, which means Plex becomes a paid product in practice. If your NAS has an Intel iGPU, Jellyfin supports hardware transcoding for free. Choose Jellyfin unless you are already invested in the Plex ecosystem or need Plex-specific features like server-to-client sync.

Is it safe to run Vaultwarden on a NAS that also runs other apps?

Yes. Docker provides useful isolation, but it does not guarantee that Vaultwarden cannot be accessed or affected by other containers; minimise privileges and shared mounts, avoid exposing the Docker socket, segment networks and apply resource limits. The security concern with Vaultwarden is network exposure, not co-location with other apps. Do not expose Vaultwarden directly to the internet without a reverse proxy and HTTPS. Access it via Tailscale or a VPN tunnel from outside your home network.

How much storage does Immich use for 50,000 photos?

Immich creates optimised thumbnails and preview versions of every photo it ingests. Immich says thumbnail generation and transcoded video can increase a photo library's size by about 10-20% on average; actual overhead varies with the image/video mix and processing settings.

Figuring out which NAS has the right specs for your self-hosted stack? The NAS Sizing Wizard walks through your use case and recommends configurations based on real workloads.

What to read next