45 lines
901 B
Docker
45 lines
901 B
Docker
# Multi-stage Dockerfile for Autumn development
|
|
FROM oven/bun:latest AS base
|
|
|
|
WORKDIR /app
|
|
|
|
# Skip Puppeteer Chromium download to speed up install
|
|
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
|
ENV PUPPETEER_SKIP_DOWNLOAD=true
|
|
|
|
COPY package.json ./
|
|
COPY bun.lock ./
|
|
COPY shared/package*.json ./shared/
|
|
COPY server/package*.json ./server/
|
|
COPY vite/package*.json ./vite/
|
|
|
|
RUN bun install
|
|
|
|
# Stage 1: /localtunnel
|
|
FROM base AS localtunnel
|
|
WORKDIR /app
|
|
COPY localtunnel-start.sh ./
|
|
CMD ["sh", "localtunnel-start.sh"]
|
|
|
|
# Stage 2: /vite
|
|
FROM base AS vite
|
|
COPY shared/ ./shared/
|
|
WORKDIR /app/vite
|
|
COPY vite/ ./
|
|
EXPOSE 3000
|
|
CMD ["bun", "dev"]
|
|
|
|
# Stage 3: /server
|
|
FROM base AS server
|
|
COPY shared/ ./shared/
|
|
COPY server/ ./server/
|
|
WORKDIR /app/server
|
|
EXPOSE 8080
|
|
CMD ["bun", "dev"]
|
|
|
|
# Stage 4: Workers
|
|
FROM base AS workers
|
|
COPY shared/ ./shared/
|
|
COPY server/ ./server/
|
|
WORKDIR /app/server
|
|
CMD ["bun", "workers:dev"] |