A VPS built around the JVM
A generic VPS gives you an empty Linux server. A Java VPS gives you one that is already prepared for Java. Every server we build is set up the same way, so you start with a known, tested configuration rather than a blank shell.
What is on the server
- Ubuntu LTS with automatic security updates, a firewall (UFW) and fail2ban for SSH.
- OpenJDK in the version you ask for: 8, 11, 17 or 21.
- Your runtime: Tomcat, Spring Boot, Quarkus, Micronaut, WildFly, Payara or Docker.
- Nginx as reverse proxy with a free Let's Encrypt certificate.
- Swap and sensible limits so a memory spike does not take the server down.
- A database if you want one: MySQL, MariaDB or PostgreSQL.
- deploy-app, a one-line command to release a new version.
Memory first
A VPS plan is chosen by RAM, not by disk. We split memory like this by default: about 45% to the JVM heap, 15% to database buffers and 40% to the operating system, metaspace and file cache when a database runs on the same server. Without a database the heap gets 60%. Our price page shows the split for every size.
Compared with a generic VPS
| Generic VPS | Java VPS | |
|---|---|---|
| Setup | You install everything | Ready for Java on first login |
| Heap size | JVM default guesses | Sized to your memory |
| HTTPS | You configure it | Nginx and Let's Encrypt in place |
| Deploy | Manual copy and restart | deploy-app with rollback copy |
Self-managed or Managed
With Self-managed you get root access and run the server. With Managed we keep it updated, backed up and monitored. Read about Managed Java hosting.