wip
This commit is contained in:
commit
c0b4570a6f
24
.defaults.sh
Normal file
24
.defaults.sh
Normal file
@ -0,0 +1,24 @@
|
||||
# based on https://github.com/go-gitea/gitea/blob/master/custom/conf/app.ini.sample
|
||||
# variables used in default config template
|
||||
RUN_MODE=${RUN_MODE:-"dev"}
|
||||
RUN_USER=${RUN_USER:-"$USER"}
|
||||
MAIN_DIR=${MAIN_DIR:-"$(cd "$(dirname "$0")" && pwd)"}
|
||||
HTTP_PORT=${HTTP_PORT:-"3000"}
|
||||
ROOT_URL=${ROOT_URL:-"http://127.0.0.1:3000"}
|
||||
SSH_DOMAIN=${SSH_DOMAIN:-"127.0.0.1"}
|
||||
SSH_PORT=${SSH_PORT:-"3022"}
|
||||
DISABLE_SSH=${DISABLE_SSH:-"false"}
|
||||
LFS_JWT_SECRET=${LFS_JWT_SECRET:-"$(head /dev/urandom | tr -dc 'A-Za-z0-9_' | head -c 32)"}
|
||||
SECRET_KEY=${SECRET_KEY:-"$(head /dev/urandom | tr -dc 'A-Za-z0-9_' | head -c 32)"}
|
||||
INTERNAL_TOKEN=${INTERNAL_TOKEN:-"$(head /dev/urandom | tr -dc 'A-Za-z0-9_' | head -c 64)"}
|
||||
JWT_SECRET=${JWT_SECRET:-"$(head /dev/urandom | tr -dc 'A-Za-z0-9_' | head -c 32)"}
|
||||
|
||||
# global settings
|
||||
[ -z "${A_DEFAULT_SETTINGS}" ] \
|
||||
&& A_DEFAULT_SETTINGS=$(cat << EOF
|
||||
APP_NAME = Gitea: Git with a cup of tea
|
||||
RUN_MODE = {{%RUN_MODE%}}
|
||||
RUN_USER = {{%RUN_USER%}}
|
||||
|
||||
EOF
|
||||
)
|
||||
8
.defaults/U2F.sh
Normal file
8
.defaults/U2F.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# U2F
|
||||
[ -z "${A_DEFAULT_SETTINGS_U2F}" ] \
|
||||
&& A_DEFAULT_SETTINGS_U2F=$(cat << EOF
|
||||
[U2F]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/admin.sh
Normal file
8
.defaults/admin.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# admin
|
||||
[ -z "${A_DEFAULT_SETTINGS_ADMIN}" ] \
|
||||
&& A_DEFAULT_SETTINGS_ADMIN=$(cat << EOF
|
||||
[admin]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/api.sh
Normal file
8
.defaults/api.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# api
|
||||
[ -z "${A_DEFAULT_SETTINGS_API}" ] \
|
||||
&& A_DEFAULT_SETTINGS_API=$(cat << EOF
|
||||
[api]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/attachment.sh
Normal file
9
.defaults/attachment.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# attachment
|
||||
[ -z "${A_DEFAULT_SETTINGS_ATTACHMENT}" ] \
|
||||
&& A_DEFAULT_SETTINGS_ATTACHMENT=$(cat << EOF
|
||||
[attachment]
|
||||
PATH = {{%MAIN_DIR%}}/data/gitea/attachments
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cache.sh
Normal file
8
.defaults/cache.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cache
|
||||
[ -z "${A_DEFAULT_SETTINGS_CACHE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CACHE=$(cat << EOF
|
||||
[cache]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cors.sh
Normal file
8
.defaults/cors.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cors
|
||||
[ -z "${A_DEFAULT_SETTINGS_CORS}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CORS=$(cat << EOF
|
||||
[cors]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cron.archive_cleanup.sh
Normal file
8
.defaults/cron.archive_cleanup.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cron.archive_cleanup
|
||||
[ -z "${A_DEFAULT_SETTINGS_CRON_ARCHIVE_CLEANUP}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CRON_ARCHIVE_CLEANUP=$(cat << EOF
|
||||
[cron.archive_cleanup]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cron.check_repo_stats.sh
Normal file
8
.defaults/cron.check_repo_stats.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cron.check_repo_stats
|
||||
[ -z "${A_DEFAULT_SETTINGS_CRON_CHECK_REPO_STATS}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CRON_CHECK_REPO_STATS=$(cat << EOF
|
||||
[cron.check_repo_stats]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cron.repo_health_check.sh
Normal file
8
.defaults/cron.repo_health_check.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cron.repo_health_check
|
||||
[ -z "${A_DEFAULT_SETTINGS_CRON_REPO_HEALTH_CHECK}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CRON_REPO_HEALTH_CHECK=$(cat << EOF
|
||||
[cron.repo_health_check]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cron.sh
Normal file
8
.defaults/cron.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cron
|
||||
[ -z "${A_DEFAULT_SETTINGS_CRON}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CRON=$(cat << EOF
|
||||
[cron]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cron.sync_external_users.sh
Normal file
8
.defaults/cron.sync_external_users.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cron.sync_external_users
|
||||
[ -z "${A_DEFAULT_SETTINGS_CRON_SYNC_EXTERNAL_USERS}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CRON_SYNC_EXTERNAL_USERS=$(cat << EOF
|
||||
[cron.sync_external_users]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/cron.update_mirrors.sh
Normal file
8
.defaults/cron.update_mirrors.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# cron.update_mirrors
|
||||
[ -z "${A_DEFAULT_SETTINGS_CRON_UPDATE_MIRRORS}" ] \
|
||||
&& A_DEFAULT_SETTINGS_CRON_UPDATE_MIRRORS=$(cat << EOF
|
||||
[cron.update_mirrors]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
10
.defaults/database.sh
Normal file
10
.defaults/database.sh
Normal file
@ -0,0 +1,10 @@
|
||||
# database
|
||||
[ -z "${A_DEFAULT_SETTINGS_DATABASE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_DATABASE=$(cat << EOF
|
||||
[database]
|
||||
PATH = {{%MAIN_DIR%}}/data/gitea/gitea.db
|
||||
DB_TYPE = sqlite3
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/git.sh
Normal file
8
.defaults/git.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# git
|
||||
[ -z "${A_DEFAULT_SETTINGS_GIT}" ] \
|
||||
&& A_DEFAULT_SETTINGS_GIT=$(cat << EOF
|
||||
[git]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/git.timeout.sh
Normal file
8
.defaults/git.timeout.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# git.timeout
|
||||
[ -z "${A_DEFAULT_SETTINGS_GIT_TIMEOUT}" ] \
|
||||
&& A_DEFAULT_SETTINGS_GIT_TIMEOUT=$(cat << EOF
|
||||
[git.timeout]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/highlight.mapping.sh
Normal file
8
.defaults/highlight.mapping.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# highlight.mapping
|
||||
[ -z "${A_DEFAULT_SETTINGS_HIGHLIGHT_MAPPING}" ] \
|
||||
&& A_DEFAULT_SETTINGS_HIGHLIGHT_MAPPING=$(cat << EOF
|
||||
[highlight.mapping]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/i18n.datelang.sh
Normal file
8
.defaults/i18n.datelang.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# i18n.datelang
|
||||
[ -z "${A_DEFAULT_SETTINGS_I18N_DATELANG}" ] \
|
||||
&& A_DEFAULT_SETTINGS_I18N_DATELANG=$(cat << EOF
|
||||
[i18n.datelang]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/i18n.sh
Normal file
8
.defaults/i18n.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# i18n
|
||||
[ -z "${A_DEFAULT_SETTINGS_I18N}" ] \
|
||||
&& A_DEFAULT_SETTINGS_I18N=$(cat << EOF
|
||||
[i18n]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/indexer.sh
Normal file
9
.defaults/indexer.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# indexer
|
||||
[ -z "${A_DEFAULT_SETTINGS_INDEXER}" ] \
|
||||
&& A_DEFAULT_SETTINGS_INDEXER=$(cat << EOF
|
||||
[indexer]
|
||||
ISSUE_INDEXER_PATH = {{%MAIN_DIR%}}/data/gitea/indexers/issues.bleve
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/log.conn.sh
Normal file
8
.defaults/log.conn.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# log.conn
|
||||
[ -z "${A_DEFAULT_SETTINGS_LOG_CONN}" ] \
|
||||
&& A_DEFAULT_SETTINGS_LOG_CONN=$(cat << EOF
|
||||
[log.conn]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/log.console.sh
Normal file
8
.defaults/log.console.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# log.console
|
||||
[ -z "${A_DEFAULT_SETTINGS_LOG_CONSOLE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_LOG_CONSOLE=$(cat << EOF
|
||||
[log.console]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/log.file.sh
Normal file
8
.defaults/log.file.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# log.file
|
||||
[ -z "${A_DEFAULT_SETTINGS_LOG_FILE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_LOG_FILE=$(cat << EOF
|
||||
[log.file]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
11
.defaults/log.sh
Normal file
11
.defaults/log.sh
Normal file
@ -0,0 +1,11 @@
|
||||
# log
|
||||
[ -z "${A_DEFAULT_SETTINGS_LOG}" ] \
|
||||
&& A_DEFAULT_SETTINGS_LOG=$(cat << EOF
|
||||
[log]
|
||||
ROOT_PATH = {{%MAIN_DIR%}}/data/gitea/log
|
||||
MODE = file
|
||||
LEVEL = Info
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/log.smtp.sh
Normal file
8
.defaults/log.smtp.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# log.smtp
|
||||
[ -z "${A_DEFAULT_SETTINGS_LOG_SMTP}" ] \
|
||||
&& A_DEFAULT_SETTINGS_LOG_SMTP=$(cat << EOF
|
||||
[log.smtp]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/log.x.sh
Normal file
8
.defaults/log.x.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# log.x
|
||||
[ -z "${A_DEFAULT_SETTINGS_LOG_X}" ] \
|
||||
&& A_DEFAULT_SETTINGS_LOG_X=$(cat << EOF
|
||||
[log.x]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/mailer.sh
Normal file
9
.defaults/mailer.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# mailer
|
||||
[ -z "${A_DEFAULT_SETTINGS_MAILER}" ] \
|
||||
&& A_DEFAULT_SETTINGS_MAILER=$(cat << EOF
|
||||
[mailer]
|
||||
ENABLED = false
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/markdown.sh
Normal file
8
.defaults/markdown.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# markdown
|
||||
[ -z "${A_DEFAULT_SETTINGS_MARKDOWN}" ] \
|
||||
&& A_DEFAULT_SETTINGS_MARKDOWN=$(cat << EOF
|
||||
[markdown]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/markup.asciidoc.sh
Normal file
8
.defaults/markup.asciidoc.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# markup.asciidoc
|
||||
[ -z "${A_DEFAULT_SETTINGS_MARKUP_ASCIIDOC}" ] \
|
||||
&& A_DEFAULT_SETTINGS_MARKUP_ASCIIDOC=$(cat << EOF
|
||||
[markup.asciidoc]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/metrics.sh
Normal file
8
.defaults/metrics.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# metrics
|
||||
[ -z "${A_DEFAULT_SETTINGS_METRICS}" ] \
|
||||
&& A_DEFAULT_SETTINGS_METRICS=$(cat << EOF
|
||||
[metrics]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/mirror.sh
Normal file
8
.defaults/mirror.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# mirror
|
||||
[ -z "${A_DEFAULT_SETTINGS_MIRROR}" ] \
|
||||
&& A_DEFAULT_SETTINGS_MIRROR=$(cat << EOF
|
||||
[mirror]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/oauth2.sh
Normal file
9
.defaults/oauth2.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# oauth2
|
||||
[ -z "${A_DEFAULT_SETTINGS_OAUTH2}" ] \
|
||||
&& A_DEFAULT_SETTINGS_OAUTH2=$(cat << EOF
|
||||
[oauth2]
|
||||
JWT_SECRET = {{%JWT_SECRET%}}
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
10
.defaults/openid.sh
Normal file
10
.defaults/openid.sh
Normal file
@ -0,0 +1,10 @@
|
||||
# openid
|
||||
[ -z "${A_DEFAULT_SETTINGS_OPENID}" ] \
|
||||
&& A_DEFAULT_SETTINGS_OPENID=$(cat << EOF
|
||||
[openid]
|
||||
ENABLE_OPENID_SIGNIN = false
|
||||
ENABLE_OPENID_SIGNUP = false
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/other.sh
Normal file
8
.defaults/other.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# other
|
||||
[ -z "${A_DEFAULT_SETTINGS_OTHER}" ] \
|
||||
&& A_DEFAULT_SETTINGS_OTHER=$(cat << EOF
|
||||
[other]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
11
.defaults/picture.sh
Normal file
11
.defaults/picture.sh
Normal file
@ -0,0 +1,11 @@
|
||||
# picture
|
||||
[ -z "${A_DEFAULT_SETTINGS_PICTURE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_PICTURE=$(cat << EOF
|
||||
[picture]
|
||||
AVATAR_UPLOAD_PATH = {{%MAIN_DIR%}}/data/gitea/avatars
|
||||
DISABLE_GRAVATAR = false
|
||||
ENABLE_FEDERATED_AVATAR = true
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/repository.editor.sh
Normal file
8
.defaults/repository.editor.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# repository.editor
|
||||
[ -z "${A_DEFAULT_SETTINGS_REPOSITORY_EDITOR}" ] \
|
||||
&& A_DEFAULT_SETTINGS_REPOSITORY_EDITOR=$(cat << EOF
|
||||
[repository.editor]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/repository.issue.sh
Normal file
8
.defaults/repository.issue.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# repository.issue
|
||||
[ -z "${A_DEFAULT_SETTINGS_REPOSITORY_ISSUE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_REPOSITORY_ISSUE=$(cat << EOF
|
||||
[repository.issue]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/repository.local.sh
Normal file
9
.defaults/repository.local.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# repository.local
|
||||
[ -z "${A_DEFAULT_SETTINGS_REPOSITORY_LOCAL}" ] \
|
||||
&& A_DEFAULT_SETTINGS_REPOSITORY_LOCAL=$(cat << EOF
|
||||
[repository.local]
|
||||
LOCAL_COPY_PATH = {{%MAIN_DIR%}}/data/gitea/tmp/local-repo
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/repository.pull-request.sh
Normal file
8
.defaults/repository.pull-request.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# repository.pull-request
|
||||
[ -z "${A_DEFAULT_SETTINGS_REPOSITORY_PULL_REQUEST}" ] \
|
||||
&& A_DEFAULT_SETTINGS_REPOSITORY_PULL_REQUEST=$(cat << EOF
|
||||
[repository.pull-request]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/repository.sh
Normal file
9
.defaults/repository.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# repository
|
||||
[ -z "${A_DEFAULT_SETTINGS_REPOSITORY}" ] \
|
||||
&& A_DEFAULT_SETTINGS_REPOSITORY=$(cat << EOF
|
||||
[repository]
|
||||
ROOT = {{%MAIN_DIR%}}/data/git/repositories
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
9
.defaults/repository.upload.sh
Normal file
9
.defaults/repository.upload.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# repository.upload
|
||||
[ -z "${A_DEFAULT_SETTINGS_REPOSITORY_UPLOAD}" ] \
|
||||
&& A_DEFAULT_SETTINGS_REPOSITORY_UPLOAD=$(cat << EOF
|
||||
[repository.upload]
|
||||
TEMP_PATH = {{%MAIN_DIR%}}/data/gitea/uploads
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
11
.defaults/security.sh
Normal file
11
.defaults/security.sh
Normal file
@ -0,0 +1,11 @@
|
||||
# security
|
||||
[ -z "${A_DEFAULT_SETTINGS_SECURITY}" ] \
|
||||
&& A_DEFAULT_SETTINGS_SECURITY=$(cat << EOF
|
||||
[security]
|
||||
INSTALL_LOCK = true
|
||||
SECRET_KEY = {{%SECRET_KEY%}}
|
||||
INTERNAL_TOKEN = {{%INTERNAL_TOKEN%}}
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
20
.defaults/server.sh
Normal file
20
.defaults/server.sh
Normal file
@ -0,0 +1,20 @@
|
||||
# server
|
||||
[ -z "${A_DEFAULT_SETTINGS_SERVER}" ] \
|
||||
&& A_DEFAULT_SETTINGS_SERVER=$(cat << EOF
|
||||
[server]
|
||||
APP_DATA_PATH = {{%MAIN_DIR%}}/data/gitea
|
||||
SSH_DOMAIN = {{%SSH_DOMAIN%}}
|
||||
HTTP_PORT = {{%HTTP_PORT%}}
|
||||
ROOT_URL = {{%ROOT_URL%}}
|
||||
DISABLE_SSH = {{%DISABLE_SSH%}}
|
||||
START_SSH_SERVER = true
|
||||
SSH_PORT = {{%SSH_PORT%}}
|
||||
LFS_CONTENT_PATH = {{%MAIN_DIR%}}/data/git/lfs
|
||||
DOMAIN = localhost
|
||||
LFS_START_SERVER = true
|
||||
LFS_JWT_SECRET = {{%LFS_JWT_SECRET%}}
|
||||
OFFLINE_MODE = false
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
18
.defaults/service.sh
Normal file
18
.defaults/service.sh
Normal file
@ -0,0 +1,18 @@
|
||||
# service
|
||||
[ -z "${A_DEFAULT_SETTINGS_SERVICE}" ] \
|
||||
&& A_DEFAULT_SETTINGS_SERVICE=$(cat << EOF
|
||||
[service]
|
||||
DISABLE_REGISTRATION = true
|
||||
REQUIRE_SIGNIN_VIEW = false
|
||||
REGISTER_EMAIL_CONFIRM = false
|
||||
ENABLE_NOTIFY_MAIL = false
|
||||
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
|
||||
ENABLE_CAPTCHA = false
|
||||
DEFAULT_KEEP_EMAIL_PRIVATE = false
|
||||
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
|
||||
DEFAULT_ENABLE_TIMETRACKING = true
|
||||
NO_REPLY_ADDRESS = noreply.example.org
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
10
.defaults/session.sh
Normal file
10
.defaults/session.sh
Normal file
@ -0,0 +1,10 @@
|
||||
# session
|
||||
[ -z "${A_DEFAULT_SETTINGS_SESSION}" ] \
|
||||
&& A_DEFAULT_SETTINGS_SESSION=$(cat << EOF
|
||||
[session]
|
||||
PROVIDER_CONFIG = {{%MAIN_DIR%}}/data/gitea/sessions
|
||||
PROVIDER = file
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/ssh.minimum_key_sizes.sh
Normal file
8
.defaults/ssh.minimum_key_sizes.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# ssh.minimum_key_sizes
|
||||
[ -z "${A_DEFAULT_SETTINGS_SSH_MINIMUM_KEY_SIZES}" ] \
|
||||
&& A_DEFAULT_SETTINGS_SSH_MINIMUM_KEY_SIZES=$(cat << EOF
|
||||
[ssh.minimum_key_sizes]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/time.sh
Normal file
8
.defaults/time.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# time
|
||||
[ -z "${A_DEFAULT_SETTINGS_TIME}" ] \
|
||||
&& A_DEFAULT_SETTINGS_TIME=$(cat << EOF
|
||||
[time]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/ui.admin.sh
Normal file
8
.defaults/ui.admin.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# ui.admin
|
||||
[ -z "${A_DEFAULT_SETTINGS_UI_ADMIN}" ] \
|
||||
&& A_DEFAULT_SETTINGS_UI_ADMIN=$(cat << EOF
|
||||
[ui.admin]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/ui.meta.sh
Normal file
8
.defaults/ui.meta.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# ui.meta
|
||||
[ -z "${A_DEFAULT_SETTINGS_UI_META}" ] \
|
||||
&& A_DEFAULT_SETTINGS_UI_META=$(cat << EOF
|
||||
[ui.meta]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/ui.sh
Normal file
8
.defaults/ui.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# ui
|
||||
[ -z "${A_DEFAULT_SETTINGS_UI}" ] \
|
||||
&& A_DEFAULT_SETTINGS_UI=$(cat << EOF
|
||||
[ui]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/ui.user.sh
Normal file
8
.defaults/ui.user.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# ui.user
|
||||
[ -z "${A_DEFAULT_SETTINGS_UI_USER}" ] \
|
||||
&& A_DEFAULT_SETTINGS_UI_USER=$(cat << EOF
|
||||
[ui.user]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
8
.defaults/webhook.sh
Normal file
8
.defaults/webhook.sh
Normal file
@ -0,0 +1,8 @@
|
||||
# webhook
|
||||
[ -z "${A_DEFAULT_SETTINGS_WEBHOOK}" ] \
|
||||
&& A_DEFAULT_SETTINGS_WEBHOOK=$(cat << EOF
|
||||
[webhook]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
# executable file
|
||||
/gitea
|
||||
# local setup variables
|
||||
/.custom_defaults.sh
|
||||
/data
|
||||
/custom
|
||||
/log
|
||||
25
.helpers/gen_empty_sections.sh
Executable file
25
.helpers/gen_empty_sections.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# get sections
|
||||
sections=$(curl -L https://raw.githubusercontent.com/go-gitea/gitea/master/custom/conf/app.ini.sample 2>/dev/null | grep '^\[.*\]' | tr '\n' ' '|tr -d '[' | tr -d ']' )
|
||||
|
||||
for x in $sections; do
|
||||
# to upper and remove dot
|
||||
y=$(echo -n "$x" | tr '[:lower:]' '[:upper:]' | tr '.' '_' | tr '-' '_' )
|
||||
# skip existing files
|
||||
[ -f "$PWD/$x.sh" ] && continue
|
||||
# generate empty section file
|
||||
cat>"$PWD/$x.sh" << EOB
|
||||
# $x
|
||||
[ -z "\${A_DEFAULT_SETTINGS_${y}}" ] \\
|
||||
&& A_DEFAULT_SETTINGS_${y}=\$(cat << EOF
|
||||
[$x]
|
||||
|
||||
EOF
|
||||
)
|
||||
|
||||
EOB
|
||||
|
||||
done
|
||||
139
setup.sh
Executable file
139
setup.sh
Executable file
@ -0,0 +1,139 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
curp="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
# prefer gitea executable in project folder and fallback to $PATH
|
||||
[[ -x "$curp/gitea" ]] && giteae="$curp/gitea" \
|
||||
|| giteae=$(command -v gitea 2>/dev/null) \
|
||||
|| { echo "gitea executable not found!" 1>&2;exit 1; }
|
||||
|
||||
set_in_file() {
|
||||
# ensure there is a line with $1=$2 in file $3
|
||||
grep -q "^$1=" "$3" && sed "s/^$1=.*/$1=$2/" -i "$3" \
|
||||
|| echo "$1=$2" >> "$3"
|
||||
|
||||
}
|
||||
gen_app_ini() {
|
||||
source "$curp/.defaults.sh"
|
||||
for x in $(find "$curp/.defaults" -type f -name "*.sh"); do
|
||||
source "$x"
|
||||
done
|
||||
truncate -s 0 "$curp/custom/conf/app.ini"
|
||||
|
||||
# first build the template
|
||||
for x in $( ( set -o posix ; set ) |grep -o '^A_DEFAULT_SETTINGS.*=' | cut -d '=' -f1); do
|
||||
echo -e "${!x}\n" >> "$curp/custom/conf/app.ini"
|
||||
done
|
||||
# then replace variables in the template
|
||||
for x in $(cat "$curp/custom/conf/app.ini" | grep -o '{{%.*%}}' | sed -e 's/^{{%//' -e 's/%}}//' | sort | uniq); do
|
||||
sed -i -e "s#{{%$x%}}#$(echo -n "${!x}"|sed -z 's/\n/\\n/g')#" "$curp/custom/conf/app.ini"
|
||||
done
|
||||
}
|
||||
create_admin() {
|
||||
if [ -z "${ADMIN_PASSWORD}" ]; then
|
||||
ADMIN_PASSWORD=$(head /dev/urandom | tr -dc 'A-Za-z0-9_' | head -c 32)
|
||||
echo "pass: ${ADMIN_PASSWORD}"
|
||||
set_in_file "ADMIN_PASSWORD" "${ADMIN_PASSWORD}" "$curp/.custom_defaults.sh"
|
||||
fi
|
||||
set +e
|
||||
output=$("$giteae" admin create-user \
|
||||
--username "${ADMIN_USER}" \
|
||||
--email "${ADMIN_EMAIL}" \
|
||||
--password "${ADMIN_PASSWORD}" \
|
||||
--admin \
|
||||
--access-token)
|
||||
ecode="$?"
|
||||
set -e
|
||||
echo "$output" 1>&2
|
||||
if [ "$ecode" -ne 0 ]; then
|
||||
echo "command exited with status code: $ecode"
|
||||
return "$ecode"
|
||||
else
|
||||
ADMIN_TOKEN=$(echo -n "$output" | grep 'Access token was successfully created' | rev | cut -d ' ' -f1 | rev)
|
||||
echo "token: ${ADMIN_TOKEN}"
|
||||
set_in_file "ADMIN_TOKEN" "${ADMIN_TOKEN}" "$curp/.custom_defaults.sh"
|
||||
fi
|
||||
}
|
||||
create_org() {
|
||||
curl --silent -X POST "${apiurl}/orgs" \
|
||||
-H "Authorization: token ${ADMIN_TOKEN}" \
|
||||
-H "accept: application/json" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{ \"username\": \"$1\", \"visibility\": \"limited\"}" 1>&2
|
||||
}
|
||||
|
||||
create_repo() {
|
||||
curl --silent -X POST "${apiurl}$2" \
|
||||
-H "Authorization: token ${ADMIN_TOKEN}" \
|
||||
-H "accept: application/json" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"auto_init\": false, \"private\": true, \"name\": \"$1\"}" 1>&2
|
||||
}
|
||||
|
||||
# load local file
|
||||
touch "$curp/.custom_defaults.sh" && chmod 0600 "$curp/.custom_defaults.sh"
|
||||
source "$curp/.custom_defaults.sh"
|
||||
if [ -z "${ADMIN_EMAIL}" ]; then
|
||||
while [ -z "${ADMIN_EMAIL}" ]; do
|
||||
read -p "ADMIN_EMAIL=" ADMIN_EMAIL
|
||||
done
|
||||
set_in_file "ADMIN_EMAIL" "${ADMIN_EMAIL}" "$curp/.custom_defaults.sh"
|
||||
fi
|
||||
|
||||
mkdir -p "$curp/custom/conf/" "$curp/log"
|
||||
|
||||
[ -z "$ADMIN_USER" ] && ADMIN_USER="$USER"
|
||||
|
||||
# generate app.ini
|
||||
gen_app_ini
|
||||
|
||||
# migrate database
|
||||
"$giteae" migrate 1>>"$curp/log/db_init.log" 2>>"$curp/log/db_init.log"
|
||||
|
||||
# create admin user
|
||||
[ -z "${ADMIN_TOKEN}" ] && admininit=$(create_admin 2>>"$curp/log/admin_init.log")
|
||||
|
||||
SCREEN_SES_NAME=${SCREEN_SES_NAME:-gitea-dev}
|
||||
|
||||
# run gitea in screen
|
||||
if ! screen -S ${SCREEN_SES_NAME} -Q "select" . > /dev/null 2>&1; then
|
||||
screen -S "${SCREEN_SES_NAME}" -d -m -- sh -c "\"$giteae\" web 2>&1 | tee \"$curp/log/web.log\""
|
||||
SLEEP_SECS=10
|
||||
echo "Sleeping for ${SLEEP_SECS} seconds for web service to start!" 1>&2
|
||||
for x in $(seq ${SLEEP_SECS} -1 1); do
|
||||
echo -n "$x " 1>&2
|
||||
sleep 1
|
||||
done
|
||||
echo "" 1>&2
|
||||
fi
|
||||
|
||||
# reload .custom_defaults as they may have been changed
|
||||
source "$curp/.custom_defaults.sh"
|
||||
|
||||
serverurl="$(cat custom/conf/app.ini | grep '^ROOT_URL.*=' | rev | cut -d '=' -f1 | rev | tr -d '[:space:]')"
|
||||
pushuri="$(echo "$serverurl" | perl -pe "s#(https?://)#\${1}${ADMIN_USER}:${ADMIN_PASSWORD}@#" )"
|
||||
apiurl="$serverurl/api/v1"
|
||||
# init ripos
|
||||
for REPO in ${REPOS}; do
|
||||
repoPath="$(echo "$REPO" | cut -d ':' -f1 | tr -d '[:space:]')"
|
||||
repoOrg="$(echo "$REPO" | cut -d ':' -f2 | tr -d '[:space:]')"
|
||||
repoName="$(echo "$REPO" | cut -d ':' -f3 | tr -d '[:space:]')"
|
||||
[ -z "$repoName" ] && repoName="$(basename "$repoPath")"
|
||||
if [ -z "$repoOrg" ]; then
|
||||
repoAPIEP="/user/repos"
|
||||
repoOwner="${ADMIN_USER}"
|
||||
else
|
||||
create_org "$repoOrg"
|
||||
sleep 1
|
||||
repoAPIEP="/org/$repoOrg/repos"
|
||||
repoOwner="$repoOrg"
|
||||
fi
|
||||
create_repo "${repoName}" "${repoAPIEP}" 1>&2
|
||||
(
|
||||
cd "$repoPath"
|
||||
git remote add gitea-debug-dev "$pushuri/${repoOwner}/${repoName}.git" || true
|
||||
git push "gitea-debug-dev" master
|
||||
)
|
||||
exit
|
||||
done
|
||||
Loading…
x
Reference in New Issue
Block a user