Gogs安裝好了以后會在custom/conf/下面生成一個app.ini的配置文件,通過修改此文件我們可以對gogs進行配置。 詳細配置項目如下:
1. 概覽
名稱
|
描述
|
APP_NAME
|
應用名稱,可以改成您的組織或公司名稱
|
RUN_USER
|
運行應用的用戶名稱,我們建議您使用 git,但如果您在個人計算機上運行 Gogs,請修改為您的系統用戶名稱。如果沒有正確設置這個值,很可能導致您的應用崩潰
|
RUN_MODE
|
鑒於性能和其它考慮,建議在部署環境下修改為 prod 模式。在您完成安裝操作時,該值也會被設置為 prod
|
2. 服務器 (server)
名稱
|
描述
|
PROTOCOL
|
http 或 https
|
DOMAIN
|
服務器域名
|
ROOT_URL
|
公開的完整 URL 路徑
|
HTTP_ADDR
|
應用 HTTP 監聽地址
|
HTTP_PORT
|
應用 HTTP 監聽端口號
|
UNIX_SOCKET_PERMISSION
|
Unix 套接字文件的權限
|
LOCAL_ROOT_URL
|
用於 Gogs 工作進程(如:SSH)回訪應用的本地(DMZ)URL,一般情況下請保持默認值,除非您的 SSH 服務器節點與 HTTP 並不是同一個節點入口
|
DISABLE_SSH
|
當 SSH 功能不可用時可以禁用
|
START_SSH_SERVER
|
啟用該選項來啟動內置 SSH 服務器
|
SSH_DOMAIN
|
允許公用網絡訪問 SSH 的域名
|
SSH_PORT
|
SSH 端口號,如果不為 22 的話可以在此修改
|
SSH_LISTEN_HOST
|
內置 SSH 服務器監聽的地址
|
SSH_LISTEN_PORT
|
內置 SSH 服務器監聽的端口
|
SSH_ROOT_PATH
|
SSH 根目錄,一般為 ~/.ssh,但必須填寫為 /home/git/.ssh
|
REWRITE_AUTHORIZED_KEYS_AT_START
|
激活該選項以在應用啟動時自動重寫 authorized_keys 文件,該選項在使用內置 SSH 服務器時將會被自動禁用
|
SSH_KEY_TEST_PATH
|
用於測試 SSH 公鑰的臨時目錄
|
SSH_KEYGEN_PATH
|
ssh-keygen 程序的路徑,默認為 ssh-keygen 即通過系統路徑查找
|
MINIMUM_KEY_SIZE_CHECK
|
指定不同類型的公鑰的最小密鑰大小
|
OFFLINE_MODE
|
激活該選項來禁止從 CDN 獲取靜態資源,同時 Gravatar 服務也將被自動禁用
|
DISABLE_ROUTER_LOG
|
激活該選項來禁止打印路由日志
|
CERT_FILE
|
HTTPS 授權文件路徑
|
KEY_FILE
|
HTTPS 的密鑰文件路徑
|
STATIC_ROOT_PATH
|
模板文件和靜態文件的上級目錄,默認為應用二進制所在的位置
|
APP_DATA_PATH
|
應用內部數據的存放目錄
|
ENABLE_GZIP
|
激活該選項來啟用應用級別 GZIP 支持
|
LANDING_PAGE
|
未登錄用戶的默認首頁,可以是 home 或 explore(探索頁)
|
3. 倉庫 (repository)
名稱
|
描述
|
ROOT
|
用戶倉庫存儲根目錄,必須為絕對路徑,默認為 ~//gogs-repositories
|
SCRIPT_TYPE
|
系統腳本類型,一般情況下均為 bash,但有些用戶反應只能使用 sh
|
ANSI_CHARSET
|
當遇到無法識別的字符集時使用的默認字符集
|
FORCE_PRIVATE
|
強制要求所有新建的倉庫都是私有的
|
MAX_CREATION_LIMIT
|
全局默認的每個用戶可創建創建倉庫上限,-1 表示無限制
|
PREFERRED_LICENSES
|
建議用戶首選的授權類型
|
DISABLE_HTTP_GIT
|
激活該選項來禁止用戶通過 HTTP 對 Git 倉庫進行交互操作,即用戶只能通過 SSH 操作
|
ENABLE_LOCAL_PATH_MIGRATION
|
激活該選項來啟用本地路徑遷移倉庫功能。啟動后默認只有管理員可以使用,普通用戶必須經由管理員授權
|
4. 倉庫 - 編輯器 (repository.editor)
名稱
|
描述
|
LINE_WRAP_EXTENSIONS
|
需要顯示為行包裝的文件名后綴,通過逗號分隔。如果是無后綴名的文件,則單獨放置一個逗號,例如:.txt,
|
5. 倉庫 - 文件上傳 (repository.upload)
名稱
|
描述
|
ENABLED
|
激活該選項來啟用倉庫文件上傳功能
|
TEMP_PATH
|
文件上傳的臨時存放目錄
|
ALLOWED_TYPES
|
允許上傳的文件類型(例如:”image/jpeg|image/png”),留空表示允許上傳任意類型的文件
|
FILE_MAX_SIZE
|
單個上傳的文件的最大體積,以 MB 為單位
|
MAX_FILES
|
單次同時上傳的最多文件個數
|
6. 版本發布 - 附件 (release.attachment)
名稱
|
描述
|
ENABLED
|
激活該選項來啟用版本發布附件功能
|
PATH
|
存放附件的路徑
|
ALLOWED_TYPES
|
允許上傳的 MIME 類型,例如 “image/jpeg|image/png”,使用 / 允許所有類型的文件
|
MAX_SIZE
|
最大允許上傳的附件體積,單位為 MB,例如 32
|
MAX_FILES
|
最大允許一次性上傳的附件個數,例如 10
|
7. Markdown (markdown)
名稱
|
描述
|
ENABLE_HARD_LINE_BREAK
|
指示是否啟用硬性換行擴展
|
CUSTOM_URL_SCHEMES
|
允許被解析為鏈接的自定義 URL 方案,例如 git(用於 git://)和magnet(用於 magnet://)
|
FILE_EXTENSIONS
|
需要被渲染為 Markdown 格式的文件名后綴,通過逗號分隔。如果是無后綴名的文件,則單獨放置一個逗號,例如:.markdown,
|
8. Smartypants (smartypants)
名稱
|
描述
|
ENABLED
|
指示是否啟用 Smartypants 擴展
|
9. HTTP (http)
名稱
|
描述
|
ACCESS_CONTROL_ALLOW_ORIGIN
|
頭信息 Access-Control-Allow-Origin 的自定義值,默認為空,即不響應此頭信息
|
10. 數據庫 (database)
名稱
|
描述
|
DB_TYPE
|
數據庫類型,可以是 mysql、postgres、mssql 或 sqlite3
|
HOST
|
數據庫主機地址與端口
|
NAME
|
數據庫名稱
|
USER
|
數據庫用戶名
|
PASSWD
|
數據庫用戶密碼
|
SSL_MODE
|
僅限 PostgreSQL 使用
|
PATH
|
僅限 SQLite3 使用,數據庫文件路徑
|
11. 應用管理 (admin)
名稱
|
描述
|
DISABLE_REGULAR_ORG_CREATION
|
激活該選項來禁止普通用戶(非管理員)創建組織
|
12. 安全 (security)
名稱
|
描述
|
INSTALL_LOCK
|
用於指示是否允許訪問安裝頁面(該頁面可以設置管理員帳號,因此該選項非常重要)
|
SECRET_KEY
|
全局的加密密鑰,務必修改該值以確保您的服務器安全(會在每次安裝時自動生成隨機字符串)
|
LOGIN_REMEMBER_DAYS
|
記住登錄的天數
|
COOKIE_USERNAME
|
記錄用戶名的 Cookie 名稱
|
COOKIE_REMEMBER_NAME
|
記錄用戶自動登錄信息的 Cookie 名稱
|
REVERSE_PROXY_AUTHENTICATION_USER
|
反向代理認證用戶的 Header 字段名
|
13. 服務 (service)
名稱
|
描述
|
ACTIVE_CODE_LIVE_MINUTES
|
激活碼的有效期,單位為分鍾
|
RESET_PASSWD_CODE_LIVE_MINUTES
|
重置密碼的有效期,單位為分鍾
|
REGISTER_EMAIL_CONFIRM
|
激活該選項來要求注冊用戶必須驗證郵箱,要求已啟用 Mailer
|
DISABLE_REGISTRATION
|
激活該選項來禁止用戶注冊功能,只能由管理員創建帳號
|
SHOW_REGISTRATION_BUTTON
|
用於指示是否顯示注冊按鈕
|
REQUIRE_SIGNIN_VIEW
|
激活該選項來要求用戶必須登錄才能瀏覽任何頁面
|
ENABLE_CACHE_AVATAR
|
激活該選項來緩存 Gravatar 的頭像
|
ENABLE_NOTIFY_MAIL
|
激活該選項來發送通知郵件給關注者,例如創建 issue 時,要求已啟用 Mailer
|
ENABLE_REVERSE_PROXY_AUTHENTICATION
|
激活該選項來開啟反向代理用戶認證,請從 #165了解更多信息
|
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION
|
激活該選項來開啟反向代理用戶認證的自動注冊功能
|
DISABLE_MINIMUM_KEY_SIZE_CHECK
|
激活該選項來禁止檢查響應類型的密鑰最小長度
|
ENABLE_CAPTCHA
|
激活該選項以在用戶注冊時要求輸入驗證碼
|
14. Web 鈎子 (webhook)
名稱
|
描述
|
TYPES
|
啟動的 Web 鈎子類型,可以是 gogs、slack 或 discord
|
DELIVER_TIMEOUT
|
發送通知的超時時間,以秒為單位
|
SKIP_TLS_VERIFY
|
指示是否允許向具有非信任證書的地址發送通知
|
PAGING_NUM Web
|
鈎子歷史頁面每頁顯示記錄條數
|
15. 郵件 (mailer)
名稱
|
描述
|
ENABLED
|
啟用該選項以激活郵件服務
|
SUBJECT_PREFIX
|
郵件標題的前綴
|
HOST
|
SMTP 主機地址與端口
|
DISABLE_HELO
|
禁用 HELO 操作
|
HELO_HOSTNAME
|
HELO 操作的自定義主機名
|
SKIP_VERIFY
|
不驗證自簽發證書的有效性
|
FROM
|
郵箱的來自地址,遵循 RFC 5322規范,可以是一個單純的郵箱地址或者 "名字" email@example.com 的形式
|
USER
|
郵箱用戶名
|
PASSWD
|
郵箱密碼
|
USE_PLAIN_TEXT
|
使用 text/plain 作為郵件內容格式
|
備注:Gogs 僅支持使用 STARTTLS 的 SMTP 協議
16. 緩存 (cache)
名稱
|
描述
|
ADAPTER
|
緩存引擎適配器,可以為 momery、redis 或 memcache。如果您使用 redis 或 memcache,請確保使用 -tags 選項重新構建所有依賴,例如:go build -tags='redis'
|
INTERVAL
|
僅限內存緩存使用,GC 周期,單位為秒
|
HOST
|
僅限 redis 和 memcache 使用,主機地址和端口號
|
Redis:network=tcp,addr=127.0.0.1:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
|
|
Memache:127.0.0.1:9090;127.0.0.1:9091
|
17. 會話 (session)
名稱
|
描述
|
PROVIDER
|
Session 引擎提供者,可以是 memory、file、redis 或 mysql
|
PROVIDER_CONFIG
|
如果提供者為 file,則為文件根目錄;如果為其它提供者,則為主機地址和端口號
|
COOKIE_SECURE
|
激活該選項以要求所有 session 操作均通過 HTTPS
|
GC_INTERVAL_TIME
|
GC 周期,單位為秒
|
18. 圖片 (picture)
名稱
|
描述
|
AVATAR_UPLOAD_PATH
|
存放用戶上傳頭像的目錄
|
GRAVATAR_SOURCE
|
可以是 gravatar、duoshuo 或任何 URL,例如:
http://cn.gravatar.com/avatar/
|
DISABLE_GRAVATAR
|
激活該選項來僅使用本地頭像
|
ENABLE_FEDERATED_AVATAR
|
激活該選項來啟用 Federated 頭像服務(
http://www.libravatar.org),當Gravatar 被禁用時此選項無法生效
|
19. 附件 (attachment)
名稱
|
描述
|
ENABLED
|
激活該選項以允許用戶上傳附件
|
PATH
|
存放附件的路徑
|
ALLOWED_TYPES
|
允許上傳的 MIME 類型,例如 “image/jpeg|image/png”,使用 / 允許所有類型的文件
|
MAX_SIZE
|
最大允許上傳的附件體積,單位為 MB,例如 4
|
MAX_FILES
|
最大允許一次性上傳的附件個數,例如 5
|
20. 時間 (time)
名稱
|
描述
|
FORMAT
|
指定日期的輸出格式,默認為 RFC1123,其它可選的格式為 ANSIC、UnixDate、RubyDate、RFC822、RFC822Z、RFC850、RFC1123、RFC1123Z、RFC3339、RFC3339Nano、Kitchen、|Stamp、StampMilli、StampMicro 和 StampNano。訪問
http://golang.org/pkg/time/#pkg-constants 查看詳情
|
21. 日志 (log)
名稱
|
描述
|
ROOT_PATH
|
日志文件的根目錄
|
MODE
|
日志記錄模式,默認為 console。如果想要開啟多模式,請使用逗號分割,例如:"console, file"
|
LEVEL
|
基本日志級別,默認為 Trace
|
22. 日志 - 控制台 (log.console)
名稱
|
描述
|
LEVEL
|
控制台日志級別,留空則繼承父值
|
23. 日志 - 文件 (log.file)
名稱
|
描述
|
LEVEL
|
控制台日志級別,留空則繼承父值
|
LOG_ROTATE
|
激活該選項以啟用日志文件自轉
|
DAILY_ROTATE
|
激活該選項以進行日常自轉
|
MAX_SIZE_SHIFT
|
自轉需要達到的最大文件體積,使用位左移,默認為 28 即 1 << 28,表示 256MB
|
MAX_LINES
|
自轉需要達到的最大文件行數,默認為 1000000
|
MAX_DAYS
|
保留自轉文件的最長期限,默認為 7 天后刪除
|
24. 日志 - Slack (log.slack)
名稱
|
描述
|
LEVEL
|
控制台日志級別,留空則繼承父值
|
URL
|
Slack Web 鈎子 URL
|
25. Cron (cron)
名稱
|
描述
|
ENABLED
|
激活該選項以允許周期性運行 Cron 任務
|
RUN_AT_START
|
激活該選項以允許在啟動時執行 Cron 任務
|
26. Cron - 更新鏡像 (cron.update_mirrors)
名稱
|
描述
|
SCHEDULE
|
定時更新倉庫鏡像的 Cron 語法,例如:@every 1h
|
27. Cron - 倉庫健康檢查 (cron.repo_health_check)
名稱
|
描述
|
SCHEDULE
|
定時進行倉庫健康檢查的 Cron 語法,例如:@every 24h
|
TIMEOUT
|
倉庫健康檢查超時的定義語法,例如:60s
|
ARGS
|
git fsck 命令的參數,例如:--unreachable --tags
|
28. Cron - 倉庫統計檢查 (cron.check_repo_stats)
名稱
|
描述
|
RUN_AT_START
|
激活該選項以在啟動時執行倉庫統計檢查
|
SCHEDULE
|
定時進行倉庫統計檢查的 Cron 語法,例如:@every 24h
|
29. Cron - 倉庫歸檔清理 (cron.repo_archive_cleanup)
名稱
|
描述
|
RUN_AT_START
|
激活該選項以在啟動時執行倉庫歸檔清理
|
SCHEDULE
|
定時進行倉庫歸檔清理的 Cron 語法,例如:@every 24h
|
OLDER_THAN
|
倉庫歸檔的文件有效期,過期的歸檔將被清理,例如:24h
|
30. Git (git)
名稱
|
描述
|
DISABLE_DIFF_HIGHLIGHT
|
激活該選項以禁用行內差異高亮
|
MAX_GIT_DIFF_LINES
|
差異對比頁面單個文件顯示的最大行數
|
MAX_GIT_DIFF_LINE_CHARACTERS
|
差異對比頁面單行顯示的最大字符數
|
MAX_GIT_DIFF_FILES
|
差異對比頁面文件顯示的最多個數
|
GC_ARGS
|
git gc 命令的參數,例如:--aggressive --auto
|
31. Git - 超時 (git.timeout)
名稱
|
描述
|
MIGRATE
|
倉庫遷移操作超時,默認為 600 秒
|
MIRROR
|
倉庫鏡像同步操作超時,默認為 300 秒
|
CLONE
|
倉庫克隆操作超時,默認為 300 秒
|
PULL
|
倉庫拉取操作超時,默認為 300 秒
|
GC
|
倉庫垃圾回收操作超時,默認為 60 秒
|
32. UI (ui)
名稱
|
描述
|
EXPLORE_PAGING_NUM
|
探索頁面每頁顯示倉庫的數量
|
ISSUE_PAGING_NUM
|
每頁顯示工單(Issue)的數量(應用到所有以列表形式顯示工單的頁面)
|
FEED_MAX_COMMIT_NUM
|
一條最新活動中顯示代碼提交(Commit)的最大數量
|
THEME_COLOR_META_TAG
|
被用於 Android >= 5.0 版本 “theme-color” 標記的值,無效的值將被忽略並使用默認值(查看詳情)
|
MAX_DISPLAY_FILE_SIZE
|
顯示到頁面的最大文件體積(Byte)
|
UI - Admin (ui.admin)
名稱
|
描述
|
USER_PAGING_NUM
|
用戶管理頁面每頁顯示記錄條數
|
REPO_PAGING_NUM
|
倉庫管理頁面每頁顯示記錄條數
|
NOTICE_PAGING_NUM
|
系統提示管理頁面每頁顯示記錄條數
|
ORG_PAGING_NUM
|
組織管理頁面每頁顯示記錄條數
|
33. 其他 (other)
名稱
|
描述
|
SHOW_FOOTER_BRANDING
|
激活該選項以在頁腳顯示 Gogs 推廣信息
|
SHOW_FOOTER_VERSION
|
激活該選項以在頁腳顯示 Gogs 版本信息
|
SHOW_FOOTER_TEMPLATE_LOAD_TIME
|
激活該選項以在頁腳顯示 Gogs 模板加載時間
|
按照如上配置項目修改配置文件,重啟服務后生效。