Portainer

In order to enable Portainer, the docker-compose.yml and site.conf for Nginx must be modified.

1. Create a new file docker-compose.override.yml in the mailcow-dockerized root folder and insert the following configuration version: '2.1' services: portainer-mailcow: image: portainer/portainer-ce volumes: - /var/run/docker.sock:/var/run/docker.sock - ./data/conf/portainer:/data restart: always dns: - 172.22.1.254 dns_search: mailcow-network networks: mailcow-network: aliases: - portainer 2a. Create data/conf/nginx/portainer.conf: ``` upstream portainer { server portainer-mailcow:9000; }

map $http_upgrade $connection_upgrade { default upgrade; '' close; } ```

2b. Insert a new location to the default mailcow site by creating the file data/conf/nginx/site.portainer.custom: ``` location /portainer/ { proxy_http_version 1.1; proxy_set_header Host $http_host; # required for docker client's sake proxy_set_header X-Real-IP $remote_addr; # pass on real client's IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 900;

proxy_set_header Connection "";
proxy_buffers 32 4k;
proxy_pass http://portainer/;

}

location /portainer/api/websocket/ { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_pass http://portainer/api/websocket/; } ```

3. Apply your changes: docker-compose up -d && docker-compose restart nginx-mailcow

Now you can simply navigate to https://${MAILCOW_HOSTNAME}/portainer/ to view your Portainer container monitoring page. You’ll then be prompted to specify a new password for the admin account. After specifying your password, you’ll then be able to connect to the Portainer UI.


Last update: 2022-02-04 12:16:32
Back to top