FROM golang:1.24-alpine

WORKDIR /app

ENV GOPROXY=https://goproxy.cn,direct

COPY go.mod go.sum ./
RUN go mod download
COPY main.go ./
COPY internal ./internal
COPY manifest ./manifest

RUN sed -i 's|https://dl-cdn.alpinelinux.org|https://mirrors.aliyun.com|g' /etc/apk/repositories && \
    apk add --no-cache sqlite

RUN go build -o server .
RUN mkdir -p /app/data /app/logs

ENV GF_GCFG_FILE=/app/manifest/config/config.yaml
ENV BAFFLE_ADDR=:8080
ENV BAFFLE_SQLITE_PATH=/app/data/onelink_mock.db

EXPOSE 8080

CMD ["./server"]
