keepcalculator

06 Numbers and Powers

Portainer Requirements: What Server Do You Need?

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

Portainer is a lightweight management UI for Docker, Kubernetes, and other container environments. To run it, you need a server (or a VM) with a 64-bit Linux, Windows, or macOS operating system, at least 2 GB of RAM (4 GB is more comfortable), and a couple of GB of free disk space. The exact CPU and RAM you need depend on how many containers and nodes you plan to manage, but for a small homelab or a single production host, a modest 2-core/4-GB VM is a solid starting point.

What Portainer Actually Is

Portainer is a web-based GUI that sits on top of the Docker API (or Kubernetes API). Instead of typing docker run or editing YAML files, you click through a dashboard to deploy containers, manage volumes, inspect logs, and set up networks. It runs as a container itself, which means the server you install it on is the same machine that runs your container workloads—or it can be a dedicated management box that connects to remote Docker hosts.

There are two main editions: Portainer Community Edition (CE) is free and open-source; Business Edition (BE) adds RBAC, registry management, and other enterprise features. Both have the same base requirements, but BE expects a more robust setup because you typically manage many nodes and users.

Minimum vs. Recommended Server Specs

Portainer itself is a small container—it uses about 50–100 MB of RAM when idle. But the server you run it on also runs your containers, so the real requirement is the sum of everything you host. Here’s what the Portainer documentation and community generally agree on:

  • CPU: 1 core for a test environment, 2+ cores for production. ARM (Raspberry Pi) works fine for small setups.
  • RAM: 2 GB minimum for Portainer + a few light containers. 4 GB is the sweet spot for a home server with a handful of apps. For production with many containers, plan 8 GB or more.
  • Disk: At least 2 GB free for Portainer’s image and its database. Add disk for your container images and volumes—Docker can eat 10 GB quickly.
  • OS: 64-bit Linux (Ubuntu, Debian, CentOS, etc.), Windows Server 2016+, or macOS. The Linux install is the most common and best supported.

If you’re managing a swarm or Kubernetes cluster, the Portainer server itself can be a small VM—2 vCPU/4 GB RAM is fine—while the worker nodes handle the heavy lifting.

How Portainer Runs on the Server

Portainer is delivered as a Docker image. On a fresh Linux server, you install Docker first, then run a single command to create a volume and start the Portainer container. For example:

  1. Install Docker Engine (curl script or apt).
  2. Create a persistent volume: docker volume create portainer_data
  3. Run the container: docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
  4. Open https://your-server-ip:9443 and set an admin password.

That’s it. The docker.sock mount is what lets Portainer talk to the Docker daemon. If you don’t mount it, you can still connect to remote agents, but you won’t manage the local host.

For Windows, you’d use Docker Desktop or Windows containers, and the command is similar but with PowerShell syntax. For Kubernetes, Portainer can be installed via Helm or a manifest file.

Choosing the Right Server Size

Before you pick a VM or bare-metal box, think about what you’ll run. A single container like a web server or a database needs 512 MB–1 GB RAM. A media server (Plex, Jellyfin) with transcoding needs 2–4 GB and a decent CPU. A full CI/CD stack (GitLab, Jenkins) might want 8 GB.

Here’s a rough guide:

  • Homelab / testing: 2 vCPU, 4 GB RAM, 20 GB disk. Runs Portainer plus 5–10 small containers.
  • Small production: 4 vCPU, 8 GB RAM, 100 GB SSD. Handles a dozen containers with moderate traffic.
  • Cluster manager: 2 vCPU, 4 GB RAM for the Portainer server itself; workers sized separately.

Don’t forget swap—Linux can use a swap file to avoid OOM kills, but it’s not a substitute for RAM. If your server is underpowered, Portainer’s UI will feel sluggish, but it won’t crash the host.

Common Problems and How to Avoid Them

