Moving from Contabo to Webdock

Moving from Contabo to Webdock

I used to pay around 80 Euros a month for a Dreamhost server with 4GB of RAM 80GB SSD and 4 vCPUS. That’s the price for a managed server. Meaning you don’t do anything, just install WordPress and that’s all basically.

Then I felt equipped enough with some Linux skills to take on unmnaged servers. I found Contabo. They were super cheap and provided some control over the servers. 22 Euros a month for 32GB of RAM, 800GB SSD, and 8 vCPUs. As you can see the difference in price is immense. I moved all of the websites there. Took a while to understand how to manage an unmanaged server, but thanks to Yunohost it was quite easy.

Therefore, a server that we have control over, with an old but ok control panel.

For me it is crucial to have such a control panel. I want to easily install an operating system, like Debian. I want to restart the server in case it gets stuck, and MOST importantly to take snapshots.

SNAP-SHOTS!

They are too important! They saved my ass countless of times. Basically you can take a snapshots of your server, in seconds, and then restore to it in case you have to. Before every major system or apps update, I take a snapshot. Imagine if an update nukes your server….what do you do? If you have snapshots you fix it in a second!

At times I had to update our Matrix server that had a 200GB database. If that update fucked Matrix, then restoring a backup of 200GB is not pretty. A few times I had to resort to snapshots because of Matrix.

Therefore I NEED snapshots. Actually I need to be SAFE.

BE SAFE!

3-4 years ago I was testing TROMjaro on my laptop and wanted to install it on an external HDD I had around. Problem was I had some 5 HDDs connected to my computer and by mistake I chose the wrong HDD to install TROMjaro, thus I deleted 4TB of personal files. Photos, videos, whateverelse. Had no backups… This happened twice to me until I learned a lesson: backups are a must!

Now I backup my computer in the cloud with Borgbase daily. I like it because they are incremental and encrypted. Borgbase has no clue what I host there. That’s how it should be.

I have become obsessed with being safe with my digital files, because you will truly regret it if you are not. So I cannot accept to not have daily backups for our servers, to a remote location!

Yunohost made it super easy to use Borg and backup to Borgbase. So that’s what I’ve been doing for the past years. Daily. Fully. 6TB of data.

Why move?

In short because Contabo forced me to remove a Nitter link a year or more ago and we had a huge fight over it. See the details here. They were wrong and douchebags. I cannot accept to be bullied like that. I had to comply eventually but then Countabo refused to sell me any other service. Look at what they say:

Thanks for reaching out to Contabo customer support.
For internal reasons we had to take the decision not to provide you with any new products this time, we are awfully sorry to say. “For internal reasons” means we are not going to communicate our motivation. Our decision is not up for debate; we kindly ask for your understanding. Please do not take our decision personally. It has nothing to do with you but rather with reasons that we are not going to explain since we do not want you to misunderstand us or misinterpret our statements. Exactly because of this, we consider all information as internal company information.
Still, we are always available for you personally and will respond to all of your questions as soon as possible. Always feel free to contact us.

Fucking hell. This is insane. You see I could not find a cheaper alternative so I was trying to move past that incident and buy a bigger server because 3 years ago we started this TROM.tf suite of websites that grew and grew and we needed more storage space….

So now that I cannot continue with Cuntabo, I had to look for options.

What do I need?

I need to host these websites on one server: tromsite.com and TROM Drive, tiotrom.com, bigworldsmallsasha.com, webape.site, videoneat.com, trade-free.org and the directory, tromnews.com, tromjaro.com and the forum. Many WordPress websites plus a Nextcloud and Discourse.

For this I need around 200GB SSD, 20GB of RAM, and some 6 vCPUs.

For TROM.tf it is a different and developing story. So let’s focus on these TROM-sites for now.

I need a server that allows me to control it from a separate panel (restart, shut down, install or reinstall OS), plus one that has backups/snapshots.

Webdock

After months of searching I caved in for Webdock. A hosting provider that Alexio was bragging about for years now 🙂 – he hosts his websites there. Why them?

Custom builds and low prices.

The fantastic part is that you can configure it any way you want.

