# Install Portainer CE with Docker on Linux

##### Link: [https://docs.portainer.io/start/install-ce/server/docker/linux](https://docs.portainer.io/start/install-ce/server/docker/linux) 

##### **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 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.
- <span style="color: rgb(34, 34, 34); font-family: var(--font-heading, var(--font-body)); font-size: 1.4em; font-weight: 400;">sudo access on the machine that will host your Portainer Server instance;</span>
- <span style="color: rgb(34, 34, 34); font-family: var(--font-heading, var(--font-body)); font-size: 1.4em; font-weight: 400;">By default, Portainer Server will expose the UI over port 9443 and expose a TCP tunnel server over port 8000. The latter is optional and is only required if you plan to use the Edge compute features with Edge agents.</span>

##### 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.
- <span style="color: rgb(34, 34, 34); font-family: var(--font-heading, var(--font-body)); font-size: 1.4em; font-weight: 400;">You are accessing Docker via Unix sockets. Alternatively, you can also connect via TCP.</span>
- <span style="color: rgb(34, 34, 34); font-family: var(--font-heading, var(--font-body)); font-size: 1.4em; font-weight: 400;">SELinux is disabled on the machine running Docker. If you require SELinux, you will need to pass the --privileged flag to Docker when deploying Portainer.</span>
- <span style="color: rgb(34, 34, 34); font-family: var(--font-heading, var(--font-body)); font-size: 1.4em; font-weight: 400;">Docker is running as root. Portainer with rootless Docker has some limitations, and requires additional configuration.</span>

##### **Deployment**

##### First, create the volume that Portainer Server will use to store its database:

##### *docker volume create portainer\_data*

##### Then, download and install the Portainer Server 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:2.21.0*

#####   
By default, Portainer generates and uses a self-signed SSL certificate to secure port 9443. Alternatively you can provide your own SSL certificate during installation or via the Portainer UI after installation is complete.

##### If you require HTTP port 9000 open for legacy reasons, add the following to your docker run command:

##### -p 9000:9000

##### Portainer Server has now been installed. You can check to see whether the Portainer Server container has started by running docker ps:

##### root@server:~# docker ps  
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES   
de5b28eb2fa9 portainer/portainer-ce:2.21.0 "/portainer" 2 weeks ago Up 9 days 0.0.0.0:8000-&gt;8000/tcp, :::8000-&gt;8000/tcp, 0.0.0.0:9443-&gt;9443/tcp, :::9443-&gt;9443/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:

##### *[https://localhost:9443](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.