2023-02-12 20:59:55 +00:00
|
|
|
# This is a custom made Dockerfile for Gitea which is inspired from
|
|
|
|
# the official Dockerfile.rootless from https://github.com/go-gitea/gitea/
|
2023-07-25 12:37:23 +01:00
|
|
|
|
|
|
|
# syntax=docker/dockerfile:1
|
2024-05-22 20:20:42 +01:00
|
|
|
FROM alpine:3.20
|
2023-02-12 20:59:55 +00:00
|
|
|
|
2023-08-21 22:01:43 +01:00
|
|
|
ENV FORGEJO_CUSTOM={{ .Forgejo.Custom }} \
|
2023-02-12 20:59:55 +00:00
|
|
|
FORGEJO_APP_INI={{ .Forgejo.AppIni }} \
|
|
|
|
FORGEJO_BIN={{ .Forgejo.Bin }} \
|
|
|
|
FORGEJO_VERSION={{ .Forgejo.Version }} \
|
|
|
|
HOME={{ .Forgejo.Home }}
|
|
|
|
|
2023-07-30 18:55:38 +01:00
|
|
|
RUN --mount=type=bind,source=.,target=/packages \
|
|
|
|
apk update && apk upgrade && apk --no-cache add \
|
2023-05-22 07:44:03 +01:00
|
|
|
asciidoctor \
|
2023-02-12 20:59:55 +00:00
|
|
|
bash \
|
|
|
|
ca-certificates \
|
|
|
|
gettext \
|
|
|
|
git \
|
|
|
|
curl \
|
|
|
|
gnupg \
|
|
|
|
&& addgroup -S -g {{ .FlowGID }} flow \
|
|
|
|
&& adduser -S -H -D -h {{ .Forgejo.Home }} -s /bin/bash -u {{ .Forgejo.LinuxUID }} -G flow git \
|
2023-07-30 18:55:38 +01:00
|
|
|
&& mkdir -p {{ .Forgejo.DataContainerDirectory }} {{ .Forgejo.Tmp }} /flow/gitea/config \
|
2023-02-12 20:59:55 +00:00
|
|
|
&& chown git {{ .Forgejo.DataContainerDirectory }} && chmod 0700 {{ .Forgejo.DataContainerDirectory }} \
|
2023-07-30 18:55:38 +01:00
|
|
|
&& chown git {{ .Forgejo.Tmp }} && chmod 0700 {{ .Forgejo.Tmp }} \
|
|
|
|
&& chown git /flow/gitea/config && chmod 0700 /flow/gitea/config \
|
|
|
|
&& cp /packages/forgejo-{{ .Forgejo.Version }}-linux-amd64 {{ .Forgejo.Bin }} \
|
2023-02-12 20:59:55 +00:00
|
|
|
&& chmod a+x {{ .Forgejo.Bin }} \
|
2023-07-30 18:55:38 +01:00
|
|
|
&& cp /packages/app.ini {{ .Forgejo.AppIni }} \
|
|
|
|
&& chown {{ .Forgejo.LinuxUID }}:{{ .Forgejo.LinuxUID }} {{ .Forgejo.AppIni }} \
|
|
|
|
&& chmod 0400 {{ .Forgejo.AppIni }} \
|
|
|
|
&& cp /packages/entrypoint.sh /usr/local/bin/entrypoint \
|
2023-08-26 11:48:45 +01:00
|
|
|
&& chmod a+rx /usr/local/bin/entrypoint
|
2023-02-12 20:59:55 +00:00
|
|
|
|
|
|
|
USER {{ .Forgejo.LinuxUID }}:{{ .FlowGID }}
|
|
|
|
|
2023-07-30 18:55:38 +01:00
|
|
|
WORKDIR {{ .Forgejo.Home }}
|
2023-02-12 20:59:55 +00:00
|
|
|
|
2023-07-30 18:55:38 +01:00
|
|
|
VOLUME ["{{ .Forgejo.DataContainerDirectory }}"]
|
2023-02-12 20:59:55 +00:00
|
|
|
|
2023-07-30 18:55:38 +01:00
|
|
|
ENTRYPOINT ["entrypoint"]
|
2023-02-12 20:59:55 +00:00
|
|
|
|
|
|
|
CMD []
|