So you get exactly what you need. Yes Cuntabo is cheaper, but I only used 200GB our of 800GB of diskspace there, and 20GB of RAM out of 36GB. No point in wasting resources. The above setup is what I got and it is 1 Euro cheaper than Cuntabo 🙂

Upgrade/downgrade

With Cuntabo you could only upgrade and it was not that easy. Here you can upgrade/downgrade even for like 1 vCPU and stuff like that. This is crucial for me in case I quickly need to upgrade, or even downgrade. Great!

Snapshots!

This one I LOVE! You see Cuntabo made snapshots on the same server. That’s like an image of the server. Took seconds to do and restore, which was super fantastic, but these are not backups. If anything happens to that datacenter you are fucked. Webdock on the other hand does FULL backups of your entire server, to another location basically. And yes it can take up to 40 minutes to do one for a beefy server, but the moment you click to create a snapshot that’s it, it will create a backup of your server the way it is when you clicked. So you can do whatever you want on your server from then on, it will not affect the snapshots.

This is super duper cool. They provide 3 manual snapshots, like Cuntabo, but you can store them for 6 months compared to 3 on Cuntabo. Even more cool they do daily automated snapshots and keep 5 of them. This is fabulous! Imagine something terrible happens to your server, but you know that you can restore it with a click because you have daily automated snapshots. For me this is a must!

Great control panel

It took a day or two to get used to it but then I ended up really liking the panel. You have a lot of control over your server: reboot, reinstall, even create and manage shell users, execute scripts and so forth.

So far great tech support

Cuntabo’s tech support was always either missing or extremely unhelpful. Everyone complained about that. Webdock brags about how awesome they are at that. They even have a live chat for that. And so far so awesome. So fast, so useful, so friendly. I am impressed. They brag about the Trustpilot reviews on their first page:

I am trying to tame my enthusiasm about this but so far the support was stellar. It feels more friendly and less companyish…

So let’s see…

So yeah, Webdock seems like a great choice. The irony is that they made everything so easy to understand and setup, but their “trial” pricing is a complete mess. I was totally confused….they give you some credits in Euros to test the service, and you cannot build a custom server unless this credit expires or you ask them to switch your account to a non-trial one….it is messy. But well…

How to move?

Let’s’ get technical now. If you have Yunohost and remote backups like say with Borg on Borgbase, then it is not that difficult to move. Mind you we have to move ALL of the websites and configs and users. Emails, domains, files….

Backups to the rescue!

Imagine this: I have an archive backup for EACH of our website.

They are encrypted and stored with a 3rd party. Even if Cuntabo was to entirely cut me off, I had them there. So no biggie!

Set up the new server!

When I bought the Webdock server I chose to have it installed with Debian 11. This is needed for Yunohost. Super fast! I did not have to manually install Debian and that’s awesome!

The SSH madness….

Now you have to login via SSH to the server and install Yunohost. Well….this was by far the hardest part! Not installing Yunohost, but log in via SSH, and SSH keys overall. I don’t know but I am confused by these keys. Webdock tries to make it super secure and enforces SSH keys by default, but anyway….you can disable that, however it took me more than an hour to connect to the server via SSH because this key, or that key, or both, are not recognized and all of that. This was painful, I hate this SSH keys. I HATE THEM!

So you have to open the terminal in Linux and do ssh user@server-ip to connect to your server. Then lose your mind for an hour because it asks you for the key, and keys and shit like that, and then you add your password and does not work and bullshit. This is a general issue, nothing to do with Webdock really, but once you manage to connect it is so so simple.

Install Yunohost

Install Yunohost with this command: curl https://install.yunohost.org | bash

Then follow the very simple instructions and let YNH deal with your SSH user. Once installed, it will tell you to visit your IP (in the browser) and setup your admin password.

Now YNH has created a new SSH user and that fucks things up again with your connection since you are trying to connect to the same IP but different user and keys….that also put me off for hours trying to figure it…. Your SSH user is now the YNH admin and the password you chose when you visited your IP via the browser and set it all up. Remember that!

Ok. YNH is installed!

Now install Borg Backups app from the YNH panel. Use the same repository from your Borgbase so it connects to it. Then add your public key from the Borg YNH settings to your Borgbase’s repository.