Most Portainer issues come from the server, not the app. Here are the usual culprits:

  • Firewall blocking ports: Portainer uses 9443 (HTTPS) and 8000 (HTTP tunnel for edge agents). If you can’t reach the UI, check your firewall and security group rules.
  • Running out of disk: Docker images and logs fill up fast. Use docker system prune and set up log rotation.
  • Outdated OS: Portainer CE drops support for older distros. Keep your server updated.
  • Using a Raspberry Pi with 1 GB RAM: It can run Portainer, but adding more than a couple of containers will exhaust memory. Use a Pi 4/5 with 4 GB or 8 GB.
  • Not persisting data: If you don’t create a volume for /data, you lose all your settings and user accounts when the container is recreated.

Another misconception: Portainer is not a hypervisor. It manages containers, not VMs. If you need to run full virtual machines, you still need Proxmox, ESXi, or similar.

Portainer vs. Other Management Tools

You might wonder why not just use the Docker CLI or a tool like Rancher, Watchtower, or Yacht. Here’s a quick comparison:

  • Docker CLI: Powerful but verbose. Portainer gives you a visual overview and click-to-deploy, which is easier for beginners and faster for routine tasks.
  • Rancher: Heavyweight, aimed at Kubernetes clusters. Portainer is lighter and simpler for Docker Swarm or single hosts.
  • Yacht: An open-source alternative with a similar UI, but smaller community and fewer features. Portainer is more mature.
  • Watchtower: Only auto-updates containers; it doesn’t provide a management UI. Portainer can do updates manually, but not automatically (you’d pair them).

For most people, Portainer is the right balance—it’s free, widely used, and works across Docker, Swarm, and Kubernetes.

Costs and Licensing

Portainer CE is free under an open-source license. You can run it on any server you already own—no licensing fees. The Business Edition has a free trial and then a subscription cost per node. For a home lab or small business, CE is usually sufficient. The only “cost” is the server hardware and electricity. If you’re using a cloud VM, you pay for the instance size—a 2 vCPU/4 GB VM on a major provider runs roughly $20–$40/month, but you can run Portainer on a $5 VPS if you only manage a few containers.

Security Considerations

Portainer exposes a web interface, so you should secure it:

  • Change the default admin password immediately.
  • Enable HTTPS (it’s on by default with a self-signed cert; replace with a Let’s Encrypt cert if you expose it publicly).
  • Don’t expose port 9443 to the internet unless you have strong authentication and a reverse proxy with fail2ban.
  • Limit access to the Docker socket—only give Portainer the socket mount, and don’t add other containers with that mount unless necessary.
  • Use the built-in RBAC in Business Edition if you have multiple users; CE only has admin and operator roles.

Also, remember that anyone with access to Portainer effectively has root on the host, because they can run privileged containers. Keep the UI on a trusted network or behind a VPN.

Frequently Asked Questions

Can I run Portainer on a Raspberry Pi? Yes. Portainer has ARM images, and a Pi 4 with 4 GB RAM runs it fine for a few containers. Just use a 64-bit OS (Raspberry Pi OS Lite 64-bit) and install Docker.

What’s the difference between Portainer Agent and Portainer Server? The Server is the main UI and database. The Agent is a small container you run on remote Docker hosts so the Server can manage them. You don’t need an agent on the same host where the Server runs.

Does Portainer work with Podman? Not officially. Portainer is designed for Docker and Kubernetes. Podman has a Docker-compatible API, but you may hit issues; it’s safer to stick with Docker.

How much RAM does Portainer actually use? The Portainer container itself typically uses 50–100 MB. The total RAM on your server depends on your containers—not Portainer.

Can I migrate Portainer to a new server? Yes. Stop the container, back up the portainer_data volume (tar the directory), restore it on the new server, and start the same image. Your settings and user accounts come back.

Is Portainer safe to expose to the internet? It’s not recommended unless you set up strong authentication, a reverse proxy with HTTPS, and IP allowlisting. The UI is a powerful admin tool, so treat it like a root shell.

Related

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 →