Files
wxapp-guantong/backend/Dockerfile
T
2026-09-22 22:51:19 +08:00

49 lines
1.1 KiB
Docker

ARG DOCKER_REGISTRY=docker.m.daocloud.io
ARG ALPINE_MIRROR=mirrors.aliyun.com
ARG GOPROXY=https://goproxy.cn,direct
ARG GOSUMDB=sum.golang.google.cn
FROM ${DOCKER_REGISTRY}/library/golang:1.26-alpine AS build
ARG ALPINE_MIRROR
ARG GOPROXY
ARG GOSUMDB
ARG TARGETOS=linux
ARG TARGETARCH=amd64
ENV GOPROXY=${GOPROXY}
ENV GOSUMDB=${GOSUMDB}
WORKDIR /src
RUN sed -i "s/dl-cdn.alpinelinux.org/${ALPINE_MIRROR}/g" /etc/apk/repositories \
&& apk add --no-cache ca-certificates
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o /out/smilefirst ./cmd/smilefirst
FROM ${DOCKER_REGISTRY}/library/alpine:3.22
ARG ALPINE_MIRROR
WORKDIR /app
RUN sed -i "s/dl-cdn.alpinelinux.org/${ALPINE_MIRROR}/g" /etc/apk/repositories \
&& apk add --no-cache ca-certificates tzdata
COPY --from=build /out/smilefirst /app/smilefirst
COPY migrations /app/migrations
ENV GUAHAO_ADDR=:9800
ENV GUAHAO_DB_PATH=/data/smilefirst.db
ENV GUAHAO_UPLOAD_DIR=/data/uploads
ENV GUAHAO_SCHEMA_PATH=/app/migrations/schema.sql
ENV GUAHAO_LOG_LEVEL=info
ENV TZ=Asia/Shanghai
VOLUME ["/data"]
EXPOSE 9800
CMD ["/app/smilefirst", "serve"]