# 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/projects/java_projects/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. Protected API routes require the shared API key from `ORG_BACKEND_API_KEY`. Clients send it as: ```text X-Org-Api-Key: ``` 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.