Files
videoreg.ru/README.md
T
2026-05-17 01:08:19 +03:00

40 lines
1.2 KiB
Markdown

## videoreg.ru
Small video registry using TypeScript, a Next.js web frontend, App Router, FSD-oriented folders, and a primitive file-backed JSON database.
The Next.js app lives under `web-front/`. Ingestion code lives under `ingestion/`.
### Local development
```bash
npm install
npm run dev
```
The app runs on [http://localhost:3000](http://localhost:3000).
### Data storage
By default records are stored in `data/videoreg.json`. Override the path with:
```bash
VIDEOREG_DB_FILE=/absolute/path/videoreg.json npm run dev
```
Reads are intentionally cached aggressively:
- process memory cache for the primitive JSON database;
- Next.js cache tag for dashboard/API reads;
- long HTTP cache headers on the read API.
Writes call `revalidateTag` and update the process cache.
### Deployment
Gitea Actions runs:
- `.gitea/workflows/pr.yml`: quality gate for pull requests into `master`;
- `.gitea/workflows/master.yml`: quality gate, image build, push, and direct Swarm deploy from `master`.
The Swarm stack defaults to one replica on a manager node because the primitive database is a mounted JSON file. Use a real database before raising replicas above one or spreading the service across nodes.