Docker VPS HostingFull KVM Virtualisation for Your Containers
Docker needs its own kernel, not a container inside a container. A KVM VPS gives you one, with Docker Engine and Docker Compose installed and the server hardened, so you can run docker compose up on day one.
Full root & SSH NVMe storage Daily backups Anti-DDoS 99.9% uptime SLA 11 locations
-
KVM virtualisation
Your own kernel: namespaces, cgroups and overlayfs work normally.
-
Root and SSH access
Install any image, plugin or runtime you need.
-
NVMe storage
Fast image pulls, builds and volume I/O.
-
Dedicated IPv4 and IPv6
Publish the ports your services need.
Why Run Docker on a VPS
Containers make your stack portable. A VPS gives them a stable home with reserved resources and a price that does not grow with each container.
-
A full KVM virtual machine
Docker relies on kernel features such as namespaces, cgroups and overlay filesystems. KVM provides a complete kernel, so containers behave as they do on your laptop.
-
Compose files run unchanged
The docker-compose.yml you use in development starts the same services in production, with an override file for production settings.
-
Many services, one price
Run your app, database, cache, queue and tools such as n8n or Uptime Kuma as containers on one server.
-
Grow without re-platforming
Upgrade the VPS in place when you need more CPU or RAM; images, containers and volumes stay where they are.
How a Docker Host Is Organised
A reverse proxy takes public traffic; containers talk to each other on private Docker networks.
Request from a browser or app (HTTPS)
-
Edge
Reverse proxy (NGINX, Traefik or Caddy)
Terminates HTTPS and routes each domain to the right container.
-
Services
Your containers
App, workers and tools defined in docker-compose.yml, with restart: unless-stopped.
-
Data
Volumes
Named volumes or bind mounts for databases, uploads and anything that must survive a rebuild.
-
Runtime
Docker Engine + containerd
Builds and runs containers; Compose v2 is installed as a Docker CLI plugin.
-
OS
Ubuntu LTS on KVM
Firewall, Fail2ban and automatic security updates on the host.
Worth knowing
- Ports published with -p bypass UFW, because Docker writes its own iptables rules. Bind internal services to 127.0.0.1 or leave them unpublished.
- Keep databases on an internal Docker network with no published port.
- A container's writable layer is lost when it is recreated: use volumes for data.
- Prune old images and build cache regularly so they do not fill the disk.
What You Can Run in Containers
-
Apps from Compose files
Node, Python, PHP or Go apps with their database and cache, defined in one file.
-
Self-hosted tools
n8n, Uptime Kuma, Plausible, Metabase or Nextcloud from their official images.
-
Your own PaaS
Coolify or Dokku for git-push deployments on your own server.
-
CI runners
GitHub Actions or GitLab runners that build images close to where they run.
-
Staging environments
A copy of production per branch or per client, on one server.
-
Container management
Portainer for a web interface to containers, volumes and logs.
VPS Plans for Docker
Images and volumes take disk space and every container needs memory. VPS-1 suits a few lightweight containers; VPS-2 is a comfortable start for a Compose stack with a database.
VPS-1
Small websites, APIs, bots and development servers.
- 2 vCores
- 4 GB RAM
- 40 GB NVMe
- 500 Mbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-2
Production apps, WordPress and online stores.
- 4 vCores
- 8 GB RAM
- 75 GB NVMe
- 1 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-3
Busy stores, SaaS products and several projects.
- 6 vCores
- 12 GB RAM
- 100 GB NVMe
- 2 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-4
High-traffic apps, large databases and agencies.
- 8 vCores
- 24 GB RAM
- 200 GB NVMe
- 3 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.
Which Plan for Your Docker Host
Add up what your containers use, then leave headroom for image builds and the host itself.
| Workload | Start with | Why |
|---|---|---|
| A few self-hosted tools | VPS-1 2 vCores · 4 GB RAM | A reverse proxy, Uptime Kuma and one or two small apps. |
| App, database and cache in Compose | VPS-2 4 vCores · 8 GB RAM | 8 GB for a typical production Compose stack. |
| Coolify or several projects | VPS-3 6 vCores · 12 GB RAM | Room for builds and multiple stacks side by side. |
| CI runners or many services | VPS-4 8 vCores · 24 GB RAM | 8 vCores, 24 GB RAM and 200 GB NVMe for images and volumes. |
A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.
A Docker VPS or a Managed Container Service?
Managed services scale for you; a VPS runs your Compose files as they are, for a flat price.
| Feature | Managed container service | Docker VPS |
|---|---|---|
| Pricing | Per container, CPU and memory | Flat monthly plan |
| Docker Compose files | Often need rewriting | Run unchanged |
| Persistent volumes | Separate storage services | Local NVMe |
| Host access | None | Full root |
| Scaling across servers | Built in | Your own setup |
| Server administration | Handled by the provider | Yours, after our free setup |
| See Plans |
Your First Compose Deploy
Copy your Compose project to the server and start it behind the reverse proxy.
-
Get the project
Clone the repository with your docker-compose.yml.
-
Set secrets
Keep passwords in an .env file next to docker-compose.yml.
-
Start the stack
Pull images and start everything in the background.
-
Check and update
Follow logs, and later pull new images and recreate.
# 1. Get the project
git clone [email protected]:you/stack.git ~/stack && cd ~/stack
# 2. Set secrets
cp .env.example .env && nano .env
# 3. Start the stack
docker compose pull
docker compose up -d
# 4. Check and update
docker compose ps && docker compose logs --tail=50
docker compose pull && docker compose up -d
Example commands; adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do (or ask us for a quote).
Installed and Secured Before You Log In
The VPS is unmanaged: after handover the server is yours to run. Before that, our engineers do the first setup once, free, so you start from a hardened server with Docker in place.
-
Choose a plan and location
Pick the resources you need and the datacentre closest to your users.
-
Tell us your Docker setup
Versions, database and domain: at order or right after.
-
We install and secure it
Server hardened, Docker installed and tested, HTTPS on your domain.
-
You take over with root
SSH access to a working server, ready for your code and data.
Your Docker host
- Docker Engine from Docker's official repository
- Docker Compose v2 plugin
- A reverse proxy (NGINX, Traefik or Caddy) with HTTPS on your domain
- Portainer or Coolify on request
Yours to run after handover
- Ongoing server administration
- Application maintenance and updates
- Debugging your code
- Migrating existing sites or data
Not included in the free setup, but we can quote for it. No control panel by default: CloudPanel, HestiaCP or Virtualmin on request at no cost; cPanel and Plesk need their own licence.
Platform Specs and Locations
The same KVM platform on every plan; only the CPU, RAM, storage and port speed change.
| Virtualisation | KVM with reserved vCores and RAM |
|---|---|
| Storage | NVMe SSD on every plan |
| Network | Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan |
| Operating systems | Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD |
| Access | Full root over SSH, key-based login |
| Backups | Automatic daily backup of the previous 24 hours; snapshots and longer retention on request |
| Protection | Always-on anti-DDoS mitigation |
| Availability | 99.9% uptime SLA |
Secured before we hand it over
- Non-root sudo user created for daily work
- SSH key login, password login for root disabled
- Firewall (UFW) open only for the ports you use
- Fail2ban blocking repeated login attempts
- Automatic security updates enabled
- Free Let's Encrypt SSL on your domain
- Timezone, swap and hostname configured
Asia-Pacific
- Mumbai
- Singapore
- Sydney
Europe
- London
- Limburg
- Roubaix
- Gravelines
- Strasbourg
- Milan
- Warsaw
North America
- Beauharnois
Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.
Who a Docker VPS Suits
-
Developers with Compose setups
You already run your stack in containers locally and want the same in production.
-
Self-hosters
You run open-source tools from Docker images and want them on one reliable server.
-
Small DevOps teams
You want staging, CI runners or a private PaaS without running a cluster.
Running Containers Safely and Efficiently
Security
- Published Docker ports bypass UFW: bind admin interfaces to 127.0.0.1 and reach them through an SSH tunnel.
- Pin image tags, pull updates on a schedule and recreate containers; they do not update themselves.
- Do not mount the Docker socket into a container unless you trust it completely.
- Run app containers as a non-root user where the image allows.
Performance
- Set memory limits per service so one container cannot exhaust the host.
- Use multi-stage builds to keep images small and pulls fast.
- Configure log rotation (max-size, max-file) for the json-file log driver.
- Run docker system prune on a schedule to reclaim disk space.
Questions Before You Deploy
Not covered here? Ask an engineer before you order.
Get a Docker Host You Control
Choose a plan and get a KVM server with Docker, Compose and a reverse proxy ready for docker compose up.