Always be ready to move to a new VPS
I have learned a lesson. I was naive about running my own website on a virtual private server (VPS). We should be always ready to move to a new server, so that we can calmly respond to price increases. We do not need to move to a new provider; even if we stick to the same provider, it’s good to know that we can move anytime without much fuss. After all, it requires some efforts and skills on our side to keep in our hands this portability and freedom to choose the tool – the VPS and its provider in this case.
In late 2024, I received an email from my VPS provider notifying me of an eventual price increase. It was well in advance. I believe I had 2-3 months before the new price would be effective, so I would have enough time to respond. Or choose to ignore and accept the price increase. The reason for the price increase was also mentioned in the email. They said,
The reason for the change is that these products are no longer part of our currently active offer. Further maintenance of older products results in higher operational costs for maintaining the underlying platforms.
To me, this made sense. I was happy with the server and provider’s quick responses to my occasional queries. I liked their prices for my small and personal VPS. If they needed to ramp down operations for some old products in order to keep their price point low for others and for the future, I thought, then I’d be OK with their price increase. At the same time, they had a similar product on the current offering with slightly less spec and less price. I only used the VPS for this small website, so I could simply pack up and move to a new server. Or I could shop elsewhere if I wanted to. In the end, I chose to stay with them and move to a new server from them. This was a good move for me.
Now I pay less monthly fee with a new server of a similar spec and with added functionality. The price change would have meant that my monthly server fee would increase from €7.19 to €8.70, had I stayed in the old product. Now that I have moved to a new server, I have managed to decrease the monthly fee to €5.40 per month. The spec has become slightly less to 4 core, 4 GB memory, and 400 GB SSD storage in the EU. Only the memory has changed down from 8GB memory. For my use, I do not see any noticeable change – I guess 4 GB or 8 GB, it’s anyway an over spec for a small website. One small addition is that this time I have asked for Docker pre-installed. I am not used to using it but I have decided to give it a try this time.
All in all, the move took me about 3 hours, including the time for the changes in DNS to take effect to point to a new IP address. My record shows I spent about 2 hours of focus time to configure the new server and move files. To me, it was a good drill and worth the time. I now expect this type of price reviews in every 2-3 years for VPS providers. My quick review of search engine results has shown me that price increases of VPS are common. I guess this may be somewhat related to Ubuntu’s LTS release cycle in every 2 years. I am confident that I can pack up and move my server any time anywhere. I just need to spend 2-3 hours and go through my checklist I created from this move.
For what it’s worth, here is my check list. The server hardening part is based on Drew de Vault’s (the target page I used to have seems to have been removed). He is a seasoned system admin and founder of SourceHut. The web sever part is a step-by-step list from my previous set up. I refine it every time I go through it. I have more detailed notes for each step, so that I don’t need to constantly look up websites. I would not say I am a good system admin; I am only a hobbyist. But this list gives me confidence and a sense of control over my VPS. I can always move anywhere if things go against me.
Server hardening check list:
- Ensure to note down root password when taking up a VPS plan
- Generate fresh sshd host keys
- Create admin user
- Add admin user to sudo
- SSH key added to admin’s authorized_keys
- Disable root login via ssh
- Disable password login via ssh
Web server set up list:
- Install nginx
- Copy/download the config file
- Move content files from old to new server
- Configure domain name server to point to the new server
- Install certbot for let’s encrypt
- Configure nginx server for https
- Install unison for file sync (from local to remote server for html files)