mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-24 11:02:42 +00:00
(cherry picked from commit12d7bc447e) (cherry picked from commit1335b17fc3) (cherry picked from commit0d7da06c47) (cherry picked from commit095c1ab679) (cherry picked from commit2220f00d09) (cherry picked from commitf0be8bbdbf) (cherry picked from commit15188180a1) (cherry picked from commit96c471d7d3) (cherry picked from commit709052f1e7) (cherry picked from commit98cd2f5dee) (cherry picked from commita1014654b1) (cherry picked from commita16f4dc51d) (cherry picked from commitabbed33d16) (cherry picked from commit4871447def) (cherry picked from commitea1218b237) (cherry picked from commit6dd67d60de) (cherry picked from commit71761f04af) (cherry picked from commit89924d07a5) (cherry picked from commitf46d4c3616) (cherry picked from commite764ad3a03) (cherry picked from commite48b72fa38) (cherry picked from commit89bfab17db)
51 lines
1.8 KiB
Bash
Executable file
51 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Prepare git folder
|
|
mkdir -p ${HOME} && chmod 0700 ${HOME}
|
|
if [ ! -w ${HOME} ]; then echo "${HOME} is not writable"; exit 1; fi
|
|
|
|
# Prepare custom folder
|
|
mkdir -p ${GITEA_CUSTOM} && chmod 0700 ${GITEA_CUSTOM}
|
|
|
|
# Prepare temp folder
|
|
mkdir -p ${GITEA_TEMP} && chmod 0700 ${GITEA_TEMP}
|
|
if [ ! -w ${GITEA_TEMP} ]; then echo "${GITEA_TEMP} is not writable"; exit 1; fi
|
|
|
|
#Prepare config file
|
|
if [ ! -f ${GITEA_APP_INI} ]; then
|
|
|
|
#Prepare config file folder
|
|
GITEA_APP_INI_DIR=$(dirname ${GITEA_APP_INI})
|
|
mkdir -p ${GITEA_APP_INI_DIR} && chmod 0700 ${GITEA_APP_INI_DIR}
|
|
if [ ! -w ${GITEA_APP_INI_DIR} ]; then echo "${GITEA_APP_INI_DIR} is not writable"; exit 1; fi
|
|
|
|
# Set INSTALL_LOCK to true only if SECRET_KEY is not empty and
|
|
# INSTALL_LOCK is empty
|
|
if [ -n "$SECRET_KEY" ] && [ -z "$INSTALL_LOCK" ]; then
|
|
INSTALL_LOCK=true
|
|
fi
|
|
|
|
# Substitute the environment variables in the template
|
|
APP_NAME=${APP_NAME:-"Forgejo: Beyond coding. We forge."} \
|
|
RUN_MODE=${RUN_MODE:-"prod"} \
|
|
RUN_USER=${USER:-"git"} \
|
|
SSH_DOMAIN=${SSH_DOMAIN:-"localhost"} \
|
|
HTTP_PORT=${HTTP_PORT:-"3000"} \
|
|
ROOT_URL=${ROOT_URL:-""} \
|
|
DISABLE_SSH=${DISABLE_SSH:-"false"} \
|
|
SSH_PORT=${SSH_PORT:-"2222"} \
|
|
SSH_LISTEN_PORT=${SSH_LISTEN_PORT:-$SSH_PORT} \
|
|
DB_TYPE=${DB_TYPE:-"sqlite3"} \
|
|
DB_HOST=${DB_HOST:-"localhost:3306"} \
|
|
DB_NAME=${DB_NAME:-"gitea"} \
|
|
DB_USER=${DB_USER:-"root"} \
|
|
DB_PASSWD=${DB_PASSWD:-""} \
|
|
INSTALL_LOCK=${INSTALL_LOCK:-"false"} \
|
|
DISABLE_REGISTRATION=${DISABLE_REGISTRATION:-"false"} \
|
|
REQUIRE_SIGNIN_VIEW=${REQUIRE_SIGNIN_VIEW:-"false"} \
|
|
SECRET_KEY=${SECRET_KEY:-""} \
|
|
envsubst < /etc/templates/app.ini > ${GITEA_APP_INI}
|
|
fi
|
|
|
|
# Replace app.ini settings with env variables in the form GITEA__SECTION_NAME__KEY_NAME
|
|
environment-to-ini --config ${GITEA_APP_INI}
|