Cloudron Setup on Contabo - VPS L Instances - Ubuntu 22.04 x64
-
Hi all,
I am looking to move my two Cloudron instances from DigitalOcean to Contabo. I have the two new VPS L instances setup on Contabo but am having a very hard time getting Cloudron to install. Everything goes well until I get to the Unbound DNS server service setup. Then I get the following (I have tried the install two times):
# we need unbound to work as this is required for installer.sh to do any DNS requests echo -e "server:\n\tinterface: 127.0.0.1\n" > /etc/unbound/unbound.conf.d/cloudron-network.conf systemctl restart unbound Job for unbound.service failed because the control process exited with error code. See "systemctl status unbound.service" and "journalctl -xeu unbound.service" for details.
When I look at the unbound.service status I see the following:
× unbound.service - Unbound DNS server Loaded: loaded (/lib/systemd/system/unbound.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2022-12-08 18:31:17 UTC; 1h 2min ago Docs: man:unbound(8) Process: 20212 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup (code=exited, status=0/SUCCESS) Process: 20215 ExecStartPre=/usr/lib/unbound/package-helper root_trust_anchor_update (code=exited, status=0/SUCCESS) Process: 20218 ExecStart=/usr/sbin/unbound -d -p $DAEMON_OPTS (code=exited, status=1/FAILURE) Process: 20220 ExecStopPost=/usr/lib/unbound/package-helper chroot_teardown (code=exited, status=0/SUCCESS) Main PID: 20218 (code=exited, status=1/FAILURE)
When I look at the journal output I see the following:
Subject: A start job for unit unbound.service has begun execution ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ A start job for unit unbound.service has begun execution. ░░ ░░ The job identifier is 1273. Dec 08 18:29:43 vmi1119358.contaboserver.net package-helper[5308]: /var/lib/unbound/root.key does not exist, copying from /usr/share/dns/root.key Dec 08 18:29:43 vmi1119358.contaboserver.net unbound[5312]: [1670524183] unbound[5312:0] error: can't bind socket: Cannot assign requested address for ::1 port 53 Dec 08 18:29:43 vmi1119358.contaboserver.net unbound[5312]: [1670524183] unbound[5312:0] fatal error: could not open ports Dec 08 18:29:43 vmi1119358.contaboserver.net systemd[1]: unbound.service: Main process exited, code=exited, status=1/FAILURE ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ An ExecStart= process belonging to unit unbound.service has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 1. Dec 08 18:29:43 vmi1119358.contaboserver.net systemd[1]: unbound.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ The unit unbound.service has entered the 'failed' state with result 'exit-code'. Dec 08 18:29:43 vmi1119358.contaboserver.net systemd[1]: Failed to start Unbound DNS server.
My gut feeling says that this may be a conflict with an already installed BIND DNS server on the default Ubuntu install that Contabo uses.
Can anyone confirm if they have seen this before and what they may have done to resolve the situation?
Thanks!
-
@cilleyperson yes, your suspicion is correct. you have to uninstall bind before installing cloudron.
But, the setup script already has code to disable bind9. I am wondering why that doesn't work. Can you please try:
systemctl stop bind9 systemctl disable bind9
Does the above work?
-
@girish So I actually went ahead and completely removed the bind9 packages from the OS and ran the install again. Slightly different message in the journal output this time:
Dec 09 14:27:15 vmi1119358.contaboserver.net unbound[19504]: [1670596035] unbound[19504:0] error: can't bind socket: Cannot assign requested addres> Dec 09 14:27:15 vmi1119358.contaboserver.net unbound[19504]: [1670596035] unbound[19504:0] error: cannot open control interface ::1 8953 Dec 09 14:27:15 vmi1119358.contaboserver.net unbound[19504]: [1670596035] unbound[19504:0] fatal error: could not open ports Dec 09 14:27:15 vmi1119358.contaboserver.net systemd[1]: unbound.service: Main process exited, code=exited, status=1/FAILURE
So now port 8953 is the one that cannot be bound. Very strange. Is there anything else that people know about that is unique to Contabo that my be causing this? I also have the ability to upload custom iso images. Is there an ISO image for cloudron that I could use right out of the gate?
Thanks!
-
-
@nebulon Here is the output from that command:
ss -lptn 'sport = :8953' State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
So it doesn't look like there is anything running on that port.
I honestly don't need ipv6 on these hosts. Is there a best practice to disable this on Ubuntu 22.04?
Thanks!
-
@cilleyperson I followed the instructions to disable ipv6 on a fresh 22.04 install but still no luck. I disabled ipv6 using the process shown here:
https://linuxconfig.org/how-to-disable-ipv6-address-on-ubuntu-22-04-lts-jammy-jellyfish
I think it may have actually caused more issues than it resolved as I received a dpkg error for the nginx install this time, which was new.
I am at a loss in terms of where to go from here. I am using the base Contabo Ubuntu 22.04 install. Seems like it shouldn't be causing this many issues out of the box.
-
@cilleyperson have you tried to spin up a fresh instance with ipv6 enabled? Possibly this is a contabo side switch, while creating the instance.
-
@nebulon I have tried this on a completely fresh Contabo VPS L instance and the same thing happens, the Unbound service fails, causing the install script to fail in the same manner as what I first reported.
It seems like this all has something to do with the IPv6 settings with the VM but I can't be sure. I wish I knew what others have done in the past to get Cloudron working on Contabo.
Digital Ocean is getting too expensive in terms of monthly costs for me as an individual to run my apps on the platform, so Contabo looked like the best way to solve for that challenge. Unfortunately it seems like there is something fundamentally different about their Ubuntu images causing the Cloudron installer to fail.
-
@cilleyperson I am going to try one more thing. I am going to use the vanilla Ubuntu ISO as a custom image to install from and try and use that to re-build my VPS with. Maybe that will allow me to bypass whatever is causing this problem.
-
@cilleyperson Ok, so we have success! Turns out, whatever image Contabo uses by default is not something that Cloudron likes at all. I used a custom image with the vanilla 22.04.1 ISO and it works fine.
Not sure if the system recognized my complete allotment of RAM and disk space though. Going to need to see what is happening there.
-
@cilleyperson I've got it! Managed to resize the logical volume to take advantage of all the space on my Contabo VPS.
So it looks like while it is a bit more work on Contabo, and you need to pay the small monthly fee for custom OS image hosting, everything does work pretty well.
I may turn this whole experience into a how-to in the future so people can learn from what I did to get this working.
-
@cilleyperson said in Cloudron Setup on Contabo - VPS L Instances - Ubuntu 22.04 x64:
I may turn this whole experience into a how-to in the future so people can learn from what I did to get this working.
Yes, please do!
I think their German locations run on 100% hydro power (although this is not at all clear - I've asked them multiple times and am struggling to get a definitive answer, and have received conflicting answers from their email support vs social media) so I'm thinking of giving them a try (actually already bought 250gb of object storage from them in a recent sale)
-
@nebulon One last follow-up for anyone else out there looking at this and trying to install Cloudron on Contabo VPS instances. Here are the steps I went through:
- Setup Contabo account with the instance(s) of your choosing (I am using the VPS L size)
- Add on custom image storage for your Contabo account (at the time of writing this was $1.49 extra per month for 25 GB of image sotorage
- Follow the instructions to download the standard Ubuntu server image to your Contabo custom image storage (at the time of writing this was version 22.04.1)
- Make sure your Contabo VPS has cloud-init enabled so that you can use the custom image
- Go through the Contabo re-install process for your VPS selecting the custom image for the OS
- Follow the instructions to enable VNC viewer access to your Contabo VPS instance so that you can complete the Ubuntu install
- Go through the standard Ubuntu install process using the VNC viewer connection
- I would recommend using the logical volume option to handle your hard disk creation and then edit the logical volume group at installation to use the full amount of disk space available.
- Make sure you enable the SSH server so that you do not need to leave VNC access enables since this is a security issue
- Once Ubuntu is installed, reboot your server, disable VNC access, and go through the rest of the steps using an SSH connection
- I would recommend using a certificate for your SSH connections if possible, it is safer than having SSH exposed with only password authentication on the internet.
- Follow the Cloudron installation instructions to pull down the latest version and complete the setup process on your server.
I'll working on making a more detailed tutorial in the coming weeks, but this should get someone headed in the right direction if they are in the same situation I was.
-
-
@cilleyperson I signed up with Contabo and created a new server now . I managed to reproduce your installation issue, investigating.
-
-
@girish said in Cloudron Setup on Contabo - VPS L Instances - Ubuntu 22.04 x64:
There is a bug in unbound on Ubuntu 22 that it listens on the control interface (port 8953) by default. I have reported the issue on the unbound mailing list, let's see what they say.
But @cilleyperson didn't seem to have the issue with a vanilla install of Ubuntu 22, only on Contabo's version of it, no?
-
@jdaviescoates it's a bit convoluted....
on contabo, ipv6 is disabled in the kernel. This should not be needed but this is the default. Unbound fails to start when control port is enabled on a non ipv6 server.