File size: 1,091 Bytes
c3a1b3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
FROM golang:1.22-alpine AS builder
RUN go env -w GO111MODULE=auto \
  && go env -w CGO_ENABLED=0
#  && go env -w GOPROXY=https://goproxy.cn,direct

WORKDIR /build

COPY ./ .

RUN set -ex \
    && cd /build \
    && go build -ldflags "-s -w -extldflags '-static'" -o gh-proxy

FROM alpine:latest

COPY docker-entrypoint.sh /docker-entrypoint.sh

RUN chmod +x /docker-entrypoint.sh && \
    apk add --no-cache --update \
      coreutils \
      shadow \
      su-exec \
      tzdata && \
    rm -rf /var/cache/apk/* && \
    mkdir -p /app && \
    mkdir -p /config && \
    useradd -d /config -s /bin/sh abc && \
    chown -R abc /config

ENV TZ="Asia/Shanghai"
ENV UID=99
ENV GID=100
ENV UMASK=002
ENV WHITE_LIST=""
ENV BLACK_LIST="\"example3\",\"example4\""
ENV ALLOW_PROXY_ALL="false"
ENV OTHER_WHITE_LIST=""
ENV OTHER_BLACK_LIST="\"example3\",\"example4\""
ENV HTTP_HOST=""
ENV HTTP_PORT="8080"
ENV SIZE_LIMIT="10737418240"

COPY --from=builder /build/gh-proxy /app/
COPY --from=builder /build/config.json.dist /app/

WORKDIR /app

VOLUME [ "/app" ]

ENTRYPOINT [ "/docker-entrypoint.sh" ]