services/templates/gitea/Dockerfile

44 lines
1.3 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.16
RUN apk --no-cache add \
bash \
ca-certificates \
gettext \
git \
curl \
gnupg \
openssh-keygen
RUN addgroup -S -g ${FLOW_GID} flow && \
adduser -S -H -D -h ${GITEA_HOME} -s /bin/bash -u ${GITEA_FLOW_UID} -G flow git && \
mkdir -p ${GITEA_DATA_CONTAINER_DIR} ${GITEA_TMP} && \
chown git ${GITEA_DATA_CONTAINER_DIR} && chmod 0700 ${GITEA_DATA_CONTAINER_DIR} && \
chown git ${GITEA_TMP} && chmod 0700 ${GITEA_TMP}
ADD --chown=root:root gitea ${GITEA_BIN}
ADD app.ini ${GITEA_APP_INI}
ADD entrypoint.sh /usr/local/bin/entrypoint.sh
ADD --chown=${GITEA_FLOW_UID}:${FLOW_GID} dynamic_git.yaml ${GITEA_TMP}/
RUN chown -R ${GITEA_FLOW_UID}:${GITEA_FLOW_UID} ${GITEA_APP_INI} && \
chmod 0400 ${GITEA_APP_INI} && \
chmod a+x ${GITEA_BIN} && \
chmod a+rx /usr/local/bin/entrypoint.sh
ENV GITEA_WORK_DIR=${GITEA_WORK_DIR} \
GITEA_CUSTOM=${GITEA_CUSTOM} \
GITEA_APP_INI=${GITEA_APP_INI} \
GITEA_BIN=${GITEA_BIN} \
HOME=${GITEA_HOME}
USER ${GITEA_FLOW_UID}:${FLOW_GID}
WORKDIR /flow/gitea/data
VOLUME ["/flow/gitea/data"]
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD []