• Spring Boot
  • OpenJDK
  • systemd
  • NGINX

Spring Boot VPS HostingOne jar. One service. Your server.

Spring Boot ships as a single jar, so the server should be simple. We install OpenJDK, a service-ready layout and NGINX with free SSL on a hardened KVM VPS. You copy the jar and start it.

  • KVM virtualisation
  • NVMe storage
  • Root SSH access
  • Free one-time setup
  • 99.9% uptime SLA

systemctl list-units --type=service --state=active

  • javaOpenJDK runtime
  • myappyour Spring Boot jar (systemd)
  • nginxHTTPS reverse proxy
  • ufwfirewall: 22, 80, 443
  • fail2banSSH brute-force guard
  • unattended-upgradessecurity updates

Installed and secured before handover.

Java 17+required by Spring Boot 4.1
1 jarruns as one systemd service
VPS-2comfortable with a database
HTTPSNGINX with free SSL
01Why a VPS

Why Run Spring Boot on a VPS

Java applications want memory and a long-running process. A VPS gives the JVM both, without the limits of shared hosting.

One jar, one service

Spring Boot's executable jar runs as a systemd service with a restart on failure.

Memory you can tune

Set the JVM heap to fit the plan instead of fighting a shared limit.

Any database

PostgreSQL, MySQL or MariaDB beside the app, or an external managed one.

Predictable cost

One flat server cost for the app and its database.

02The stack

How a Spring Boot Server Is Set Up

NGINX in front, your jar behind it on a local port.

  1. Reverse proxy

    NGINX

    HTTPS on your domain, passing requests to the application on localhost.

  2. Application

    Your Spring Boot jar

    An executable jar run by a systemd service as an unprivileged user.

  3. Runtime

    OpenJDK

    The Java version your Spring Boot release supports.

  4. Database

    PostgreSQL or MySQL (optional)

    Installed next to the app when you want it.

