happyDomain/Dockerfile

62 lines
1.2 KiB
Docker
Raw Normal View History

2021-05-20 07:56:37 +00:00
FROM node:lts-alpine as nodebuild
2020-10-16 08:08:18 +00:00
WORKDIR /go/src/git.happydns.org/happydns
RUN apk --no-cache add python2 build-base
COPY ui/ ui/
2020-10-16 08:08:18 +00:00
2020-11-08 19:55:31 +00:00
RUN yarn config set network-timeout 100000
RUN yarn --cwd ui install
RUN yarn --cwd ui --offline build
2020-10-16 08:08:18 +00:00
FROM golang:alpine as gobuild
RUN apk add --no-cache go-bindata
WORKDIR /go/src/git.happydns.org/happydns
COPY --from=nodebuild /go/src/git.happydns.org/happydns/ ./
COPY actions ./actions
2020-10-16 08:08:18 +00:00
COPY admin ./admin
COPY api ./api
COPY config ./config
COPY forms ./forms
COPY generators ./generators
COPY internal ./internal
2020-10-16 08:08:18 +00:00
COPY model ./model
2021-05-22 00:10:36 +00:00
COPY providers ./providers
2020-10-16 08:08:18 +00:00
COPY services ./services
COPY storage ./storage
COPY utils ./utils
COPY generate.go go.mod go.sum main.go ./
2020-10-16 08:08:18 +00:00
RUN sed -i '/yarn --offline build/d' ui/assets.go && \
2020-10-16 08:08:18 +00:00
go get -d -v && \
go generate -v && \
go build -v -ldflags '-w'
2020-10-16 08:08:18 +00:00
FROM alpine
EXPOSE 8081
ENTRYPOINT ["/usr/sbin/happydns"]
2020-10-16 08:08:18 +00:00
ENV HAPPYDNS_LEVELDB_PATH=/data/happydns.db
RUN apk add --no-cache \
curl \
jq \
&& \
adduser --system --no-create-home --uid 15353 happydns && \
2021-01-11 13:19:59 +00:00
mkdir /data && chown happydns /data
USER happydns
2021-01-11 13:19:59 +00:00
WORKDIR /data
VOLUME /data
COPY --from=gobuild /go/src/git.happydns.org/happydns/happydns /usr/sbin/happydns
COPY hadmin.sh /usr/bin/hadmin