you have not upgraded to 7.8 ?
it is 7.8
It makes use of docker compose and port redirection that wants to use ports already in use by Nethserver. It installs 18 (!) containers and you need to change from port redirection to aeria bridge so it’s not easy to install.
https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_install/
I can confirm it’s not listed, maybe with next update, please use cli (yum install nethserver-docker
) as workaround.
Thank you for saving me the trouble.
I was about to begin installation. it would have givene me lots of headaches and wastade time, for not knowing what moving parts are required
Why would you want to? What does it do that Neth’s built-in mail server doesn’t?
Multi tenancy Email.
I have multiple small businesses that require email.
I am trying to figure out the best solution to use to offer them Email. As well as Nextcloud.
Mailcow because it can be used to authenticate nextcloud instances.
The businesses are too small, and deploying a single nethserver instance for each does not make sense, both for my management, and they dont have IT guys to manage that
Ontop of That i am also trying to figure out, if i can have multiple nextcloud instances running inside the portainer
Yep, a definite hole in Neth’s feature set.
No problem. It’s just that I’m really a noob using docker. I have to do my homework too
oneitonitram:it is 7.8
I can confirm it’s not listed, maybe with next update, please use cli (
yum install nethserver-docker
) as workaround.
ping @giacomo do you have build and released the comps ?
It’s been two times in a row that my docker installation breaks seemingly after an update :
The following updates will be applied on [myserver]
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
[containerd.io](http://containerd.io/) x86_64 1.2.13-3.2.el7 docker-ce-stable 25 M
docker-ce x86_64 3:19.03.10-3.el7 docker-ce-stable 24 M
docker-ce-cli x86_64 1:19.03.10-3.el7 docker-ce-stable 38 M
Transaction Summary
================================================================================
Upgrade 3 Packages
The updates were successfully applied
After that the docker service can’t restart. After a reboot it worked again but not the machines connected to the Aeria network : Portainer reports failed to add endpoint: plugin devplayer0/net-dhcp:latest found but disabled
syslog extract at (automatic) update time : https://pastebin.com/362H6rXr
Last time I ended up completely removing docker packages and all remaining files on the disk to get it working again.
What do you think ? Anybody else having that problem ?
Congratulations and thanks for that release. This is excellent and looking forward to trying to deploy Nethserver under docker!
failed to add endpoint: plugin devplayer0/net-dhcp:latest found but disabled
It seems the dhcp plugin gets disabled after docker-ce update.
As a workaround you may reenable it with
docker plugin enable devplayer0/net-dhcp
or by running the plugin update
signal-event nethserver-docker-plugin-update
Thanks for pointing out.
I think we could enable the plugin with signal-event nethserver-docker-update
. But one still needs to run it manually.
Indeed, it’s working.
The segmentation errors are weird.
This may prove being a major problem in production however.
Thanks.
… Or not.
pihole just crashed. I’ll put in on the aqua network. There is definitively something not kasher with the DHCP plugin.
Jun 1 20:22:04 mattlabs NetworkManager[838]: <info> [1591035724.9146] manager: (21640da87998-dh): new Veth device (/org/freedesktop/NetworkManager/Devices/151)
Jun 1 20:22:04 mattlabs NetworkManager[838]: <info> [1591035724.9167] manager: (dh-21640da87998): new Veth device (/org/freedesktop/NetworkManager/Devices/152)
Jun 1 20:22:15 mattlabs avahi-daemon[854]: Withdrawing workstation service for dh-21640da87998.
Jun 1 20:22:15 mattlabs avahi-daemon[854]: Withdrawing workstation service for 21640da87998-dh.
Jun 1 20:22:15 mattlabs dockerd: time="2020-06-01T20:22:15+02:00" level=error msg="<local> - - [01/Jun/2020 18:22:15] \"POST /NetworkDriver.CreateEndpoint HTTP/1.1\" 0 -" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:15 mattlabs dockerd: time="2020-06-01T20:22:15.580091747+02:00" level=warning msg="Unable to connect to plugin: /run/docker/plugins/a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554/net-dhcp.sock/NetworkDriver.CreateEndpoint: Post http://%2Frun%2Fdocker%2Fplugins%2Fa683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554%2Fnet-dhcp.sock/NetworkDriver.CreateEndpoint: net/http: HTTP/1.x transport connection broken: malformed HTTP status code \"0\", retrying in 1s"
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="400 Bad Request: The browser (or proxy) sent a request that this server could not understand." plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="Traceback (most recent call last):" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/site-packages/werkzeug/wrappers/json.py\", line 119, in get_json" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" rv = self.json_module.loads(data)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/site-packages/flask/json/__init__.py\", line 253, in loads" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" return _json.loads(s, **kwargs)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/json/__init__.py\", line 361, in loads" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" return cls(**kw).decode(s)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/json/decoder.py\", line 337, in decode" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" obj, end = self.raw_decode(s, idx=_w(s, 0).end())" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/json/decoder.py\", line 355, in raw_decode" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" raise JSONDecodeError(\"Expecting value\", s, err.value) from None" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="During handling of the above exception, another exception occurred:" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="Traceback (most recent call last):" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1949, in full_dispatch_request" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" rv = self.dispatch_request()" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1935, in dispatch_request" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" return self.view_functions[rule.endpoint](**req.view_args)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/opt/plugin/net_dhcp/network.py\", line 134, in create_endpoint" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" req = request.get_json(force=True)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/site-packages/werkzeug/wrappers/json.py\", line 128, in get_json" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" rv = self.on_json_loading_failed(e)" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" File \"/usr/local/lib/python3.7/site-packages/flask/wrappers.py\", line 27, in on_json_loading_failed" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg=" raise BadRequest()" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="werkzeug.exceptions.BadRequest: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand." plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16+02:00" level=error msg="<local> - - [01/Jun/2020 18:22:16] \"POST /NetworkDriver.CreateEndpoint HTTP/1.1\" 500 -" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
Jun 1 20:22:16 mattlabs dockerd: time="2020-06-01T20:22:16.701214975+02:00" level=warning msg="error locating sandbox id 6770c06611b0e9a7cc3b745e5f554a0454d972abb300870e29c12b73f0741a34: sandbox 6770c06611b0e9a7cc3b745e5f554a0454d972abb300870e29c12b73f0741a34 not found"
Jun 1 20:22:16 mattlabs kernel: XFS (dm-3): Unmounting Filesystem
Jun 1 20:22:17 mattlabs dockerd: time="2020-06-01T20:22:17.403769275+02:00" level=error msg="50c149a17d3cf01133270162dd542090b7962615442687829d55876d0f5c28b0 cleanup: failed to delete container from containerd: no such container"
Jun 1 20:22:17 mattlabs dockerd: time="2020-06-01T20:22:17.517888697+02:00" level=error msg="restartmanger wait error: failed to create endpoint pihole on network aeria: NetworkDriver.CreateEndpoint: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand."
we could patch the systemd docker service to use ExecStartPost with a script, check the plugin is enable, if disabled then enabled it.
Tricky but it should work…
BTW, does it is reproducible before to code ???
I think so. I had the problem yesterday and ended up cleaning everything, therefore the update was applied again leading to the same result.
However I’m wondering if the DHCP plugin is compatible with the latest version of docker : see my last report, it is far from reliable (containers are stopping after some time and this is clearly linked to the plugin).
I crashed my docker after the update tonight
Not sure the plugin is responsible why the update failed, I can see that we have a rpm from ce-base with errors.
Could you reproduce ?
=====================================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================================
Updating:
containerd.io x86_64 1.2.13-3.2.el7 docker-ce-stable 25 M
docker-ce x86_64 3:19.03.11-3.el7 docker-ce-stable 24 M
docker-ce-cli x86_64 1:19.03.11-3.el7 docker-ce-stable 38 M
python-backports-ssl_match_hostname noarch 3.5.0.1-1.el7 ce-base 13 k
Transaction Summary
=====================================================================================================================================
Upgrade 4 Packages
Total download size: 88 M
Downloading packages:
No Presto metadata available for docker-ce-stable
No Presto metadata available for ce-base
(1/4): containerd.io-1.2.13-3.2.el7.x86_64.rpm | 25 MB 00:00:02
(2/4): docker-ce-19.03.11-3.el7.x86_64.rpm | 24 MB 00:00:02
(3/4): python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm | 13 kB 00:00:00
(4/4): docker-ce-cli-19.03.11-3.el7.x86_64.rpm | 38 MB 00:00:01
-------------------------------------------------------------------------------------------------------------------------------------
Total 21 MB/s | 88 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : containerd.io-1.2.13-3.2.el7.x86_64 1/8
Updating : 1:docker-ce-cli-19.03.11-3.el7.x86_64 2/8
Updating : 3:docker-ce-19.03.11-3.el7.x86_64 3/8
Updating : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 4/8
Error unpacking rpm package python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1-py2.7.egg-info: cpio: rename
error: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch: install failed
Cleanup : 3:docker-ce-19.03.8-3.el7.x86_64 5/8
Cleanup : containerd.io-1.2.6-3.3.el7.x86_64 6/8
Cleanup : 1:docker-ce-cli-19.03.8-3.el7.x86_64 7/8
error: python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch: erase skipped
Verifying : 1:docker-ce-cli-19.03.11-3.el7.x86_64 1/8
Verifying : containerd.io-1.2.13-3.2.el7.x86_64 2/8
Verifying : 3:docker-ce-19.03.11-3.el7.x86_64 3/8
python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch was supposed to be removed but is not!
Verifying : python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch 4/8
Verifying : 1:docker-ce-cli-19.03.8-3.el7.x86_64 5/8
Verifying : containerd.io-1.2.6-3.3.el7.x86_64 6/8
Verifying : 3:docker-ce-19.03.8-3.el7.x86_64 7/8
Verifying : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 8/8
Updated:
containerd.io.x86_64 0:1.2.13-3.2.el7 docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-cli.x86_64 1:19.03.11-3.el7
Failed:
python-backports-ssl_match_hostname.noarch 0:3.4.0.2-4.el7 python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7
Complete!
[root@NS7 ~]# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
I must restart the server if I want the service UP
Once the server restarted, the plugin is disabled
[root@NS7 ~]# docker plugin enable devplayer0/net-dhcp
devplayer0/net-dhcp
once the plugin is enabled, then pihole can be started, or created again.
Nope, no error like this on my side.
I also was able to start the aqua-linked containers again after reboot, and Aeria-linked after enabling the plugin but I remarked multiple occurence (every 60s) of messages seemingly related to the API :
**Jun 1 20:16** :40 mattlabs dockerd: time="2020-06-01T20:16:40.296752070+02:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
**Jun 1 20:16** :40 mattlabs dockerd: time="2020-06-01T20:16:40+02:00" level=error msg="<local> - - [01/Jun/2020 18:16:40] \"POST /NetworkDriver.RevokeExternalConnectivity HTTP/1.1\" 404 -" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
**Jun 1 20:16** :40 mattlabs dockerd: time="2020-06-01T20:16:40+02:00" level=error msg="<local> - - [01/Jun/2020 18:16:40] \"POST /NetworkDriver.Leave HTTP/1.1\" 200 -" plugin=a683e7c66cf7e39e855fbc9f91e2f195f78a8eeb9cfb7495f9d30de28e6dc554
And after some times the container stopped.
What do you think ? Anybody else having that problem ?
I found your post about devplayer0/net-dhcp:latest
on docker.com, and I must admit I retain support lesson, use a default network, not a custom plugin. This plugin is nice, but probably not maintained anymore, or maybe soon…who knows.
The upgrade to docker
containerd.io x86_64 1.2.13-3.2.el7
docker-ce x86_64 3:19.03.11-3.el7
docker-ce-cli x86_64 1:19.03.11-3.el7
It breaks the docker service once aeria is created, a restart of the server is needed. If you update directly to the version above, you can install the plugin, it works. Definitely there is something wrong.
For now it is still experimental so I have no problem to go back, even for what I have in mind I have a spare wheel that I would share.
MACVLAN
A bit complicated to make it works, but the goal is the same, get an IP a real network