Updated: 28 September 2026 · Applies to: Portainer Community Edition 2.45.1 LTS on Docker (Ubuntu, Debian, AlmaLinux or Rocky Linux)
Portainer is a web interface for Docker. From your browser you can start and stop containers, read their logs, open a console, manage images, volumes and networks, and deploy Docker Compose files as stacks. Portainer itself runs as one container on the same server.
Before you start
- A VPS or dedicated server with Docker installed and running (check with
docker version). Portainer 2.45.1 lists Docker Engine 28.5.1 and 29.8.1 as supported. rootorsudoaccess over SSH.- Docker running as
root, as in a standard installation.
Install Portainer
- Create a volume for Portainer's data, so settings survive restarts and updates:
docker volume create portainer_data
- Start Portainer:
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
- Allow port 9443 in your firewall (port 8000 is only needed for Portainer's Edge agents).
First login
- Open
https://SERVER-IP:9443in your browser. Portainer uses a self-signed certificate at first, so accept the browser warning. - New installations ask for a setup token. Find it in the container log:
docker logs portainer 2>&1 | grep setup_token
- Enter the token, then create the administrator user and password. Do this within 5 minutes of starting the container; after that Portainer stops for security, and you restart it with
docker restart portainer. - Choose Get Started to manage the local Docker environment.
Deploy an application as a stack
In Portainer, open Stacks › Add stack. Paste a Docker Compose file in the web editor, upload one, or load it from a Git repository, then click Deploy the stack.
Update Portainer
Your settings are kept in the portainer_data volume, so updating means replacing the container:
docker stop portainer docker rm portainer docker pull portainer/portainer-ce:lts 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
Reset a forgotten admin password
- Stop Portainer:
docker stop portainer - Run the official helper, which prints a new random password:
docker pull portainer/helper-reset-password docker run --rm -v portainer_data:/data portainer/helper-reset-password
- Start Portainer again with
docker start portainerand log in with the new password.
If your data volume has another name, or you used a bind mount, change portainer_data in the command to match.
Older guides
Guides that use the portainer/portainer image or port 9000 describe old versions. Use the portainer/portainer-ce image and HTTPS on port 9443 as shown above.
Official documentation: Install Portainer CE with Docker on Linux.
A server with Portainer ready for you
Our Portainer VPS hosting is a KVM VPS on which our engineers install Docker and Portainer for free. For help with stacks, reverse proxies or backups, you can hire an expert from $8 per 15 minutes.