43 lines
1.4 KiB
Markdown
Executable File
43 lines
1.4 KiB
Markdown
Executable File
|
|
# 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.
|