-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
51 lines (36 loc) · 1.07 KB
/
Dockerfile
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
51
FROM golang:1.24-alpine3.21 AS build
ENV HUGO_VERSION=v0.144.1
RUN apk update && \
apk add --no-cache git gcc g++ musl-dev && \
go install github.com/magefile/mage@latest
WORKDIR /hugo
RUN git clone --branch $HUGO_VERSION https://github.com/gohugoio/hugo.git . &&\
go build -v --tags extended
RUN mage hugo && mage install
WORKDIR /eagle/
COPY ./go.mod ./
COPY ./go.sum ./
RUN go mod download
COPY . /eagle/
RUN go build -o main ./cmd/eagle
FROM alpine:3.21
COPY --from=build /eagle/main /bin/eagle
COPY --from=build /hugo/hugo /bin/hugo
ENV UID=501
RUN apk update && \
apk add --no-cache git ca-certificates openssh tor tzdata mailcap && \
addgroup -g $UID eagle && \
adduser -D -h /app -u 1000 -G users eagle && \
mkdir -p /app/source /app/public /app/data /imgproxy && \
chown -R eagle /app /imgproxy
USER eagle
RUN git config --global user.name "Eagle" && \
git config --global user.email "eagle@eagle" && \
git config --global pull.rebase true
WORKDIR /app
VOLUME /app/source
VOLUME /app/public
VOLUME /app/data
VOLUME /imgproxy
EXPOSE 8080
CMD ["eagle"]