Introduction
This repository contains the source code and documentation for all of my APIs. It serves as a centralised location for my self-hosted services to use.
Structure
The repository is organised into the following main directories:
Deployment
The main branch build is controlled by .gitea/workflows/build.yml. On a
successful build it packages the Spring Boot jar, installs the project-owned
misc/org-backend.service unit into systemd, reloads systemd, enables the
service, and restarts it.
The service runs the stable build artifact at:
/home/zaine/master-folder/org-platform/org_backend/target/org-backend.jar
Runtime configuration is loaded by systemd from:
/etc/org-backend/org-backend.env
Create that file once on the server with the production values required by the app. The Gitea deploy step verifies that it exists, but it does not create or overwrite it.
Datasource credentials and JWT_SECRET are required environment values; they
are intentionally not stored in the Spring profile files. Start from
misc/org-backend.env.example and keep the populated file outside the
repository. Rotate any credential that was previously committed before using
this version in production.
The live systemd unit at /etc/systemd/system/org-backend.service is managed
as a symlink to misc/org-backend.service, so the project copy is the source of
truth.