# 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: ```text /home/zaine/master-folder/org-platform/org_backend/target/org-backend.jar ``` Runtime configuration is loaded by systemd from: ```text /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.