feat: 交付官方 Docker 运行时,外观改背景图并下线自定义 CSS/JS

站点/后台分轨背景与用户列表排序一并落地;生产 CORS 改走 SITE_URL,健康检查带版本号。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-18 05:27:33 +08:00
parent 5f7193042f
commit d784b0ea7a
68 changed files with 2588 additions and 768 deletions

32
deploy/Dockerfile.api Normal file
View File

@@ -0,0 +1,32 @@
# 构建上下文:仓库根。不含源码与工具链。
# syntax=docker/dockerfile:1
FROM golang:1.27-bookworm AS build
WORKDIR /src
ENV GOTOOLCHAIN=local
COPY backend/go.mod backend/go.sum ./
RUN go mod download
COPY backend/ ./
ARG VERSION=dev
ARG COMMIT=unknown
RUN CGO_ENABLED=0 GOOS=linux go build \
-trimpath \
-ldflags="-s -w -X github.com/freefire/jiang13-bbs/version.Version=${VERSION} -X github.com/freefire/jiang13-bbs/version.Commit=${COMMIT}" \
-o /out/jiang13 ./cmd/jiang13
FROM alpine:3.21
RUN apk add --no-cache ca-certificates tzdata wget su-exec \
&& adduser -D -H -u 1000 jiang13 \
&& mkdir -p /var/lib/jiang13/data
COPY --from=build /out/jiang13 /usr/local/bin/jiang13
COPY deploy/api-entrypoint.sh /usr/local/bin/api-entrypoint.sh
RUN sed -i 's/\r$//' /usr/local/bin/api-entrypoint.sh && chmod +x /usr/local/bin/api-entrypoint.sh
ENV JIANG13_WORK_PATH=/var/lib/jiang13 \
HTTP_PORT=3001 \
DEV_MODE=false \
TZ=UTC
WORKDIR /var/lib/jiang13
EXPOSE 3001
HEALTHCHECK --interval=10s --timeout=3s --start-period=20s --retries=5 \
CMD wget -qO- http://127.0.0.1:3001/health || exit 1
ENTRYPOINT ["/usr/local/bin/api-entrypoint.sh"]