Deployment
How Septimius services are deployed and managed.
Environments
| Environment | Frontend | Backend | Database |
|---|---|---|---|
| Production | app.septimius.io (Vercel) | api.septimius.io (Fly.io) | Supabase (eu-west-1) |
| Staging | staging.septimius.io (Vercel) | api-staging.septimius.io (Fly.io) | Supabase staging |
| Local | localhost:3000 (Next.js dev) | localhost:8000 (Uvicorn) | Local or remote Supabase |
Frontend (Vercel)
The Next.js frontend auto-deploys on push to main. Preview deploys are created
for every pull request.
cd frontend && npm install && npm run dev
npm run typecheck
npm run buildEnvironment Variables
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anon key (public) |
NEXT_PUBLIC_API_URL | Backend API base URL |
Backend (Fly.io)
The FastAPI backend runs on Fly.io with auto-scaling. Deployments are triggered
via GitHub Actions on push to main.
cd backend && python -m uvicorn app.main:app --reload --port 8000
python -m pytest tests/ --ignore=tests/integration -v --tb=shortHealth Check
GET /api/healthReturns 200 OK with service version and uptime.
Design System Monorepo
The @septimius-technology-group/* packages are published from the design system
monorepo. Changes to tokens, components, or icons follow this workflow:
cd design-system
npm install
npm run build # Builds all packages
npm run test # Runs component tests
npm run changeset # Creates a changeset for versioningPackages are published to the npm registry via GitHub Actions when changesets
are merged to main.
Database (Supabase)
Septimius shares the Kennis OS Supabase project for cross-product data. Migrations are managed alongside the Kennis OS database:
supabase db push
supabase migration new description_of_changeMigration Rules
- Every
CREATE TABLEincludesALTER TABLE ... ENABLE ROW LEVEL SECURITYin the same file - Every migration includes rollback SQL as a comment block
- All tenant-scoped tables include an
organisation_idcolumn
CI/CD Pipeline
| Workflow | Trigger | What It Does |
|---|---|---|
ci.yml | Push to any branch | Lint, type check, unit tests |
design-system-ci.yml | Push to design-system/ | Token build, component tests, visual regression |
architecture-checks.yml | Push to main | Assembler exclusivity, RLS verification |
Wiki Docs
The documentation wiki at docs.septimius.io is a Nextra static site deployed
from wiki/sites/septimius/ in the kennis_os repo. Changes to wiki content
auto-deploy via Vercel on push to main.