The FinkiOpenDesk backend is a Spring Boot 3 application built with Java 21. It connects to a PostgreSQL database, runs Flyway migrations on startup, and exposes a REST API on port 8080. You can run it locally with Maven for development or package it as a Docker image for production.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Daniel-Stojanovski/finkiopendesk/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure you have the following installed:- Java 21 — the runtime version specified in
pom.xml - Docker — required to build and run the container image
- PostgreSQL — a running database instance accessible via a connection string
- A SendGrid account with an API key, used for sending account activation emails
All required environment variable names are documented in the environment variables reference.
Running locally with Maven
Set environment variables
Create a
.env file in the finkiopendesk-be/ directory. Spring Boot will pick it up automatically via the spring.config.import=optional:file:./.env setting in application.properties..env
Building and running with Docker
The repository includes aDockerfile in finkiopendesk-be/. It uses a multi-step approach: builds the fat JAR with the Maven wrapper inside the container, then runs it with the Eclipse Temurin JDK 21 runtime.
Dockerfile
dockerfile
Build the image
Run this command from inside the The Maven wrapper downloads dependencies and compiles the project during the build. Tests are skipped with
finkiopendesk-be/ directory:-DskipTests to keep build times short.When connecting to a PostgreSQL instance running on the host machine from inside Docker, use
host.docker.internal instead of localhost in the DB_URL.Production deployment on Render
The live backend is deployed on Render as a Docker service. Render pulls the repository, builds the image using theDockerfile, and injects environment variables through its dashboard.
Key settings for the Render service:
| Setting | Value |
|---|---|
| Environment | Docker |
| Port | 8080 |
| Health check path | / |