diff options
author | Tao Wang <twang2218@gmail.com> | 2017-10-31 19:55:46 +1100 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-10-31 16:55:46 +0800 |
commit | d545e32b5623b12ed2c4405be2484ffdfa9432e5 (patch) | |
tree | 127e32dc2a822dd29f5934dbbf7164b40637445e /docker | |
parent | b0b24a2dbb8bca7e99e432d383716d6d811b7981 (diff) | |
download | gitea-d545e32b5623b12ed2c4405be2484ffdfa9432e5.tar.gz gitea-d545e32b5623b12ed2c4405be2484ffdfa9432e5.zip |
Add environment variable support for Docker image (#2201)
* Add `gettext` dependencies as we need `envsubst` command;
* Modified s6's gitea setup script, instead of `cp` the template if no
`app.ini` exist, it will substitude the envvars and generate the new
`app.ini`;
* Make `/docker/etc/templates/app.ini` a template contains environment
variables;
Signed-off-by: Tao Wang <twang2218@gmail.com>
Diffstat (limited to 'docker')
-rwxr-xr-x | docker/etc/s6/gitea/setup | 24 | ||||
-rw-r--r-- | docker/etc/templates/app.ini | 17 |
2 files changed, 39 insertions, 2 deletions
diff --git a/docker/etc/s6/gitea/setup b/docker/etc/s6/gitea/setup index 27ca49db30..30884bc411 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 0987941519..0dcf41be14 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 |