These installation instructions are for Portainer Community Edition (CE). For Portainer Business Edition (BE) refer to the BE install documentation.
Introduction
Portainer consists of two elements, the Portainer Server, and the Portainer Agent. Both elements run as lightweight Docker containers on a Docker engine. This document will help you install the Portainer Server container on your Linux environment. To add a new Linux environment to an existing Portainer Server installation, please refer to the Portainer Agent installation instructions.
To get started, you will need:
- The latest supported version of Docker installed and working. We recommend following the official installation instructions for Docker – in particular, we advise against installing Docker via snap on Ubuntu distributions as you may run into compatibility issues.
- sudo access on the machine that will host your Portainer Server instance
- By default, Portainer Server will expose the UI over port
9443and expose a TCP tunnel server over port8000. The latter is optional and is only required if you plan to use the Edge compute features with Edge agents.
The installation instructions also make the following assumptions about your environment:
- Your environment meets our requirements. While Portainer may work with other configurations, it may require configuration changes or have limited functionality.
- You are accessing Docker via Unix sockets. Alternatively, you can also connect via TCP.
- SELinux is disabled on the machine running Docker. If you require SELinux, you will need to pass the
--privilegedflag to Docker when deploying Portainer. - Docker is running as root. Portainer with rootless Docker has some limitations, and requires additional configuration.
Deployment
You can choose to deploy Portainer using docker run or via Docker Compose.docker runDocker Compose
To install using Docker Compose, download the compose file using the following curl command:Copy
curl -L https://downloads.portainer.io/ce-lts/portainer-compose.yaml -o portainer-compose.yaml
Alternatively, create a portainer-compose.yaml file with the following contents:Copy
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
ports:
- 9443:9443
- 8000:8000 # Remove if you do not intend to use Edge Agents
volumes:
portainer_data:
name: portainer_data
networks:
default:
name: portainer_network
Once you have created or downloaded the compose file, you can deploy it with the following command:Copy
docker compose -f portainer-compose.yaml up -d
Docker Compose will create the necessary resources and deploy Portainer. You can check to see whether the Portainer Server container has started by running docker ps:Copy
root@server:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7963585688a9 portainer/portainer-ce:lts "/portainer" 8 seconds ago Up 8 seconds 0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp, 0.0.0.0:9443->9443/tcp, [::]:9443->9443/tcp, 9000/tcp portainer
Logging In
Now that the installation is complete, you can log into your Portainer Server instance by opening a web browser and going to:Copy
https://localhost:9443
Replace localhost with the relevant IP address or FQDN if needed, and adjust the port if you changed it earlier.
You will be presented with the initial setup page for Portainer Server.Initial setup
