45 lines
1.5 KiB
Docker
45 lines
1.5 KiB
Docker
|
# This is a custom made Dockerfile for Gitea which is inspired from
|
||
|
# the official Dockerfile.rootless from https://github.com/go-gitea/gitea/
|
||
|
FROM alpine:3.17
|
||
|
|
||
|
ENV FORGEJO_WORK_DIR=${FORGEJO_WORK_DIR} \
|
||
|
FORGEJO_CUSTOM=${FORGEJO_CUSTOM} \
|
||
|
FORGEJO_APP_INI=${FORGEJO_APP_INI} \
|
||
|
FORGEJO_BIN=${FORGEJO_BIN} \
|
||
|
FORGEJO_VERSION=${FORGEJO_VERSION} \
|
||
|
HOME=${FORGEJO_HOME}
|
||
|
|
||
|
RUN apk update && apk upgrade && apk --no-cache add \
|
||
|
bash \
|
||
|
ca-certificates \
|
||
|
gettext \
|
||
|
git \
|
||
|
curl \
|
||
|
gnupg \
|
||
|
openssh-keygen \
|
||
|
&& addgroup -S -g ${FLOW_GID} flow \
|
||
|
&& adduser -S -H -D -h ${FORGEJO_HOME} -s /bin/bash -u ${FORGEJO_FLOW_UID} -G flow git \
|
||
|
&& mkdir -p ${FORGEJO_DATA_CONTAINER_DIR} ${FORGEJO_TMP} \
|
||
|
&& chown git ${FORGEJO_DATA_CONTAINER_DIR} && chmod 0700 ${FORGEJO_DATA_CONTAINER_DIR} \
|
||
|
&& chown git ${FORGEJO_TMP} && chmod 0700 ${FORGEJO_TMP}
|
||
|
|
||
|
ADD --chown=root:root forgejo-${FORGEJO_VERSION}-linux-amd64 ${FORGEJO_BIN}
|
||
|
ADD app.ini ${FORGEJO_APP_INI}
|
||
|
ADD entrypoint.sh /usr/local/bin/entrypoint.sh
|
||
|
ADD --chown=${FORGEJO_FLOW_UID}:${FLOW_GID} dynamic_git.yaml ${FORGEJO_TMP}/
|
||
|
|
||
|
RUN chown -R ${FORGEJO_FLOW_UID}:${FORGEJO_FLOW_UID} ${FORGEJO_APP_INI} \
|
||
|
&& chmod 0400 ${FORGEJO_APP_INI} \
|
||
|
&& chmod a+x ${FORGEJO_BIN} \
|
||
|
&& chmod a+rx /usr/local/bin/entrypoint.sh
|
||
|
|
||
|
USER ${FORGEJO_FLOW_UID}:${FLOW_GID}
|
||
|
|
||
|
WORKDIR /flow/gitea/data
|
||
|
|
||
|
VOLUME ["/flow/gitea/data"]
|
||
|
|
||
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||
|
|
||
|
CMD []
|