I did a clean installation and everything worked fine. On server:
opkg install docker docker-compose dockerd luci-app-dockerman
...
root@magiatiko:[~]#/etc/init.d/dockerd enable
root@magiatiko:[~]#/etc/init.d/dockerd restart
root@magiatiko:[~]#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@magiatiko:[~]#docker pull portainer/portainer-ce:2.11.1
2.11.1: Pulling from portainer/portainer-ce
772227786281: Pull complete
96fd13befc87: Pull complete
8f4350c9e38e: Pull complete
Digest: sha256:3ff080a0cd2a45bd0bde046069973b3fe642c3e4d43c5b429dd7b77f0057c7d7
Status: Downloaded newer image for portainer/portainer-ce:2.11.1
docker.io/portainer/portainer-ce:2.11.1
root@magiatiko:[~]#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.11.1
e6bc5e17484377faee4bf90afe5daf2f4bcd75d8086d70ed388ba971d1817110
root@magiatiko:[~]#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6bc5e174843 portainer/portainer-ce:2.11.1 "/portainer" 3 seconds ago Up 2 seconds 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp portainer
root@magiatiko:[~]#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6bc5e174843 portainer/portainer-ce:2.11.1 "/portainer" 11 seconds ago Up 10 seconds 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp portainer
root@magiatiko:[~]#tcpdump -i docker0 -vn tcp port 9443
tcpdump: listening on docker0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:25:10.964931 IP (tos 0x0, ttl 64, id 4578, offset 0, flags [DF], proto TCP (6), length 60)
172.17.0.1.36646 > 172.17.0.2.9443: Flags [S], cksum 0x5854 (incorrect -> 0x578f), seq 2465192175, win 64240, options [mss 1460,sackOK,TS val 4166812948 ecr 0,nop,wscale 7], length 0
16:25:10.965018 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
172.17.0.2.9443 > 172.17.0.1.36646: Flags [S.], cksum 0x5854 (incorrect -> 0x9ea2), seq 658247802, ack 2465192176, win 65160, options [mss 1460,sackOK,TS val 2018706746 ecr 4166812948,nop,wscale 7], length 0
16:25:10.965128 IP (tos 0x0, ttl 64, id 4579, offset 0, flags [DF], proto TCP (6), length 52)
172.17.0.1.36646 > 172.17.0.2.9443: Flags [.], cksum 0x584c (incorrect -> 0xca01), ack 1, win 502, options [nop,nop,TS val 4166812948 ecr 2018706746], length 0
16:25:10.971045 IP (tos 0x0, ttl 64, id 4580, offset 0, flags [DF], proto TCP (6), length 569)
172.17.0.1.36646 > 172.17.0.2.9443: Flags [P.], cksum 0x5a51 (incorrect -> 0x4fa7), seq 1:518, ack 1, win 502, options [nop,nop,TS val 4166812954 ecr 2018706746], length 517
16:25:10.971093 IP (tos 0x0, ttl 64, id 64251, offset 0, flags [DF], proto TCP (6), length 52)
and on the client:
dietpi@RockPi:[~]$ curl --insecure https://magiatiko.mrv:9443/
<!doctype html><html lang="en" ng-app="portainer" ng-strict-di><head><meta charset="utf-8"/><title>Portainer</title><meta name="description" content=""/><meta name="author" content="Portainer.io"/><base id="base"/><script>var path = window.location.pathname.replace(/^\/+|\/+$/g, '');
var basePath = path ? '/' + path + '/' : '/';
document.getElementById('base').href = basePath;</script><!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--><link rel="apple-touch-icon" sizes="180x180" href="63a301f0574f1a696ce6.png"/><link rel="icon" type="image/png" sizes="32x32" href="2dcfc527d067d4ae3424.png"/><link rel="icon" type="image/png" sizes="16x16" href="112a479c093f4729251d.png"/><link rel="mask-icon" href="7ee8aae1b407ce0e809b.svg" color="#5bbad5"/><link rel="shortcut icon" href="data:image/vnd.microsoft.icon;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/><meta name="msapplication-config" content="6d50eaeb9f128c130ed9.xml"/><meta name="theme-color" content="#ffffff"/><script defer="defer" src="runtime.49f3fec4fc728f153ef2.js"></script><script defer="defer" src="vendor.b4aaa9d07fa27a6a077c.js"></script><script defer="defer" src="main.d70547fbf15557ed82f5.js"></script><link href="vendor.696ba809b43c95e60435.css" rel="stylesheet"><link href="main.efa063bbc3e9731649e5.css" rel="stylesheet"></head><body ng-controller="MainController"><div id="page-wrapper" ng-class="{
open: toggle && ['portainer.auth', 'portainer.init.admin', 'portainer.init.endpoint'].indexOf($state.current.name) === -1,
nopadding: ['portainer.auth', 'portainer.init.admin', 'portainer.init.endpoint', 'portainer.logout'].indexOf($state.current.name) > -1 || applicationState.loading
}" ng-cloak><div id="sideview" ui-view="sidebar" ng-if="!applicationState.loading"></div><div id="content-wrapper"><div class="page-content"><div class="page-wrapper" ng-if="applicationState.loading"><div class="container simple-box"><div class="col-md-6 col-md-offset-3 col-sm-6 col-sm-offset-3"><div class="row"><img ng-if="logo" ng-src="{{ logo }}" class="simple-box-logo"/> <img ng-if="!logo" src="29d4ee6d4a5c786588a7.svg" class="simple-box-logo" alt="Portainer"/></div><div class="row" style="text-align: center">Loading Portainer... <i class="fa fa-cog fa-spin" style="margin-left: 5px"></i></div></div></div></div><div id="view" ui-view="content" ng-if="!applicationState.loading"></div></div></div></div></body></html>