summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorTao Wang <twang2218@gmail.com>2017-10-31 19:55:46 +1100
committerLunny Xiao <xiaolunwen@gmail.com>2017-10-31 16:55:46 +0800
commitd545e32b5623b12ed2c4405be2484ffdfa9432e5 (patch)
tree127e32dc2a822dd29f5934dbbf7164b40637445e /docker
parentb0b24a2dbb8bca7e99e432d383716d6d811b7981 (diff)
downloadgitea-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-xdocker/etc/s6/gitea/setup24
-rw-r--r--docker/etc/templates/app.ini17
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