|
|
|
; App name that shows on every page title
|
|
|
|
APP_NAME = Gogs: Go Git Service
|
|
|
|
APP_LOGO = img/favicon.png
|
|
|
|
; Change it if you run locally
|
|
|
|
RUN_USER = git
|
|
|
|
; Either "dev", "prod" or "test", default is "dev"
|
|
|
|
RUN_MODE = dev
|
|
|
|
|
|
|
|
[repository]
|
|
|
|
ROOT =
|
|
|
|
LANG_IGNS = Google Go|C|C++|Python|Ruby|C Sharp
|
|
|
|
LICENSES = Apache v2 License|GPL v2|MIT License|Affero GPL|Artistic License 2.0|BSD (3-Clause) License
|
|
|
|
|
|
|
|
[server]
|
|
|
|
PROTOCOL = http
|
|
|
|
DOMAIN = localhost
|
|
|
|
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
|
|
|
|
HTTP_ADDR =
|
|
|
|
HTTP_PORT = 3000
|
|
|
|
CERT_FILE = cert.pem
|
|
|
|
KEY_FILE = key.pem
|
|
|
|
|
|
|
|
[database]
|
|
|
|
; Either "mysql", "postgres" or "sqlite3"(binary release only), it's your choice
|
|
|
|
DB_TYPE = mysql
|
|
|
|
HOST = 127.0.0.1:3306
|
|
|
|
NAME = gogs
|
|
|
|
USER = root
|
|
|
|
PASSWD =
|
|
|
|
; For "postgres" only, either "disable", "require" or "verify-full"
|
|
|
|
SSL_MODE = disable
|
|
|
|
; For "sqlite3" only
|
|
|
|
PATH = data/gogs.db
|
|
|
|
|
|
|
|
[admin]
|
|
|
|
|
|
|
|
[security]
|
|
|
|
INSTALL_LOCK = false
|
|
|
|
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
|
|
|
|
SECRET_KEY = !#@FDEWREWR&*(
|
|
|
|
; Auto-login remember days
|
|
|
|
LOGIN_REMEMBER_DAYS = 7
|
|
|
|
COOKIE_USERNAME = gogs_awesome
|
|
|
|
COOKIE_REMEMBER_NAME = gogs_incredible
|
|
|
|
|
|
|
|
[service]
|
|
|
|
ACTIVE_CODE_LIVE_MINUTES = 180
|
|
|
|
RESET_PASSWD_CODE_LIVE_MINUTES = 180
|
|
|
|
; User need to confirm e-mail for registration
|
|
|
|
REGISTER_EMAIL_CONFIRM = false
|
|
|
|
; Does not allow register and admin create account only
|
|
|
|
DISENABLE_REGISTERATION = false
|
|
|
|
; User must sign in to view anything.
|
|
|
|
REQUIRE_SIGNIN_VIEW = false
|
|
|
|
; Cache avatar as picture
|
|
|
|
ENABLE_CACHE_AVATAR = false
|
|
|
|
; Mail notification
|
|
|
|
ENABLE_NOTIFY_MAIL = false
|
|
|
|
|
|
|
|
[mailer]
|
|
|
|
ENABLED = false
|
|
|
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
|
|
SEND_BUFFER_LEN = 10
|
|
|
|
; Name displayed in mail title
|
|
|
|
SUBJECT = %(APP_NAME)s
|
|
|
|
; Mail server
|
|
|
|
; Gmail: smtp.gmail.com:587
|
|
|
|
HOST =
|
|
|
|
; Mail from address
|
|
|
|
FROM =
|
|
|
|
; Mailer user name and password
|
|
|
|
USER =
|
|
|
|
PASSWD =
|
|
|
|
|
|
|
|
[oauth]
|
|
|
|
ENABLED = false
|
|
|
|
|
|
|
|
[oauth.github]
|
|
|
|
ENABLED = false
|
|
|
|
CLIENT_ID =
|
|
|
|
CLIENT_SECRET =
|
|
|
|
SCOPES = https://api.github.com/user
|
|
|
|
AUTH_URL = https://github.com/login/oauth/authorize
|
|
|
|
TOKEN_URL = https://github.com/login/oauth/access_token
|
|
|
|
|
|
|
|
; Get client id and secret from
|
|
|
|
; https://console.developers.google.com/project
|
|
|
|
[oauth.google]
|
|
|
|
ENABLED = false
|
|
|
|
CLIENT_ID =
|
|
|
|
CLIENT_SECRET =
|
|
|
|
SCOPES = https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile
|
|
|
|
AUTH_URL = https://accounts.google.com/o/oauth2/auth
|
|
|
|
TOKEN_URL = https://accounts.google.com/o/oauth2/token
|
|
|
|
|
|
|
|
[oauth.qq]
|
|
|
|
ENABLED = false
|
|
|
|
CLIENT_ID =
|
|
|
|
CLIENT_SECRET =
|
|
|
|
SCOPES = all
|
|
|
|
AUTH_URL = https://open.t.qq.com/cgi-bin/oauth2/authorize
|
|
|
|
TOKEN_URL = https://open.t.qq.com/cgi-bin/oauth2/access_token
|
|
|
|
|
|
|
|
[oauth.twitter]
|
|
|
|
ENABLED = false
|
|
|
|
CLIENT_ID =
|
|
|
|
CLIENT_SECRET =
|
|
|
|
SCOPES = all
|
|
|
|
AUTH_URL = https://api.twitter.com/oauth/authorize
|
|
|
|
TOKEN_URL = https://api.twitter.com/oauth/access_token
|
|
|
|
|
|
|
|
[oauth.weibo]
|
|
|
|
ENABLED = false
|
|
|
|
CLIENT_ID =
|
|
|
|
CLIENT_SECRET =
|
|
|
|
SCOPES = all
|
|
|
|
AUTH_URL = https://api.weibo.com/oauth2/authorize
|
|
|
|
TOKEN_URL = https://api.weibo.com/oauth2/access_token
|
|
|
|
|
|
|
|
[cache]
|
|
|
|
; Either "memory", "redis", or "memcache", default is "memory"
|
|
|
|
ADAPTER = memory
|
|
|
|
; For "memory" only, GC interval in seconds, default is 60
|
|
|
|
INTERVAL = 60
|
|
|
|
; For "redis" and "memcache", connection host address
|
|
|
|
; redis: ":6039"
|
|
|
|
; memcache: "127.0.0.1:11211"
|
|
|
|
HOST =
|
|
|
|
|
|
|
|
[session]
|
|
|
|
; Either "memory", "file", "redis" or "mysql", default is "memory"
|
|
|
|
PROVIDER = file
|
|
|
|
; Provider config options
|
|
|
|
; memory: not have any config yet
|
|
|
|
; file: session file path, e.g. data/sessions
|
|
|
|
; redis: config like redis server addr, poolSize, password, e.g. 127.0.0.1:6379,100,astaxie
|
|
|
|
; mysql: go-sql-driver/mysql dsn config string, e.g. root:password@/session_table
|
|
|
|
PROVIDER_CONFIG = data/sessions
|
|
|
|
; Session cookie name
|
|
|
|
COOKIE_NAME = i_like_gogits
|
|
|
|
; If you use session in https only, default is false
|
|
|
|
COOKIE_SECURE = false
|
|
|
|
; Enable set cookie, default is true
|
|
|
|
ENABLE_SET_COOKIE = true
|
|
|
|
; Session GC time interval, default is 86400
|
|
|
|
GC_INTERVAL_TIME = 86400
|
|
|
|
; Session life time, default is 86400
|
|
|
|
SESSION_LIFE_TIME = 86400
|
|
|
|
; session id hash func, Either "sha1", "sha256" or "md5" default is sha1
|
|
|
|
SESSION_ID_HASHFUNC = sha1
|
|
|
|
; Session hash key, default is use random string
|
|
|
|
SESSION_ID_HASHKEY =
|
|
|
|
|
|
|
|
[picture]
|
|
|
|
; The place to picture data, either "server" or "qiniu", default is "server"
|
|
|
|
SERVICE = server
|
|
|
|
|
|
|
|
[log]
|
|
|
|
; Either "console", "file", "conn", "smtp" or "database", default is "console"
|
|
|
|
MODE = console
|
|
|
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
|
|
BUFFER_LEN = 10000
|
|
|
|
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
|
|
|
|
LEVEL = Trace
|
|
|
|
|
|
|
|
; For "console" mode only
|
|
|
|
[log.console]
|
|
|
|
LEVEL =
|
|
|
|
|
|
|
|
; For "file" mode only
|
|
|
|
[log.file]
|
|
|
|
LEVEL =
|
|
|
|
FILE_NAME = log/gogs.log
|
|
|
|
; This enables automated log rotate(switch of following options), default is true
|
|
|
|
LOG_ROTATE = true
|
|
|
|
; Max line number of single file, default is 1000000
|
|
|
|
MAX_LINES = 1000000
|
|
|
|
; Max size shift of single file, default is 28 means 1 << 28, 256MB
|
|
|
|
MAX_SIZE_SHIFT = 28
|
|
|
|
; Segment log daily, default is true
|
|
|
|
DAILY_ROTATE = true
|
|
|
|
; Expired days of log file(delete after max days), default is 7
|
|
|
|
MAX_DAYS = 7
|
|
|
|
|
|
|
|
; For "conn" mode only
|
|
|
|
[log.conn]
|
|
|
|
LEVEL =
|
|
|
|
; Reconnect host for every single message, default is false
|
|
|
|
RECONNECT_ON_MSG = false
|
|
|
|
; Try to reconnect when connection is lost, default is false
|
|
|
|
RECONNECT = false
|
|
|
|
; Either "tcp", "unix" or "udp", default is "tcp"
|
|
|
|
PROTOCOL = tcp
|
|
|
|
; Host address
|
|
|
|
ADDR =
|
|
|
|
|
|
|
|
; For "smtp" mode only
|
|
|
|
[log.smtp]
|
|
|
|
LEVEL =
|
|
|
|
; Name displayed in mail title, default is "Diagnostic message from serve"
|
|
|
|
SUBJECT = Diagnostic message from serve
|
|
|
|
; Mail server
|
|
|
|
HOST =
|
|
|
|
; Mailer user name and password
|
|
|
|
USER =
|
|
|
|
PASSWD =
|
|
|
|
; Receivers, can be one or more, e.g. ["1@example.com","2@example.com"]
|
|
|
|
RECEIVERS =
|
|
|
|
|
|
|
|
; For "database" mode only
|
|
|
|
[log.database]
|
|
|
|
LEVEL =
|
|
|
|
Driver =
|
|
|
|
CONN =
|