Dockerfile on oven/bun:1.3 with ffmpeg, git, unzip and python3-pymupdf, a production install, non-root user, /data volume and a health check; docker-compose.yml (project stc) with an optional postgres:17 profile and read-only course and import mounts; docs/operations.md with configuration, mounts, security headers and the measured idle memory (101.4 MiB for app plus Postgres after 5 minutes idle). Co-Authored-By: Claude Opus 5.5 <[email protected]>
20 lines
838 B
Markdown
20 lines
838 B
Markdown
# STCourses
|
|
|
|
STCourses is a self-hosted course platform. Homelabbers, universities and companies host their own courses, plus material they already own such as Packt video packages or Pluralsight slide PDFs, in one place that tracks progress. Authors write in Markdown in a git repo or in a browser studio; both edit the same files. Each install has one owner and is not multi-tenant.
|
|
|
|
## Development
|
|
|
|
```
|
|
bun install # install workspace dependencies
|
|
bun test # run all tests
|
|
bun run typecheck # tsc --noEmit
|
|
bun run dev # start the server with hot reload
|
|
```
|
|
|
|
## Running it
|
|
|
|
`STC_SECRET=... docker compose up -d` (add `--profile postgres` and `STC_DATABASE_URL` for Postgres). Mounts,
|
|
configuration and the measured memory budget are in [docs/operations.md](docs/operations.md).
|
|
|
|
License: AGPL-3.0-only.
|