TLDR: In December 2023 I picked this low-cost VPS provider. I do not recommend them, and I hope this writing will save people from wasting any time or money on Contabo.
They claimed "German Quality, Always". It's neither good quality, neither always.
For the most part, from December 2023 to September 2024, I could almost live without caring too much about managing my server, whose setup is mostly delegated to Cloudron. And I had no problem using Cloudron for my web apps on this cheap VPS; my Cloudron backups were also configured in Cloudron to use Contabo Object Storage. No problem on the surface. Until Murphy's law enter the game:
- An outage in September 2024 broke availability in Nuremberg Data center and so my backups and my Cloudron instance were unavailable. I entered panic mode because there was nothing I could see or do. Contabo offered no support because their customer portal was impacted as well and no fail-over mechanism had been put in place. That tells a lot. Fortunately this was solved after a few days.
- Quickly after this outage resolution, I noticed too that rclone and Cloudron backups were acting weird, mostly due to the slowness or rate limiting of Contabo Object storage API. I couldn't find an explanation so I just contacted Contabo support, which fixed my problem without saying much, sadly.
- Few weeks later still in September 2024, my DNS config on my VPS starts to cause issues, but only to the light of problems encountered in WordPress, Miniflux and Changedetection. All those issues exploded to my face in the form of timeouts or unreachable URLs. Fortunately I found this write up https://www.thomasmartens.eu/contabo-dns-lookup-timeouts/ and could just fix my default NetPlan configuration and switched from Contabo DNS to 1.1.1.1 (CloudFlare) and 9.9.9.9 (Quad9).
- I noticed too that my object storage space was filling up constantly, causing me some anxiety. And I couldn't clean anything. The backup cleanups were also silently frequently in Cloudron as a result. In the end I couldn't find the root cause but switching to Hetzner storage instead of Contabo Object Storage fixed and made the whole process faster.
Unfortunately I went through those issues. But I could have avoided them. When one have to pick a product or service, it's better to do more research and ask around for advice.
Use ChatGPT to be brutally honest when giving you advice and saving you money and pain.
Or just visit forums and communities like Reddit;
Lessons learned
- Some products and services are cheap for reasons: quality for free is often a scam.
- I should have checked internet before. Be more picky, check the community forums and reviews. Avoid unneeded pain.
- Do not put all your eggs in the same basket, i.e pick different locations and providers for your compute and data.
- Monitor the health of your backups and storage location.
- Plan for disaster.
Specs comparison
If you ever need to battle test your VPS, have a look at some of those VPS benchmarking scripts: https://monovm.com/blog/vps-benchmark-tools/.
I've picked the first from the list, namely bench.sh https://github.com/haydenjames/bench-scripts/blob/master/README.md#benchsh in order to compare the specs of my Gitea runner running on Hetzner vs my main Cloudron instance running at Contabo.
Here are the specs and price on paper:
Contabo VPS M SSD https://www.vpsbenchmarks.com/hosters/contabo/plans/m-ssd (deprecated plan)
- CPU 6 cores
- Memory 16 GB
- Disk 600 GB (100% SSD)
- Port 400 Mbit/s
- Price β¬11.25 / month
Hetzner - CX32 https://www.vpsbenchmarks.com/hosters/hetzner/plans/cx32 (still available on Nov 13, 2024).
- CPU 4 cores
- Memory 8 GB
- Disk 80 GB
- Price β¬ 8.09 / month (https://www.hetzner.com/cloud/).
Both are in the same region. The amount of CPU and disk space vary, but overall there is a clear winner about performance.
-------------------- A Bench.sh Script By Teddysun -------------------
Version : v2024-11-11
Usage : wget -qO- bench.sh | bash
----------------------------------------------------------------------
CPU Model : AMD EPYC Processor (with IBPB)
CPU Cores : 6 @ 2799.996 MHz
CPU Cache : 512 KB
AES-NI : β Enabled
VM-x/AMD-V : β Disabled
Total Disk : 593.5 GB (53.7 GB Used)
Total Mem : 15.6 GB (4.9 GB Used)
Total Swap : 4.0 GB (268.2 MB Used)
System uptime : 6 days, 17 hour 31 min
Load average : 0.67, 0.85, 1.09
OS : Ubuntu 22.04.3 LTS
Arch : x86_64 (64 Bit)
Kernel : 5.15.0-124-generic
TCP CC : cubic
Virtualization : Dedicated
IPv4/IPv6 : β Online / β Offline
Organization : AS51167 Contabo GmbH
Location : NΓΌrnberg / DE
Region : Bavaria
----------------------------------------------------------------------
I/O Speed(1st run) : 131 MB/s
I/O Speed(2nd run) : 98.0 MB/s
I/O Speed(3rd run) : 94.4 MB/s
I/O Speed(average) : 107.8 MB/s
----------------------------------------------------------------------
Node Name Upload Speed Download Speed Latency
Speedtest.net 399.41 Mbps 399.48 Mbps 11.37 ms
Los Angeles, US 378.05 Mbps 401.30 Mbps 155.48 ms
Dallas, US 390.21 Mbps 402.25 Mbps 127.98 ms
Montreal, CA 44.98 Mbps 400.75 Mbps 105.08 ms
Paris, FR 404.24 Mbps 397.38 Mbps 18.16 ms
Amsterdam, NL 392.33 Mbps 396.11 Mbps 23.08 ms
Beijing, CN 275.61 Mbps 410.68 Mbps 241.41 ms
Shanghai, CN 129.99 Mbps 362.16 Mbps 428.46 ms
Hong Kong, CN 224.22 Mbps 386.99 Mbps 284.37 ms
Singapore, SG 93.82 Mbps 362.53 Mbps 329.19 ms
Tokyo, JP 302.55 Mbps 393.36 Mbps 256.67 ms
----------------------------------------------------------------------
Finished in : 5 min 43 sec
Timestamp : 2024-11-13 09:18:58 UTC
----------------------------------------------------------------------
-------------------- A Bench.sh Script By Teddysun -------------------
Version : v2024-11-11
Usage : wget -qO- bench.sh | bash
----------------------------------------------------------------------
CPU Model : Intel Xeon Processor (Skylake, IBRS, no TSX)
CPU Cores : 4 @ 2099.998 MHz
CPU Cache : 16384 KB
AES-NI : β Enabled
VM-x/AMD-V : β Disabled
Total Disk : 75.0 GB (3.5 GB Used)
Total Mem : 7.6 GB (632.2 MB Used)
System uptime : 39 days, 14 hour 22 min
Load average : 0.03, 0.02, 0.00
OS : Ubuntu 24.04 LTS
Arch : x86_64 (64 Bit)
Kernel : 6.8.0-41-generic
TCP CC : cubic
Virtualization : Dedicated
IPv4/IPv6 : β Online / β Online
Organization : AS24940 Hetzner Online GmbH
Location : NΓΌrnberg / DE
Region : Bavaria
----------------------------------------------------------------------
I/O Speed(1st run) : 846 MB/s
I/O Speed(2nd run) : 795 MB/s
I/O Speed(3rd run) : 929 MB/s
I/O Speed(average) : 856.7 MB/s
----------------------------------------------------------------------
Node Name Upload Speed Download Speed Latency
Speedtest.net 2292.48 Mbps 2473.56 Mbps 0.66 ms
Los Angeles, US 605.99 Mbps 2986.01 Mbps 157.65 ms
Dallas, US 702.97 Mbps 3420.20 Mbps 128.18 ms
Montreal, CA 175.26 Mbps 937.60 Mbps 90.89 ms
Paris, FR 7119.88 Mbps 9681.24 Mbps 13.65 ms
Amsterdam, NL 4993.84 Mbps 7353.62 Mbps 10.41 ms
Beijing, CN 627.18 Mbps 2611.88 Mbps 187.03 ms
Shanghai, CN 1.34 Mbps 1791.62 Mbps 325.14 ms
Hong Kong, CN 352.36 Mbps 2526.89 Mbps 234.43 ms
Singapore, SG 181.44 Mbps 670.17 Mbps 194.45 ms
Tokyo, JP 313.71 Mbps 2686.38 Mbps 236.80 ms
----------------------------------------------------------------------
Finished in : 5 min 48 sec
Timestamp : 2024-11-13 09:25:24 UTC
----------------------------------------------------------------------
Conclusion and what's next
I still have my main VPS at Contabo, however my storage and backups are with Hetzner, migrating to Hetzner should be a no brainer, thanks to the built-in quality of Cloudron.
I've also configured another VPS with Hetzner, with satisfaction, for running Gitea Actions, because there is no way I rely on GitHub.
So you know. Move away from them, unless for cheap, non business critical workflows where performance and reliability are not a concern.