diff --git a/Dockerfile b/Dockerfile index cc9ec311be59..ea80c0c1b448 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,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 9f91ae90b63f..1b0c79b90f97 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -12,6 +12,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 8ecfd19a1e50..519b21cc1481 100644 --- a/Dockerfile.rpi +++ b/Dockerfile.rpi @@ -13,6 +13,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 27ca49db307a..30884bc41171 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 098794151996..0dcf41be1481 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