Dev Tools

Host Portainer on VeloxaHost

Portainer Community Edition is a web interface for Docker, Docker Swarm and Kubernetes that lets you deploy stacks, read logs, open a console and manage images, volumes and networks without the command line. Developers and small teams use it to run and inspect containers on their own servers.

Portainer itself is small; the resources go to the containers it manages. It runs as a Docker container, keeps its data in the portainer_data volume and serves its interface over HTTPS on port 9443.

Install it yourself

  1. Create the server. Docker runs inside VeloxaHost servers, so any size works.

  2. Add Docker's official APT key.

    apt update && apt install -y ca-certificates curl
    install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && chmod a+r /etc/apt/keyrings/docker.asc
    
  3. Add the Docker repository.

    tee /etc/apt/sources.list.d/docker.sources <<EOF
    Types: deb
    URIs: https://download.docker.com/linux/ubuntu
    Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
    Components: stable
    Architectures: $(dpkg --print-architecture)
    Signed-By: /etc/apt/keyrings/docker.asc
    EOF
    
  4. Install Docker Engine and the Compose plugin.

    apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  5. Create the data volume and start Portainer CE from its LTS image. Port 8000 is only needed for Edge agents; leave it out if you do not use them.

    docker volume create portainer_data
    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:lts
    
  6. From the server's page in the console, forward a port in its block on the shared IPv4 to port 9443. Within five minutes, open https://<shared-ip>:<public-port>, accept the self-signed certificate and create the admin user. If the setup page has timed out, run docker restart portainer and try again.

FAQ

What licence is Portainer CE under?

Portainer Community Edition is released under the zlib licence, a short permissive licence. Portainer also sells a Business Edition with extra features; the CE image is the one used here.

Why does the setup page say Portainer timed out?

For security, a fresh Portainer stops accepting setup if no admin user is created within five minutes of starting. Restart the container with docker restart portainer and create the admin user straight away.

Where does Portainer store its data?

In the portainer_data Docker volume, mounted at /data inside the container and kept under /var/lib/docker/volumes/ on the host. It holds Portainer's users, settings and stack definitions; your own containers keep their data in their own volumes.

How do I upgrade Portainer?

Stop and remove the container, pull the newer image and run the same docker run command again. Because the data is in the portainer_data volume, users and settings carry over. Take a snapshot of the server first so you can roll back.

Can I give my containers more memory later?

Yes. Change CPU and memory from the server's page in the console; a server created from a VPS size is resized by picking a larger size. Docker and Portainer need no reinstall, and the containers you run can use the extra capacity.

Which VeloxaHost plan fits?

The recommended 1 vCPU, 2 GB of RAM and 40 GB of disk fit the Veloxa 1 VPS size: 1 vCPU, 2 GB RAM and 50 GB disk for $10 a month, billed hourly and capped at that price. Size up for the containers you plan to run, not for Portainer.