In this post, I will outline how to quickly set up professional, production ready websites – fast, easy, no vendor lock-in.
We will deploy our server on Vultr, register and configure a domain with Infomaniak, and once everything is set up, deploy the site using Dokku (an open-source, self-hosted Heroku).
Let’s go!
1. Get a server (VPS)
First, we need a server — a Virtual Private Server (VPS). This is a small Linux machine with a public IP address that we rent to host our website.
There are many cloud providers offering this, but the best ones charge per hour, not per month. Vultr is a solid choice. For example, at around $10/month, you get:
- 1 vCPU
- 2 GB RAM
- a public IPv4 (and IPv6) address
That’s more than enough for a small to medium website.
After registering with Vultr, go to:
Deploy → Deploy New Server
Choose:
- Shared CPU (or higher if needed)
- a nearby data center
- a plan around $10/month
Then follow the wizard.
2. Access via SSH
To access your server, you’ll need an SSH key.
On your local machine, run: ssh-keygen
This creates:
- a private key (keep this secret)
- a public key (safe to share)
Paste the contents of the public key into Vultr when prompted.
3. Register a domain and configure DNS
Next, you’ll need a domain name (e.g. myawesomewebsite.com).
Register one with Infomaniak, then go to:
- Manager → Web & Domains → Domains
- Select your domain
- Change DNS zone → Add record
Add:
- an A record pointing to your server’s IPv4 address
- optionally an AAAA record for IPv6
- optionally a CNAME so
www.myawesomewebsite.compoints tomyawesomewebsite.com
After DNS propagates, your domain will resolve to your server.
4. Deploy with Dokku (the fun part)
Now we deploy the website.
Dokku is a lightweight, open-source, self-hosted PaaS. To make this even easier, I wrapped the setup into a convenience tool called Dokku Scrubs.
With it, you can deploy WordPress in essentially one command.
# Installer
curl -fsSL https://raw.githubusercontent.com/belal-i/dokku-scrubs/master/install.sh | bash
# Deploy
dokku-scrubs \
--app wordpress \
--domain myawesomewebsite.com \
--letsencrypt \
--email user@example.com
That’s it.
Now visit your domain, complete the famous 5-minute WordPress install, and you’re live — with HTTPS, proper isolation, and full control.
Final notes
- No vendor lock-in
- Easy to migrate
- Cheap to run
- Production-ready
(Some links in this post may be referral links. They help support this site at no extra cost to you.)