33 lines
965 B
Docker
33 lines
965 B
Docker
FROM golang:alpine AS build
|
|
|
|
RUN apk add --update git make build-base npm && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
WORKDIR /src/AdGuardHome
|
|
COPY . /src/AdGuardHome
|
|
RUN make
|
|
|
|
FROM alpine:latest
|
|
LABEL maintainer="AdGuard Team <devteam@adguard.com>"
|
|
|
|
# Update CA certs
|
|
RUN apk --no-cache --update add ca-certificates libcap && \
|
|
rm -rf /var/cache/apk/* && \
|
|
mkdir -p /opt/adguardhome/conf /opt/adguardhome/work && \
|
|
chown -R nobody: /opt/adguardhome
|
|
|
|
COPY --from=build --chown=nobody:nogroup /src/AdGuardHome/AdGuardHome /opt/adguardhome/AdGuardHome
|
|
|
|
RUN setcap 'cap_net_bind_service=+eip' /opt/adguardhome/AdGuardHome
|
|
|
|
EXPOSE 53/tcp 53/udp 67/tcp 67/udp 68/tcp 68/udp 80/tcp 443/tcp 853/tcp 853/udp 3000/tcp
|
|
|
|
VOLUME ["/opt/adguardhome/conf", "/opt/adguardhome/work"]
|
|
|
|
WORKDIR /opt/adguardhome/work
|
|
|
|
#USER nobody
|
|
|
|
ENTRYPOINT ["/opt/adguardhome/AdGuardHome"]
|
|
CMD ["-c", "/opt/adguardhome/conf/AdGuardHome.yaml", "-w", "/opt/adguardhome/work", "--no-check-update"]
|