🔧 Sync template framework updates and fix app.ini config 🔧

Bring all init scripts and support files up to the latest docker
template framework, and fully configure gitea's app.ini for a
performant, open, reverse-proxy-aware deployment.
- rootfs/tmp/etc/gitea/app.ini: add missing sections ([server],
[cache], [queue], [git], [git.timeout], [api], [webhook],
[indexer], [session], [oauth2], [metrics], [repository.release]);
raise MAX_RESPONSE_ITEMS=500; set PROTOCOL=http, HTTP_ADDR=0.0.0.0,
USE_PROXY_PROTOCOL=false; INSTALL_LOCK=false; tune DB/session/security
- rootfs/usr/local/bin/entrypoint.sh: direct template sync — new trap
style, SSL_CA fix, ENTRYPOINT_PID_FILE path, mapfile, __netstat call
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: direct template
sync — add __log_debug/info/warn/error; improve __netstat, __mkdir,
__rm, __grep_test (639 changed lines)
- rootfs/usr/local/etc/docker/init.d/00-server01.sh: new generic
template/example init.d service script
- rootfs/usr/local/etc/docker/init.d/05-dockerd.sh: framework update —
__trap_err_handler ERR handler, SIGPWR split, enabled-check expanded,
debug if/else, env loop guard, $(<...) PID read, __check_service guard,
__run_start_script rewrite (printf %q, md5sum hash, bash launcher),
errorCode=${PIPESTATUS[0]}, remove unconditional SERVICE_EXIT_CODE=0,
fix __post_execute fire-and-forget
- rootfs/usr/local/etc/docker/init.d/08-gitea.sh: same framework updates
as 05-dockerd.sh, service-specific content preserved
- rootfs/usr/local/etc/docker/init.d/zz-act_runner.sh: same framework
updates; service-specific __post_execute daemon/cache-server logic kept
- rootfs/root/docker/setup/00-init.sh: version stamp sync
- rootfs/root/docker/setup/01-system.sh: version stamp sync
- rootfs/root/docker/setup/02-packages.sh: version stamp sync
- rootfs/root/docker/setup/03-files.sh: header-only patch, gitea-specific
body preserved
- rootfs/root/docker/setup/04-users.sh: version stamp sync
- rootfs/root/docker/setup/05-custom.sh: header-only patch, gitea/act_runner
binary download logic preserved
- rootfs/root/docker/setup/06-post.sh: version stamp sync
- rootfs/root/docker/setup/07-cleanup.sh: version stamp sync
- rootfs/usr/local/share/template-files/config/env/default.sample:
ENTRYPOINT_PID_FILE path → /run/init.d/entrypoint.pid
- rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh:
ENTRYPOINT_PID_FILE path → /run/init.d/entrypoint.pid

