Files
ToNav-go/Dockerfile
openclaw 0fe26c464f feat: 添加 Docker 支持和完善文档
- 添加 Dockerfile (多阶段构建, alpine 运行时, 14MB 镜像)
- 添加 docker-compose.yml
- 添加 .dockerignore
- README 添加 Docker 部署说明、二进制部署说明
- Docker 镜像: ouaone/tonav-go:v1.0.0
2026-02-14 05:24:35 +08:00

40 lines
820 B
Docker

# 构建阶段
FROM golang:1.24-alpine AS builder
RUN apk add --no-cache gcc musl-dev sqlite-dev
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=1 go build -ldflags "-s -w" -o tonav-go .
# 运行阶段
FROM alpine:3.21
RUN apk add --no-cache sqlite-libs tzdata ca-certificates
WORKDIR /app
COPY --from=builder /app/tonav-go .
COPY --from=builder /app/templates/ ./templates/
COPY --from=builder /app/tonav-go-ctl.sh .
RUN chmod +x tonav-go tonav-go-ctl.sh && \
mkdir -p backups
ENV TZ=Asia/Shanghai
ENV TONAV_PORT=9520
ENV TONAV_DB=/app/data/tonav.db
ENV TONAV_SECRET=change-me-in-production
EXPOSE 9520
VOLUME ["/app/data", "/app/backups"]
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s \
CMD wget -qO- http://localhost:9520/ || exit 1
CMD ["./tonav-go"]