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>
This commit is contained in:
		
							parent
							
								
									b0b24a2dbb
								
							
						
					
					
						commit
						d545e32b56
					
				
					 5 changed files with 42 additions and 2 deletions
				
			
		|  | @ -14,6 +14,7 @@ RUN apk --no-cache add \ | |||
|     s6 \ | ||||
|     curl \ | ||||
|     openssh \ | ||||
|     gettext \ | ||||
|     tzdata | ||||
| RUN addgroup \ | ||||
|     -S -g 1000 \ | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ RUN apk --no-cache add \ | |||
|     s6 \ | ||||
|     curl \ | ||||
|     openssh \ | ||||
|     gettext \ | ||||
|     tzdata | ||||
| RUN addgroup \ | ||||
|     -S -g 1000 \ | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ RUN apk --no-cache add \ | |||
|     s6 \ | ||||
|     curl \ | ||||
|     openssh \ | ||||
|     gettext \ | ||||
|     tzdata | ||||
| RUN addgroup \ | ||||
|     -S -g 1000 \ | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue