mirror of
https://github.com/Kugelschieber/schnittfest.git
synced 2026-01-18 10:20:27 +00:00
48 lines
1.5 KiB
Docker
48 lines
1.5 KiB
Docker
FROM golang AS build
|
|
RUN apt-get update && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y curl && \
|
|
curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh && bash nodesource_setup.sh && \
|
|
apt-get install -y nodejs
|
|
WORKDIR /go/src/github.com/Kugelschieber/schnittfest
|
|
ADD . .
|
|
|
|
# build server
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-s -w" /go/src/github.com/Kugelschieber/schnittfest/main.go && \
|
|
mkdir /app && mv /go/src/github.com/Kugelschieber/schnittfest/main /app/server
|
|
|
|
# compile CSS
|
|
RUN cd /go/src/github.com/Kugelschieber/schnittfest/style && bash -c "npm i" && bash -c "npm rebuild node-sass" && bash -c "npm run style"
|
|
|
|
# copy resources
|
|
RUN mv /go/src/github.com/Kugelschieber/schnittfest/template /app/template && \
|
|
mv /go/src/github.com/Kugelschieber/schnittfest/static /app/static
|
|
|
|
FROM alpine
|
|
RUN apk update && \
|
|
apk upgrade && \
|
|
apk add --no-cache && \
|
|
apk add ca-certificates && \
|
|
rm -rf /var/cache/apk/*
|
|
COPY --from=build /app /app
|
|
WORKDIR /app
|
|
|
|
# use root to bind port 80 and 443
|
|
#RUN addgroup -S appuser && \
|
|
# adduser -S -G appuser appuser && \
|
|
# chown -R appuser:appuser /app
|
|
#USER appuser
|
|
|
|
# default config
|
|
ENV SCHNITTFEST_HOST=0.0.0.0:80
|
|
ENV SCHNITTFEST_LOGLEVEL=info
|
|
ENV SCHNITTFEST_ALLOWED_ORIGINS=*
|
|
ENV SCHNITTFEST_HTTP_WRITE_TIMEOUT=5
|
|
ENV SCHNITTFEST_HTTP_READ_TIMEOUT=5
|
|
ENV SCHNITTFEST_DOMAIN_NAME=schnittfest.gmbh,www.schnittfest.gmbh
|
|
|
|
# run
|
|
EXPOSE 80
|
|
EXPOSE 443
|
|
ENTRYPOINT ["/app/server"]
|