medium.rip/Dockerfile
Sphericalkat 2eacfa702a feat: deploy via fly.io
Signed-off-by: Sphericalkat <amolele@gmail.com>
2023-05-28 19:11:31 +05:30

23 lines
631 B
Docker

# frontend
FROM node:16-slim as frontend
RUN corepack enable
RUN corepack prepare pnpm@latest --activate
WORKDIR /app
COPY frontend/package.json frontend/pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
COPY frontend/ ./
RUN pnpm build
# backend
FROM golang:1.20-alpine as backend
WORKDIR /app
COPY . .
RUN rm -rf frontend
COPY --from=frontend /app/ ./frontend
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags='-w -s -extldflags "-static"' -a -o medium
# final
FROM debian:bullseye-slim
RUN apt-get update && apt-get install -y ca-certificates
COPY --from=backend /app/medium /usr/local/bin/medium
CMD [ "medium" ]