---
title: "How to deploy a Spring Boot app"
description: "Deploy a Spring Boot app to Ample with your coding agent, the CLI or MCP, using build and start commands verified on September 21, 2026."
canonical_url: "https://ample.computer/guides/spring-boot"
last_updated: "2026-09-21"
author: "Ample Computer"
---

# How to deploy a Spring Boot app

Deploy a Spring Boot app to Ample with your coding agent, the CLI or MCP, using build and start commands verified on September 21, 2026.

## The short version

To deploy a Spring Boot app on Ample, run `ample deploy . --name <app-name> --public` in the project directory, or ask your coding agent to deploy it to Ample. Ample builds it on the `jvm-21` template, runs the tested start command below and returns a public HTTPS URL.

## Deploy Spring Boot

1. **Ask your coding agent.** Install the Ample CLI and create an account, then ask your agent: "Deploy this Spring Boot app to Ample".

   ```sh
   curl -fsSL https://get.ample.computer/install.sh | sh
   ample auth signup
   ```

2. **Or deploy from the CLI.** It waits until the app is live or failed and prints the URL.

   ```sh
   ample deploy . --name <app-name> --public
   ```

3. **Or use MCP.** Call `ample_deploy` on `https://api.ample.computer/mcp` (or `ample mcp` over stdio).
4. **Verify.** On failure read `ample logs <deployment_id> --kind build`, fix the cause and deploy again.

## Tested configuration

| | |
|---|---|
| Template | `jvm-21` |
| Build | `./mvnw -q -DskipTests package` |
| Start | `java -jar $(ls target/*.jar \| grep -v -- '-plain' \| head -n 1)` |
| Tested size | `s-1vcpu-2gb` |

Verified on Spring Boot: the app built and started with the documented commands and answered on its public HTTPS URL. Build and start: ./mvnw -q -DskipTests package (or the Gradle wrapper) producing one application jar, then java -jar on the jvm-21 template (Temurin JDK 21) with server.port read from PORT.

Last verification (2026-09-21): Spring Boot pattern fixture deployed on Ample (./mvnw -q -DskipTests package (or the Gradle wrapper) producing one application jar, then java -jar on the jvm-21 template (Temurin JDK 21) with server.port read from PORT); for this guide: the app built and started with the documented commands and answered on its public HTTPS URL.

## You need

- A Spring Boot project (./mvnw -q -DskipTests package (or the Gradle wrapper) producing one application jar, then java -jar on the jvm-21 template (Temurin JDK 21) with server.port read from PORT)
- An Ample account token with servers:write

## Know the limits

- Verified on the jvm-21 template at s-1vcpu-2gb; other sizes and Spring Boot major versions are not verified.

## Frequently asked questions

### Do I need a Dockerfile to deploy Spring Boot?

No. Ample detects Spring Boot from the repository and builds it from source on the `jvm-21` template. Dockerfile build steps are not run.

### How do I add a database to a Spring Boot app?

Leave DATABASE_URL unset and deploy: when the code needs Postgres, MySQL, Redis or MongoDB, Ample creates a managed database and passes its connection string to the app. See [Connect Postgres for Spring Boot](https://ample.computer/guides/spring-boot/database-connection).

### What does it cost to host a Spring Boot app on Ample?

The Free plan runs 2 apps at once with no card and a hard monthly budget, so it never bills you. Larger needs are priced on volume; see [pricing](https://ample.computer/pricing).

### What if the deploy fails?

`ample deploy` waits until the app is live or failed. A failure returns who must act, a diagnosis and a suggested fix; read the logs with `ample logs <deployment_id> --kind build`. See [Diagnose deployment failures for Spring Boot](https://ample.computer/guides/spring-boot/deployment-diagnostics).

## More for Spring Boot

- [How to serve Spring Boot public assets through a CDN on Ample](https://ample.computer/guides/spring-boot/cdn-assets): Cdn assets for a Spring Boot app on Ample
- [How to set environment variables and secrets for a Spring Boot app on Ample](https://ample.computer/guides/spring-boot/configuration-secrets): Configuration and secrets for a Spring Boot app on Ample
- [How to connect a Spring Boot app to Postgres on Ample](https://ample.computer/guides/spring-boot/database-connection): Database connection for a Spring Boot app on Ample
- [How to fix a failed Spring Boot deploy on Ample](https://ample.computer/guides/spring-boot/deployment-diagnostics): Deployment diagnostics for a Spring Boot app on Ample
- [How to use S3-compatible storage from a Spring Boot app on Ample](https://ample.computer/guides/spring-boot/object-client): Object storage client for a Spring Boot app on Ample
- [How to serve private files from a Spring Boot app on Ample](https://ample.computer/guides/spring-boot/private-file-access): Private file access for a Spring Boot app on Ample
- [How to run database migrations for a Spring Boot app on Ample](https://ample.computer/guides/spring-boot/schema-changes): Schema changes for a Spring Boot app on Ample
