Running Java applications on Nodion

Learn more about how to run Java applications like Spring Boot on Nodion

Create a new application

To get started you can simply create a new application after signing in. If you simply want to try out our platform you can use one of our starter templates to get up and running quickly.

Create App Screenshot

Deploying with Buildpacks

Buildpacks will automatically detect that you are running a Java application if you have a pom.xml, pom.atom, pom.clj, pom.groovy, pom.rb, pom.scala, pom.yaml or pom.yml file in the root directory of your application. Please provide the desired Java version in a system.properties file, the Java Buildpack will install all dependencies as well as the specified Java version.

It's necessary to set a PORT Environment Variable within your application settings. If this is not set, our load balancing system is not able to redirect to your application and an error will occur.

Release stage

If you need to run certain tasks when deploying you can use the release stage of the Procfile. The command provided there will be run right before spawning the new containers of that deployment. If you are using Flyway you could use something like this:

  web: java -Dserver.port=$PORT -jar target/demo-0.0.1-SNAPSHOT.jar
  release: ./mvnw flyway:migrateProcfile

Running Scheduling Tasks

Spring Scheduling Tasks are a common way to handle background processing tasks. With Nodion you can simply provide a worker start command with the worker type to run those Scheduling Tasks. For example:

  web: java -Dserver.port=$PORT -jar target/demo-0.0.1-SNAPSHOT.jar
  worker: java -jar target/gs-scheduling-tasks-0.1.0.jar
  release: ./mvnw flyway:migrateProcfile

Celery requires Redis to work. You can use our Managed Redis service to launch Redis instances.

Additional Packages

We support multiple Buildpack Builders, depending on which Builder you chose there are different packages pre-installed. You can use additional Buildpacks, like the FFmpeg Buildpack to install a specific package. In general, all Builders that are supported by Nodion are based on Ubuntu. That means you can also install any package by adding a Buildpack called apt and creating an Aptfile to provide a list of packages.

Connecting to a Database

You can create PostgreSQL or MariaDB instances with our Managed Database service and attach them directly to your application. Database credentials can be added through Environment Variables.