A Spring Boot app packages into a single runnable jar and ships in its own container. Connect your GitHub repo, hit deploy, and you get a live URL in about two minutes - with a provisioned PostgreSQL one click away.
Deploy your app#
One step: select GitHub repository deployment, connect your repo, and hit Deploy. Rock8Cloud builds the container image and serves your app at a live URL, with build and runtime logs in your browser.
No Dockerfile in the repo? Copy the example below.
Pro tip: Set EXPOSE in your Dockerfile and Rock8Cloud infers the container port automatically - nothing else to configure.
Example Dockerfile
# Build
FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /app
COPY pom.xml .
RUN mvn -q dependency:go-offline
COPY src ./src
RUN mvn -q clean package -DskipTests
# Run
FROM eclipse-temurin:21-jre-alpine
COPY --from=build /app/target/*.jar /app.jar
EXPOSE 8080
CMD ["java", "-jar", "/app.jar"]EXPOSE 8080 is what Rock8Cloud reads to route traffic to your container - Spring Boot’s default port, no manual setting needed.
Don’t have an app?#
One-click start from our open-source template - a Spring Boot REST API built with Maven on JDK 21, with PostgreSQL wired in. It’s cloned to your GitHub, connected to a provisioned Postgres, and put live on our domain. Or just browse it on GitHub and borrow what you need.
Pro tip: You can assign your own domain to the app later.
Add a database
Rock8Cloud provisions databases inside your project - no external vendor, no separate bill. Secure credentials and networking are handled for you. Two engines are available:
- PostgreSQL - relational database (versions 14–17), 1–100 GB storage, optional high-availability replica.
- Dragonfly - a Redis-compatible in-memory store for caching, sessions, and queues. Drop-in for any Redis client.
Create it, then set environment variables
- In your project, choose Add Service → Database, then pick the engine, version, and storage. Rock8Cloud provisions it with secure, auto-generated credentials.
- Open your Java app and switch to the Env vars tab - home to all of your app's environment variables. Set any custom keys you need. Linked database values live right alongside them.
-
Add the database's connection variables under the names your framework expects
(for example
DATABASE_URL). Save, and your Java app automatically redeploys with the connection wired in.
The connection values are accessible to your app as plain environment variables - read them the standard way for your stack. Databases are network-isolated to your project: reachable only by your own services, never exposed publicly. Available databases & storage: PostgreSQL · Dragonfly (Redis) · S3 object storage.
What you get#
- A live URL on our domain - share it the moment the first build lands.
- Deploy on push - every push to your configured default branch rebuilds and ships automatically.
- A preview URL per pull request - review real builds, not screenshots.
- Instant rollback - one click back to any known-good build.
Add a frontend?#
Serving a SPA in front of your API? Deploy it as its own service - see the Vue guide - and point it at your API’s URL with a build-time variable. Need caching or file storage too? Dragonfly and S3 are one click each.