2022-07-23 15:54:02 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
# Export shared variables.
|
|
|
|
export GITEA_WORK_DIR=/var/lib/gitea
|
|
|
|
|
|
|
|
# Create configuration file from collected templates.
|
|
|
|
envsubst < /etc/gitea/config.ini.template > /etc/gitea/config.ini
|
|
|
|
|
|
|
|
# Create data directories and correct permissions for data files.
|
|
|
|
install --owner git --group git --mode 700 --directory /var/lib/gitea
|
|
|
|
chown -R git:git /etc/gitea
|
|
|
|
|
|
|
|
# Initialize default condiguration if needed.
|
|
|
|
if ! test -f /var/lib/gitea/gitea.db; then
|
|
|
|
# Set up database.
|
|
|
|
gosu git /usr/bin/gitea -c /etc/gitea/config.ini migrate
|
|
|
|
|
2022-09-19 13:57:11 +00:00
|
|
|
# Set up LDAP authentication via local service.
|
2022-09-25 12:36:31 +00:00
|
|
|
gosu git /usr/bin/gitea -c /etc/gitea/config.ini admin auth add-ldap \
|
|
|
|
--name "LDAP" --host "${GITEA_AUTH_LDAP_HOST}" --port "${GITEA_AUTH_LDAP_PORT}" \
|
|
|
|
--synchronize-users --security-protocol unencrypted \
|
|
|
|
--bind-dn "uid=${GITEA_AUTH_LDAP_BIND_UID},ou=people,dc=ldap,dc=local" --bind-password "${GITEA_AUTH_LDAP_BIND_PASSWORD}" \
|
|
|
|
--user-search-base "ou=people,dc=ldap,dc=local" --user-filter "(&(memberof=cn=gitea_user,ou=groups,dc=ldap,dc=local)(|(uid=%[1]s)(mail=%[1]s)))" \
|
|
|
|
--admin-filter "(memberof=cn=gitea_admin,ou=groups,dc=ldap,dc=local)" \
|
|
|
|
--username-attribute "uid" --email-attribute "mail" \
|
|
|
|
--firstname-attribute "givenName" --surname-attribute "sn" --avatar-attribute "jpegPhoto"
|
2022-07-23 15:54:02 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Run entrypoint under specific user.
|
|
|
|
gosu git /usr/bin/gitea -c /etc/gitea/config.ini web "$@"
|