- Add Caddyfile with automatic HTTPS configuration - Add Dockerfile.caddy for frontend build with Caddy - Update docker-compose.yml to use Caddy service - Update DEPLOY.md with simplified deployment instructions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
33 lines
752 B
Docker
33 lines
752 B
Docker
FROM node:20-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
RUN npm install -g pnpm
|
|
|
|
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml ./
|
|
COPY packages/shared ./packages/shared
|
|
COPY packages/client-screen ./packages/client-screen
|
|
COPY packages/client-mobile ./packages/client-mobile
|
|
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
WORKDIR /app/packages/shared
|
|
RUN pnpm build
|
|
|
|
WORKDIR /app/packages/client-screen
|
|
RUN pnpm build
|
|
|
|
WORKDIR /app/packages/client-mobile
|
|
RUN pnpm build
|
|
|
|
# Production stage - Caddy
|
|
FROM caddy:2-alpine
|
|
|
|
COPY --from=builder /app/packages/client-screen/dist /srv/screen
|
|
COPY --from=builder /app/packages/client-mobile/dist /srv/mobile
|
|
COPY deploy/Caddyfile /etc/caddy/Caddyfile
|
|
|
|
EXPOSE 80 443
|
|
|
|
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"]
|