mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:41:09 +02:00
feat(infra): add docker-compose for new Hono services + DB init
- Add mana-user (3062), mana-subscriptions (3063), mana-analytics (3064) to docker-compose with health checks and traefik labels - Replace old NestJS Tier 3 app backends (~300 lines) with comment placeholder for Hono compute servers (need shared Dockerfile) - Create docker/Dockerfile.hono-server — shared Bun Dockerfile for all 14 app compute servers (ARG APP for build context) - Add 5 new databases to setup-databases.sh: mana_auth, mana_credits, mana_user, mana_subscriptions, mana_analytics, mana_sync Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5e05c532a2
commit
18fae3b66d
3 changed files with 124 additions and 303 deletions
28
docker/Dockerfile.hono-server
Normal file
28
docker/Dockerfile.hono-server
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Shared Dockerfile for all Hono + Bun compute servers
|
||||
# Usage: docker build --build-arg APP=chat -f docker/Dockerfile.hono-server .
|
||||
|
||||
ARG APP
|
||||
|
||||
FROM oven/bun:1 AS production
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy shared packages first (for workspace resolution)
|
||||
COPY packages/shared-hono/package.json packages/shared-hono/
|
||||
COPY packages/shared-hono/src packages/shared-hono/src
|
||||
COPY packages/shared-storage/package.json packages/shared-storage/ 2>/dev/null || true
|
||||
COPY packages/shared-storage/src packages/shared-storage/src 2>/dev/null || true
|
||||
|
||||
# Copy app server
|
||||
COPY apps/${APP}/apps/server/package.json apps/${APP}/apps/server/
|
||||
COPY apps/${APP}/apps/server/src apps/${APP}/apps/server/src
|
||||
COPY apps/${APP}/apps/server/tsconfig.json apps/${APP}/apps/server/
|
||||
|
||||
WORKDIR /app/apps/${APP}/apps/server
|
||||
|
||||
RUN bun install 2>/dev/null || true
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
||||
CMD bun -e "const p=process.env.PORT||3000;fetch('http://127.0.0.1:'+p+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
||||
|
||||
CMD ["bun", "run", "src/index.ts"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue