docker volume create portainer_data, then start the portainer/portainer-ce:lts container with the Docker socket mounted and port 9443 published. Open https://your-server-ip:9443, paste the setup token from docker logs portainer and create your admin user within 5 minutes.
Before you start
- Portainer is a web interface for Docker. You can start, stop and update containers, read logs and deploy Compose stacks from your browser.
- Install Docker from Docker’s official repository. Portainer advises against the Ubuntu snap package.
- Portainer manages Docker through
/var/run/docker.sock. Anyone who logs in to Portainer as an admin controls every container on the server, so use a strong password. - On AlmaLinux or Rocky Linux with SELinux enforcing, Portainer’s docs say to add
--privilegedto thedocker runcommand.
How to install Portainer CE
1
Create the data volume
2
Start Portainer
9443 is the HTTPS web interface. Port 8000 is only for Edge agents; leave out -p 8000:8000 if you don’t use them.3
Get the setup token
New Portainer installs ask for a one-time setup token. Find it in the log:Copy the value after
setup_token=.4
Create the admin user
Open
https://203.0.113.10:9443 with your server’s IP. Your browser warns about the self-signed certificate; accept it to continue. Paste the token into Setup token, choose a username and a password, and finish the wizard.How to check it worked
STATUS column shows Up, and PORTS lists 0.0.0.0:9443->9443/tcp. In the web interface, the local environment shows your server’s containers.
How to fix “Your Portainer instance has timed out for security purposes”
You didn’t finish setup within 5 minutes. Restart the container to get a new 5-minute window, then check the log for the token again:How to update Portainer
Back up your settings first under Settings > General. Then replace the container; your data stays in theportainer_data volume:
How to restrict access to Portainer
Port 9443 is published by Docker, soufw and firewalld rules don’t block it. Choose one of these:
Frequently asked questions
What is the difference between the lts and sts tags?
lts is the long-term support release, which Portainer recommends for production. sts gets new features sooner but is supported for a shorter time.
Can I still use port 9000 over HTTP?
Yes, add-p 9000:9000 to the docker run command. Portainer keeps it only for legacy setups, and it sends your password unencrypted, so prefer 9443.
Can Portainer deploy Docker Compose files?
Yes. Open Stacks, choose Add stack and paste yourcompose.yaml. See the Docker Compose tutorial for the file format.
Can I skip the setup token?
Portainer supports--admin-password or --admin-password-file at first start, which sets the admin password and skips the token. --no-setup-token turns it off, but only use that on a network nobody else can reach.
Related guides
VPS and dedicated server guides
Every guide in this section.
Install Docker
Docker Engine from the official repository.
Docker Compose tutorial
Write compose.yaml stacks.
Docker commands cheat sheet
The same tasks on the command line.
Install Coolify
A self-hosted app platform on Docker.
Checked against the official Portainer CE installation docs on 4 November 2026 (setup token introduced in Portainer 2.43 / 2.39.4). Commands can differ between Portainer releases.
Need Extra Help?
If you encounter any issues, our support team is ready to assist:- Live Chat: Quick assistance via our website.
- Support Ticket: Open a Ticket
- Discord: Join our Community
- Email: support@freakhosting.com
Last Updated: November 2026