feat: add CI/CD pipeline, production Dockerfile, and deployment architecture

- Add production Dockerfile with bun build --compile, multi-stage Alpine build
- Add .dockerignore
- Swap bcrypt -> bcryptjs (pure JS, no native addons)
- Add programmatic migrations on startup via drizzle migrator
- Add /v1/version endpoint with APP_VERSION baked in at build time
- Add .gitea/workflows/ci.yml (lint + test with postgres/valkey services)
- Add .gitea/workflows/build.yml (version bump, build, push to registry)
- Update CLAUDE.md and docs/architecture.md to remove multi-tenancy
- Add docs/deployment.md covering DOKS + ArgoCD architecture

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ryan Moon
2026-04-01 19:50:37 -05:00
parent ffef4c8727
commit c2b1073fef
15 changed files with 419 additions and 26 deletions

View File

@@ -23,7 +23,8 @@
"@fastify/multipart": "^9.4.0",
"@fastify/rate-limit": "^10.3.0",
"@lunarfront/shared": "workspace:*",
"bcrypt": "^6",
"@types/bcryptjs": "^3.0.0",
"bcryptjs": "^3.0.3",
"drizzle-orm": "^0.38",
"fastify": "^5",
"fastify-plugin": "^5",
@@ -32,10 +33,9 @@
"zod": "^4"
},
"devDependencies": {
"typescript": "^5",
"@types/node": "^22",
"drizzle-kit": "^0.30",
"pino-pretty": "^13",
"@types/node": "^22",
"@types/bcrypt": "^5"
"typescript": "^5"
}
}