Skip to content

Onboarding

Getting started as a contributor or operator of the Towlion platform.

Prerequisites

Tool Version Purpose
Git 2.x+ Version control
Docker 24+ Container runtime
Docker Compose v2+ Service orchestration
Python 3.11+ Backend development, validator
Node.js 20+ Frontend development
GitHub CLI (gh) 2.x+ Repository management

New Contributor Checklist

1. Understand the platform

2. Set up a development environment

  • [ ] Fork or clone the app-template repository
  • [ ] Install Python dependencies: pip install -r requirements.txt
  • [ ] Run the app locally: uvicorn app.main:app --reload --port 8000
  • [ ] Verify the health endpoint: curl http://localhost:8000/health

3. Run the spec validator

The platform repo includes a validator that checks apps against the spec:

git clone https://github.com/towlion/platform.git
cd platform
python validator/validate.py /path/to/your-app

All three tiers should pass before deploying.

4. Deploy to a server

  • [ ] Bootstrap a server (Self-Hosting Guide) or get access to the test server
  • [ ] Configure GitHub secrets: SERVER_HOST, SERVER_USER, SERVER_SSH_KEY, APP_DOMAIN
  • [ ] Push to main and verify the deploy workflow succeeds
  • [ ] Check the app at https://<your-domain>/health

5. Review operational docs

Key Concepts

Concept Description
GitHub as control plane No custom dashboard — repos, Actions, and secrets manage everything
Fork-based self-hosting Fork a repo, configure secrets, push to deploy on your own server
Shared infrastructure PostgreSQL, Redis, MinIO, Caddy run once and serve all apps
Per-app isolation Each app gets its own database, storage bucket, and container
Spec conformance All apps follow the same contract (ports, endpoints, env vars)