rootfs/root/docker/setup/00-init.sh
rootfs/root/docker/setup/01-system.sh
rootfs/root/docker/setup/02-packages.sh
rootfs/root/docker/setup/03-files.sh
rootfs/root/docker/setup/04-users.sh
rootfs/root/docker/setup/05-custom.sh
rootfs/root/docker/setup/06-post.sh
rootfs/root/docker/setup/07-cleanup.sh
rootfs/tmp/etc/gitea/app.ini
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/00-server01.sh
rootfs/usr/local/etc/docker/init.d/05-dockerd.sh
rootfs/usr/local/etc/docker/init.d/08-gitea.sh
rootfs/usr/local/etc/docker/init.d/zz-act_runner.sh
rootfs/usr/local/share/template-files/config/env/default.sample
rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh
This commit is contained in:
2026-05-24 12:19:59 -04:00
parent 4fc5a83354
commit 4d51cc0e7c
17 changed files with 2160 additions and 759 deletions
+92 -3
View File
@@ -5,6 +5,8 @@ RUN_MODE = prod
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[server]
PROTOCOL = http
HTTP_ADDR = 0.0.0.0
HTTP_PORT = 80
ROOT_URL = REPLACE_SERVER_PROTO://REPLACE_SERVER_NAME
DOMAIN = REPLACE_SERVER_NAME
@@ -28,6 +30,9 @@ SSH_CREATE_AUTHORIZED_PRINCIPALS_FILE = true
SSH_AUTHORIZED_KEYS_BACKUP = true
SSH_ROOT_PATH = REPLACE_DATA_DIR/ssh
SSH_DOMAIN = REPLACE_SERVER_NAME
; reverse-proxy passthrough — TLS terminated upstream
USE_PROXY_PROTOCOL = false
REDIRECT_OTHER_PORT = false
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[lfs]
STORAGE_TYPE = local
@@ -40,12 +45,20 @@ PATH = REPLACE_DATA_DIR/re
[repository]
SCRIPT_TYPE = sh
ROOT = REPLACE_DATA_DIR/repositories/root
DEFAULT_BRANCH = main
DEFAULT_PRIVATE = false
MAX_CREATION_LIMIT = -1
PREFERRED_LICENSES = MIT,Apache-2.0
DISABLE_HTTP_GIT = false
USE_COMPAT_SSH_URI = false
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[repository.local]
LOCAL_COPY_PATH = REPLACE_DATA_DIR/repositories/local
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[repository.upload]
TEMP_PATH = REPLACE_DATA_DIR/repositories/uploads
FILE_MAX_SIZE = 100
MAX_FILES = 10
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[repository.pull-request]
DEFAULT_MERGE_STYLE = merge
@@ -60,6 +73,11 @@ ADD_CO_COMMITTER_TRAILERS = true
TEST_CONFLICTING_PATCHES_WITH_GIT_APPLY = false
RETARGET_CHILDREN_ON_MERGE = true
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[repository.release]
ALLOWED_TYPES =
DEFAULT_PAGING_NUM = 20
ADD_CO_COMMITTER_TRAILERS = true
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[repository.signing]
DEFAULT_TRUST_MODEL = collaboratorcommitter
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -92,13 +110,37 @@ LIMIT_SIZE_VAGRANT = -1
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[attachment]
PATH = REPLACE_DATA_DIR/attachments
MAX_SIZE = 100
MAX_FILES = 10
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[indexer]
ISSUE_INDEXER_PATH = REPLACE_DATA_DIR/indexers/issues.bleve
REPO_INDEXER_ENABLED = true
REPO_INDEXER_PATH = REPLACE_DATA_DIR/indexers/repos.bleve
REPO_INDEXER_INCLUDE =
REPO_INDEXER_EXCLUDE = vendor,node_modules
MAX_FILE_SIZE = 1048576
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[session]
PROVIDER = file
PROVIDER_CONFIG = REPLACE_DATA_DIR/sessions
COOKIE_SECURE = false
SAME_SITE = lax
SESSION_LIFE_TIME = 86400
GC_INTERVAL_TIME = 86400
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[cache]
ADAPTER = memory
INTERVAL = 60
HOST =
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[queue]
TYPE = channel
CONN_STR =
LENGTH = 100
BATCH_LENGTH = 20
WORKERS = 0
MAX_WORKERS = 10
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[database]
DB_TYPE = REPLACE_SQL_TYPE
@@ -107,10 +149,28 @@ USER = REPLACE_SQL_USER
PASSWD = REPLACE_SQL_PASS
NAME = REPLACE_SQL_NAME
LOG_SQL = false
SCHEMA =
SCHEMA =
SSL_MODE = disable
CHARSET = utf8
PATH = REPLACE_DATABASE_DIR/gitea.db
MAX_IDLE_CONNS = 2
MAX_OPEN_CONNS = 100
CONN_MAX_LIFETIME = 3s
ITERATE_BUFFER_SIZE = 50
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[git]
MAX_GIT_DIFF_LINES = 1000
MAX_GIT_DIFF_LINE_CHARACTER_COUNT = 5000
MAX_GIT_DIFF_FILES = 100
GC_ARGS =
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[git.timeout]
DEFAULT = 360
MIGRATE = 600
MIRROR = 300
CLONE = 300
PULL = 300
GC = 60
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[picture]
ENABLE_FEDERATED_AVATAR = true
@@ -130,11 +190,13 @@ ROOT_PATH = REPLACE_LOG_DIR
INSTALL_LOCK = false
SECRET_KEY = REPLACE_SECRET_KEY
INTERNAL_TOKEN = REPLACE_GITEA_INTERNAL_TOKEN
PASSWORD_HASH_ALGO = pbkdf2
PASSWORD_HASH_ALGO = argon2
MIN_PASSWORD_LENGTH = 8
PASSWORD_COMPLEXITY = on
LOGIN_REMEMBER_DAYS = 1825
COOKIE_USERNAME = git_REPLACE_RANDOM_COOKIE_KEY
COOKIE_SECURE = false
CSRF_COOKIE_HTTP_ONLY = true
REVERSE_PROXY_LIMIT = 1
REVERSE_PROXY_TRUSTED_PROXIES = *
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
@@ -145,6 +207,22 @@ REVERSE_PROXY_AUTHENTICATION_FULL_NAME = X-WEBAUTH-FULLNAME
DEFAULT_UI_LOCATION = REPLACE_TZ
FORMAT = RFC1123
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[api]
ENABLE_SWAGGER = true
MAX_RESPONSE_ITEMS = 500
DEFAULT_PAGING_NUM = 50
DEFAULT_GIT_TREES_PER_PAGE = 1000
DEFAULT_MAX_BLOB_SIZE = 10485760
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[webhook]
QUEUE_LENGTH = 1000
DELIVER_TIMEOUT = 30
ALLOWED_HOST_LIST = *
SKIP_TLS_VERIFY = true
PAGING_NUM = 10
PROXY_URL =
PROXY_HOSTS =
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[service]
DISABLE_REGISTRATION = false
REQUIRE_SIGNIN_VIEW = false
@@ -195,13 +273,14 @@ ENABLE_OPENID_SIGNUP = true
[oauth2]
ENABLED = true
JWT_SIGNING_ALGORITHM = RS256
JWT_SECRET = REPLACE_GITEA_LFS_JWT_SECRET
ACCESS_TOKEN_EXPIRATION_TIME = 3600
REFRESH_TOKEN_EXPIRATION_TIME = 730
MAX_TOKEN_LENGTH = 32767
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[oauth2_client]
REGISTER_EMAIL_CONFIRM = REPLACE_GITEA_EMAIL_CONFIRM
OPENID_CONNECT_SCOPES =
OPENID_CONNECT_SCOPES =
ENABLE_AUTO_REGISTRATION = true
USERNAME = nickname
UPDATE_AVATAR = false
@@ -210,6 +289,12 @@ ACCOUNT_LINKING = login
[ui]
DEFAULT_THEME = gitea-dark
SEARCH_REPO_DESCRIPTION = true
EXPLORE_PAGING_NUM = 20
ISSUE_PAGING_NUM = 20
FEED_MAX_COMMIT_NUM = 5
GRAPH_MAX_COMMIT_NUM = 100
CODE_COMMENT_LINES = 4
REACTIONS = +1,-1,laugh,hooray,confused,heart,rocket,eyes
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[ui.meta]
AUTHOR = gitea
@@ -222,6 +307,10 @@ MAX_TIMEOUT = 60s
TIMEOUT_STEP = 10s
EVENT_SOURCE_UPDATE_TIME = 10s
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[metrics]
ENABLED = false
TOKEN =
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[cors]
ENABLED = true
SCHEME = REPLACE_SERVER_PROTO