mirror of
https://github.com/lordmathis/lemma.git
synced 2025-11-05 15:44:21 +00:00
33 lines
725 B
Docker
33 lines
725 B
Docker
# Stage 1: Build the frontend
|
|
FROM node:20 AS frontend-builder
|
|
WORKDIR /app
|
|
COPY app/package*.json ./
|
|
RUN npm ci
|
|
COPY app .
|
|
RUN npm run build
|
|
|
|
# Stage 2: Build the backend
|
|
FROM golang:1.23 AS backend-builder
|
|
WORKDIR /app
|
|
RUN apt-get update && apt-get install -y gcc musl-dev
|
|
COPY server/go.mod server/go.sum ./
|
|
RUN go mod download
|
|
COPY server .
|
|
RUN CGO_ENABLED=1 GOOS=linux go build -o lemma ./cmd/server
|
|
|
|
# Stage 3: Final stage
|
|
FROM debian:bookworm-slim
|
|
WORKDIR /app
|
|
COPY --from=backend-builder /app/lemma .
|
|
COPY --from=frontend-builder /app/dist ./dist
|
|
|
|
RUN mkdir -p /app/data
|
|
|
|
# Set default environment variables
|
|
ENV LEMMA_STATIC_PATH=/app/dist
|
|
ENV LEMMA_PORT=8080
|
|
ENV LEMMA_WORKDIR=/app/data
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["./lemma"] |