diff --git a/Dockerfile b/Dockerfile index 4e394bfe6f534..3db023ca3bac9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ RUN apk --no-cache add \ s6 \ curl \ openssh \ + gettext \ tzdata RUN addgroup \ -S -g 1000 \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index f76a2663d2fc2..5c6746d58483b 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -14,6 +14,7 @@ RUN apk --no-cache add \ s6 \ curl \ openssh \ + gettext \ tzdata RUN addgroup \ -S -g 1000 \ diff --git a/Dockerfile.rpi b/Dockerfile.rpi index 12874f7deff0f..17ff4430e5859 100644 --- a/Dockerfile.rpi +++ b/Dockerfile.rpi @@ -14,6 +14,7 @@ RUN apk --no-cache add \ s6 \ curl \ openssh \ + gettext \ tzdata RUN addgroup \ -S -g 1000 \ diff --git a/docker/etc/s6/gitea/setup b/docker/etc/s6/gitea/setup index 27ca49db307aa..30884bc411715 100755 --- a/docker/etc/s6/gitea/setup +++ b/docker/etc/s6/gitea/setup @@ -12,7 +12,29 @@ fi if [ ! -f /data/gitea/conf/app.ini ]; then mkdir -p /data/gitea/conf - cp /etc/templates/app.ini /data/gitea/conf/app.ini + + # 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 + + # Substitude the environment variables in the template + APP_NAME=${APP_NAME:-"Gitea: Git with a cup of tea"} \ + APP_MODE=${APP_MODE:-"dev"} \ + SSH_DOMAIN=${SSH_DOMAIN:-"localhost"} \ + HTTP_PORT=${HTTP_PORT:-"3000"} \ + ROOT_URL=${ROOT_URL:-""} \ + DISABLE_SSH=${DISABLE_SSH:-"false"} \ + SSH_PORT=${SSH_PORT:-"22"} \ + 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"} \ + SECRET_KEY=${SECRET_KEY:-""} \ + envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini fi chown -R git:git /data/gitea /app/gitea /data/git diff --git a/docker/etc/templates/app.ini b/docker/etc/templates/app.ini index 0987941519965..0dcf41be1481e 100644 --- a/docker/etc/templates/app.ini +++ b/docker/etc/templates/app.ini @@ -1,4 +1,6 @@ [repository] +APP_NAME = $APP_NAME +APP_MODE = $APP_MODE ROOT = /data/git/repositories [repository.upload] @@ -6,10 +8,19 @@ TEMP_PATH = /data/gitea/uploads [server] APP_DATA_PATH = /data/gitea +SSH_DOMAIN = $SSH_DOMAIN +HTTP_PORT = $HTTP_PORT +ROOT_URL = $ROOT_URL +DISABLE_SSH = $DISABLE_SSH +SSH_PORT = $SSH_PORT [database] -DB_TYPE = sqlite3 PATH = /data/gitea/gitea.db +DB_TYPE = $DB_TYPE +HOST = $DB_HOST +NAME = $DB_NAME +USER = $DB_USER +PASSWD = $DB_PASSWD [session] PROVIDER_CONFIG = /data/gitea/sessions @@ -22,3 +33,7 @@ PATH = /data/gitea/attachments [log] ROOT_PATH = /data/gitea/log + +[security] +INSTALL_LOCK = $INSTALL_LOCK +SECRET_KEY = $SECRET_KEY