04 DATABASE PostgreSQL or MySQL (opt… 03 RUNTIME OpenJDK 02 APPLICATION Your Spring Boot jar 01 REVERSE PROXY NGINX

Engineer's notes

  1. Spring Boot 4.1 requires at least Java 17, and is compatible with newer versions up to Java 26.
  2. Run the application as its own user, not as root, with a systemd unit like the one in the Spring Boot documentation.
  3. Keep the application on localhost and let NGINX handle the public port and HTTPS.
  4. Set the JVM heap (for example with -Xmx) so the app and the database fit in RAM.
  • 443HTTPS, NGINX
  • 80HTTP, redirects to HTTPS
  • 22SSH, you only
  • 8080Spring Boot default, localhost only
03Use cases

What You Can Run

A REST API

A Spring Boot service behind NGINX.

A web application

Server-rendered pages or a single-page app with a Java backend.

Microservices

Several small services on one server, or one per server.

Scheduled and batch jobs

Spring scheduling and batch work on a server that stays on.

Tomcat applications

A servlet container such as Tomcat, if you deploy a WAR file.

A staging environment

A second copy for testing releases.

04Sizing guide

Which Plan for Your Java Application

Plan for the JVM heap plus the database. Test your own application; heap needs vary a lot.

Recommended start

VPS-1

2 vCores and 4 GB RAM; keep the heap modest.

vCores2
RAM4 GB
NVMe40 GB
See VPS-1
Recommended start

VPS-2

4 vCores and 8 GB RAM.

vCores4
RAM8 GB
NVMe75 GB
See VPS-2
Recommended start

VPS-3

6 vCores and 12 GB RAM.

vCores6
RAM12 GB
NVMe100 GB
See VPS-3
Recommended start

VPS-4

8 vCores and 24 GB RAM.

vCores8
RAM24 GB
NVMe200 GB
See VPS-4

A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.

05After handover

Running Your Jar as a Service

A first deployment, as your own user. Replace the names with yours.

  1. Check Java

    Spring Boot 4.1 needs Java 17 or newer.

    java -version
  2. Create a user and a folder

    The service runs as its own unprivileged user.

    sudo useradd --system --home /var/myapp --shell /usr/sbin/nologin myappsudo mkdir -p /var/myapp && sudo chown myapp:myapp /var/myapp
  3. Copy your jar

    From your build machine.

    scp target/myapp.jar admin@your-server:/tmp/myapp.jarsudo mv /tmp/myapp.jar /var/myapp/myapp.jar && sudo chown myapp:myapp /var/myapp/myapp.jar
  4. Create the systemd unit

    Put this in /etc/systemd/system/myapp.service: [Service] User=myapp, Type=exec, ExecStart=/usr/bin/java -jar /var/myapp/myapp.jar, WorkingDirectory=/var/myapp, SuccessExitStatus=143, Restart=on-failure, and [Install] WantedBy=multi-user.target.

    sudo systemctl daemon-reloadsudo systemctl enable --now myapp
  5. Watch it start

    Follow the application log.

    sudo journalctl -u myapp -f

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.

06Cheat sheet

Spring Boot commands you will use every week

Copy, paste, adjust the names. Each one is safe to run as your own user on the server.

Restart the service

sudo systemctl restart myapp

Follow the log

sudo journalctl -u myapp -f

Memory and Java processes

free -hps -o pid,rss,cmd -C java

Which Java is installed?

java -version

Is it listening?

ss -ltnp | grep 8080

Reload NGINX safely

sudo nginx -t && sudo systemctl reload nginx
07Compare

Managed Java Platform or Spring Boot on a VPS?

A platform service hides the server. A VPS gives you the server and a flat cost.

Managed Java platform

  • PricingPer instance or per resource use
  • JVM optionsLimited by the platform
  • DatabaseSeparate paid service
  • DeploymentPlatform's workflow
  • Server administrationHandled by the provider

Spring Boot VPS

  • PricingFlat server cost
  • JVM optionsYours: heap, garbage collector, flags
  • DatabaseOn the same server, or elsewhere
  • DeploymentCopy a jar and restart a service
  • Server administrationYours, after our free setup
Choose a VPS plan
08Handover

Your Java stack

Free one-time setup before you get access. Here is what happens, and what you receive.

  1. Pick a plan and a location

    Resources that fit your workload, in the datacentre closest to your users.

  2. Tell us your Spring Boot setup

    Versions, database and domain: at order or right after.

  3. We install and secure it

    Server hardened, the stack installed and tested, HTTPS on your domain.

  4. You get root

    SSH to a working server, ready for your code and data.

Installed for you

  • OpenJDK, the LTS version your Spring Boot release supports
  • NGINX reverse proxy with HTTPS on your domain
  • A service user and folder for your application
  • PostgreSQL or MySQL, on request
  • Your jar and its configuration are deployed by you

Secured before handover

  • 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

Not included (we say so up front)

  • Ongoing server administration
  • Application maintenance and updates
  • Debugging your code
  • Migrating existing sites or data
09Hardening and tuning

Security and Performance for Spring Boot

Security

  • Run the application as an unprivileged user, never as root.
  • Keep the application port on localhost; only NGINX faces the internet.
  • Keep secrets in environment variables or a protected file, not in the jar.
  • Update the JDK and your dependencies; security fixes land often.

Performance

  • Set -Xmx so the heap plus the database fit in RAM with headroom.
  • Watch memory with `free -h` and the application's own metrics.
  • Use a connection pool and size it to the database.
  • Keep logs rotated so they do not fill the disk.

Built from the official documentation

VPS Plans

VPS Plans for Spring Boot

The JVM is memory-hungry. VPS-1 runs one small service; VPS-2 is a comfortable start for a service with its own database.

VPS-1

Small websites, APIs, bots and development servers.

₹1,008 /mo
Get Started
  • 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-3

Busy stores, SaaS products and several projects.

₹2,748 /mo
Get Started
  • 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.

₹5,274 /mo
Get Started
  • 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.

Prices exclude 18% GST, which is added to invoices for customers in India.

10Under the hood

Platform specs and locations

The same KVM platform on every plan; only 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

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.

Spring Boot VPS FAQs

Questions before you deploy

Not covered here? Ask an engineer before you order.

Ready when you are

Run Your Spring Boot Application

Choose a plan and we hand over OpenJDK and NGINX on a hardened server, ready for your jar.