These SSH keys are nuts. You have to figure this shit out in order to connect!

After you do that you have to one by one grab the archives and restore. Here’s how I did it:

1. List the archives

In SSH do:

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " borg list "$(yunohost app setting $app repository)" | less

This will list all of your archives from your Borgbase. That if you don’t get a connection error because the repository does not recognize your SSH key….and you spend a few more hours using ChatGPT to figure it out. You may need to force Borgbase to “please take your SSH key!” to let you connect.

Pause here.

The only major issues for me were to connect. From my computer to the server, from the server to the backups, and so forth. All because of SSH keys. This took THE MOST time. If it wasn’t for this, would have been a ton easier. Also ChatGPT is really useful in these situations and helped me figure shit out.

Anyway.

To exit that list press q.

2. Download a backup

You should see a list of backup archives. Now copy the full name of any archive you want, and replace it in this example:

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " borg export-tar "$(yunohost app setting $app repository)::_auto_my_webapp-2023-09-24_17:36" /home/yunohost.backup/archives/_auto_my_webapp-2023-09-24_17:367.tar

Replace the _auto_my_webapp-2023-09-24_17:367 with the backup you want to download. Paste that into your terminal. It should start to download your backup archive.

RESTORE THE YNH CONFIG FIRST!

I suggest you first download your server backup data. Maybe it is simply called Auto Borg. You want to first restore your YNH configs: users, data, settings, domains, etc.. So download that first. Then go to the YNH Backup panel and restore it as you would normally do.

Mind you, now your original users from your backup are the ones in charge, so your admin and password, and thus SSH users have again changed. They are your old ones, keep that in mind. You have to relogin via SSH and deal again with a cluster fuck of SSH keys.

But once this is done, it is easy peasy!

Also make sure you select your default domain as it was before. This is important to make sure your email works with your email client. Do it from the YNH panel. Easy.

3. Deal with the DNS!

Your new server has a new IP, of course. This is how I would do things: first download the backup of say Nextcloud. Then go to the YNH Diagnosis and check the domain for my nextcloud, say drive.tromsite.com and take the information from there and add to my DNS where my domain is registered.

So from here:

To here:

One by one. It is likely that you only have to change the IPv4 and IPv6 info.

It may take several minutes for the DNS to propagate, but by now the Nextcloud archive is probably downloaded from Borgbase. Head over the YNH backups panel and simply restore.

Download the archive from Borgbase -> Change the DNS values -> Restore!

That’s it!

Now the drive.tromsite.com domain is redirecting to our new server where we restored the Nextcloud installation. And that’s all it is!

One by one. Download and archive with that command, tweak the DNS in your domain registrar panel, then restore the archive via YNH.

How easy!

By far the most painful experience is to deal with the connections….those SSH keys….and the SSH users….because the rest, thanks to YNH, is so easy to do!

And how important it is to have backups via Borg to a remote location. It took me a few days to move all of our websites to Webdock, and that’s mainly (and repeating over 100 times), because of those SSH connections issues….

Now I am confident that even if Webdock decides to shut me down, I can move to a different hosting provider and I will get everything back in a few days time.

Here’s the recap:

1. Get a new VPS with Debian

2. Install Yunohost on it via SSH

3. Considering you have Borg backups, install the Borg app via YNH, and connect it to your Borgbase.

4. Via SSH grab the list of your Borgbase archives, then with another command select the one you want to download. First do so for your YNH config.

5. Restore your YNH data (configs, users, etc.)

6. Select your default domain and change the DNS for it.

7. Proceed to download a new archive and restore it via the YNH backup then change the DNS.

DONE!


The next big adventure is to move our TROM.tf services, some 2TB of files, to a new server. Probably with a different company to make sure we don’t put all of our eggs into one basket. I will make an article about that too.

I forgot to mention.

Webdock forced me to send them a photo of my passport, which is something most hosting companies force you to do nowadays, BUT Webdock went a step further asking me to open my webcam and take a selfie…. Very invasive. Very terrible. Fucked up even. Mind you, these things will add up and in the future we will get very entangled with companies and governments. More power to them! Terrible!

Leave a Reply

Your email address will not be published. Required fields are marked *