You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A demo TypeScript REST API built with Fastify and SQLite, designed to test GitHub Actions workflows for automated version tagging and Docker image publishing to GitHub Container Registry (ghcr.io).
4
+
5
+
## Quick Start
6
+
7
+
### Local Development
8
+
```bash
9
+
# Install dependencies
10
+
npm install
11
+
12
+
# Copy environment variables
13
+
cp .env.example .env
14
+
15
+
# Start development server
16
+
npm run dev # Development at http://localhost:3000
17
+
18
+
# Populate sample data
19
+
npm run seed
20
+
```
21
+
22
+
### Docker
23
+
```bash
24
+
# Using docker-compose
25
+
docker-compose up
26
+
27
+
# Or build and run manually
28
+
docker build -t fastify-crud-app .
29
+
docker run -p 3000:3000 -v $(pwd)/data:/app/data fastify-crud-app
30
+
```
31
+
32
+
Visit http://localhost:3000 for the web UI or http://localhost:3000/docs for API documentation.
33
+
34
+
## GitHub Release Workflow
35
+
36
+
Push to main or manually trigger the workflow to:
37
+
1. Bump version in package.json
38
+
2. Create git tag and GitHub release
39
+
3. Build and publish multi-arch Docker image to ghcr.io
40
+
41
+
```bash
42
+
# Run with docker-compose (includes volume for persistent data)
0 commit comments