Instalar Portainer CE
Cree una carpeta donde guardar el docker-compose.yml con el siguiente contenido
version: '3'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
security_opt:
- no-new-privileges:true
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./portainer-data:/data
ports:
- 9000:9000
Guarde los cambios y ejecute el comando
docker-compose up -d
Espere a que descarguen las imagenes
http://IP_SERVIDOR:9000
A continuación proteja el acceso mediante HTTPS con el siguiente código para Nginx (puede usar otros como Apache, Traefik)
server {
listen 443 ssl;
server_name portainer.midominio.local;
ssl_certificate /etc/miscertificados/portainer.midominio.local_fullchain.pem;
ssl_certificate_key /etc/miscertificados/portainer.midominio.local_privkey.pem;
location / {
# Si desea proteger el acceso desde algunas redes en concreto, pero mejor usar
# un firewall para ello y centralizar la configuración de red en el firewall
#allow 192.168.0.0/24;
#deny all;
proxy_pass http://IP_SERVIDOR_PORTAINER:9000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
if ($host = portainer.midominio.local) {
return 301 https://$host$request_uri;
}
listen 80;
server_name portainer.midominio.local;
return 404;
}