services/templates/woodpecker/Dockerfile.gotmpl

28 lines
1 KiB
Docker
Raw Normal View History

# syntax=docker/dockerfile:1
FROM alpine:3.18
WORKDIR /tmp
RUN --mount=type=bind,source=.,target=/packages \
apk update --no-cache && apk add --no-cache \
bash \
ca-certificates \
&& addgroup -g {{ .FlowGID }} flow \
&& adduser -S -H -D -s /bin/bash -u {{ .Woodpecker.LinuxUID }} -G flow workflow \
&& mkdir -p {{ .Woodpecker.DataContainerDirectory }} /flow/woodpecker/tmp \
&& chown {{ .Woodpecker.LinuxUID }}:{{ .Woodpecker.LinuxUID }} {{ .Woodpecker.DataContainerDirectory }} /flow/woodpecker/tmp \
&& chmod 0700 {{ .Woodpecker.DataContainerDirectory }} /flow/woodpecker/tmp \
&& tar xzvf /packages/woodpecker-server-{{ .Woodpecker.Version }}_linux_amd64.tar.gz \
&& mv /tmp/woodpecker-server /usr/local/bin/woodpecker-server \
&& cp /packages/entrypoint.sh /usr/local/bin/entrypoint \
&& chmod a+x /usr/local/bin/entrypoint \
&& rm -rf /tmp/*
ENV GODEBUG=netdns=go
USER {{ .Woodpecker.LinuxUID }}:{{ .FlowGID }}
WORKDIR /
ENTRYPOINT ["woodpecker-server"]