mirror of
https://gitea.com/gitea/docs.git
synced 2026-07-21 10:17:42 +00:00
Add markdownlint (#20512)
Add `markdownlint` linter and fix issues. Config is based on the one from electron's repo with a few rules relaxed.
This commit is contained in:
@@ -30,7 +30,6 @@ see Git version of the server.
|
|||||||
By default, clone filters are enabled, unless `DISABLE_PARTIAL_CLONE` under
|
By default, clone filters are enabled, unless `DISABLE_PARTIAL_CLONE` under
|
||||||
`[git]` is set to `true`.
|
`[git]` is set to `true`.
|
||||||
|
|
||||||
|
|
||||||
See [GitHub blog post: Get up to speed with partial clone](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/)
|
See [GitHub blog post: Get up to speed with partial clone](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/)
|
||||||
for common use cases of clone filters (blobless and treeless clones), and
|
for common use cases of clone filters (blobless and treeless clones), and
|
||||||
[GitLab docs for partial clone](https://docs.gitlab.com/ee/topics/git/partial_clone.html)
|
[GitLab docs for partial clone](https://docs.gitlab.com/ee/topics/git/partial_clone.html)
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
|
|||||||
Configuration for set the expected MIME type based on file extensions of downloadable files. Configuration presents in key-value pairs and file extensions starts with leading `.`.
|
Configuration for set the expected MIME type based on file extensions of downloadable files. Configuration presents in key-value pairs and file extensions starts with leading `.`.
|
||||||
|
|
||||||
The following configuration set `Content-Type: application/vnd.android.package-archive` header when downloading files with `.apk` file extension.
|
The following configuration set `Content-Type: application/vnd.android.package-archive` header when downloading files with `.apk` file extension.
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
.apk=application/vnd.android.package-archive
|
.apk=application/vnd.android.package-archive
|
||||||
```
|
```
|
||||||
@@ -535,7 +536,7 @@ Certain queues have defaults that override the defaults set in `[queue]` (this o
|
|||||||
|
|
||||||
## OAuth2 Client (`oauth2_client`)
|
## OAuth2 Client (`oauth2_client`)
|
||||||
|
|
||||||
- `REGISTER_EMAIL_CONFIRM`: *[service]* **REGISTER\_EMAIL\_CONFIRM**: Set this to enable or disable email confirmation of OAuth2 auto-registration. (Overwrites the REGISTER\_EMAIL\_CONFIRM setting of the `[service]` section)
|
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**: Set this to enable or disable email confirmation of OAuth2 auto-registration. (Overwrites the REGISTER\_EMAIL\_CONFIRM setting of the `[service]` section)
|
||||||
- `OPENID_CONNECT_SCOPES`: **\<empty\>**: List of additional openid connect scopes. (`openid` is implicitly added)
|
- `OPENID_CONNECT_SCOPES`: **\<empty\>**: List of additional openid connect scopes. (`openid` is implicitly added)
|
||||||
- `ENABLE_AUTO_REGISTRATION`: **false**: Automatically create user accounts for new oauth2 users.
|
- `ENABLE_AUTO_REGISTRATION`: **false**: Automatically create user accounts for new oauth2 users.
|
||||||
- `USERNAME`: **nickname**: The source of the username for new oauth2 accounts:
|
- `USERNAME`: **nickname**: The source of the username for new oauth2 accounts:
|
||||||
@@ -731,7 +732,6 @@ Define allowed algorithms and their minimum key length (use -1 to disable a type
|
|||||||
- image = default image will be used (which is set in `REPOSITORY_AVATAR_FALLBACK_IMAGE`)
|
- image = default image will be used (which is set in `REPOSITORY_AVATAR_FALLBACK_IMAGE`)
|
||||||
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: Image used as default repository avatar (if `REPOSITORY_AVATAR_FALLBACK` is set to image and none was uploaded)
|
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: Image used as default repository avatar (if `REPOSITORY_AVATAR_FALLBACK` is set to image and none was uploaded)
|
||||||
|
|
||||||
|
|
||||||
## Project (`project`)
|
## Project (`project`)
|
||||||
|
|
||||||
Default templates for project boards:
|
Default templates for project boards:
|
||||||
@@ -766,11 +766,13 @@ Default templates for project boards:
|
|||||||
- `ENABLE_XORM_LOG`: **true**: Set whether to perform XORM logging. Please note SQL statement logging can be disabled by setting `LOG_SQL` to false in the `[database]` section.
|
- `ENABLE_XORM_LOG`: **true**: Set whether to perform XORM logging. Please note SQL statement logging can be disabled by setting `LOG_SQL` to false in the `[database]` section.
|
||||||
|
|
||||||
### Router Log (`log`)
|
### Router Log (`log`)
|
||||||
|
|
||||||
- `DISABLE_ROUTER_LOG`: **false**: Mute printing of the router log.
|
- `DISABLE_ROUTER_LOG`: **false**: Mute printing of the router log.
|
||||||
- `ROUTER`: **console**: The mode or name of the log the router should log to. (If you set this to `,` it will log to default Gitea logger.)
|
- `ROUTER`: **console**: The mode or name of the log the router should log to. (If you set this to `,` it will log to default Gitea logger.)
|
||||||
NB: You must have `DISABLE_ROUTER_LOG` set to `false` for this option to take effect. Configure each mode in per mode log subsections `\[log.modename.router\]`.
|
NB: You must have `DISABLE_ROUTER_LOG` set to `false` for this option to take effect. Configure each mode in per mode log subsections `\[log.modename.router\]`.
|
||||||
|
|
||||||
### Access Log (`log`)
|
### Access Log (`log`)
|
||||||
|
|
||||||
- `ENABLE_ACCESS_LOG`: **false**: Creates an access.log in NCSA common log format, or as per the following template
|
- `ENABLE_ACCESS_LOG`: **false**: Creates an access.log in NCSA common log format, or as per the following template
|
||||||
- `ACCESS`: **file**: Logging mode for the access logger, use a comma to separate values. Configure each mode in per mode log subsections `\[log.modename.access\]`. By default the file mode will log to `$ROOT_PATH/access.log`. (If you set this to `,` it will log to the default Gitea logger.)
|
- `ACCESS`: **file**: Logging mode for the access logger, use a comma to separate values. Configure each mode in per mode log subsections `\[log.modename.access\]`. By default the file mode will log to `$ROOT_PATH/access.log`. (If you set this to `,` it will log to the default Gitea logger.)
|
||||||
- `ACCESS_LOG_TEMPLATE`: **`{{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}"`**: Sets the template used to create the access log.
|
- `ACCESS_LOG_TEMPLATE`: **`{{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}"`**: Sets the template used to create the access log.
|
||||||
@@ -887,6 +889,7 @@ Default templates for project boards:
|
|||||||
### Extended cron tasks (not enabled by default)
|
### Extended cron tasks (not enabled by default)
|
||||||
|
|
||||||
#### Cron - Garbage collect all repositories ('cron.git_gc_repos')
|
#### Cron - Garbage collect all repositories ('cron.git_gc_repos')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
||||||
@@ -895,36 +898,42 @@ Default templates for project boards:
|
|||||||
- `ARGS`: **\<empty\>**: Arguments for command `git gc`, e.g. `--aggressive --auto`. The default value is same with [git] -> GC_ARGS
|
- `ARGS`: **\<empty\>**: Arguments for command `git gc`, e.g. `--aggressive --auto`. The default value is same with [git] -> GC_ARGS
|
||||||
|
|
||||||
#### Cron - Update the '.ssh/authorized_keys' file with Gitea SSH keys ('cron.resync_all_sshkeys')
|
#### Cron - Update the '.ssh/authorized_keys' file with Gitea SSH keys ('cron.resync_all_sshkeys')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
||||||
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
||||||
|
|
||||||
#### Cron - Resynchronize pre-receive, update and post-receive hooks of all repositories ('cron.resync_all_hooks')
|
#### Cron - Resynchronize pre-receive, update and post-receive hooks of all repositories ('cron.resync_all_hooks')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
||||||
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
||||||
|
|
||||||
#### Cron - Reinitialize all missing Git repositories for which records exist ('cron.reinit_missing_repos')
|
#### Cron - Reinitialize all missing Git repositories for which records exist ('cron.reinit_missing_repos')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
||||||
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
||||||
|
|
||||||
#### Cron - Delete all repositories missing their Git files ('cron.delete_missing_repos')
|
#### Cron - Delete all repositories missing their Git files ('cron.delete_missing_repos')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
||||||
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
||||||
|
|
||||||
#### Cron - Delete generated repository avatars ('cron.delete_generated_repository_avatars')
|
#### Cron - Delete generated repository avatars ('cron.delete_generated_repository_avatars')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
||||||
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
- `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`.
|
||||||
|
|
||||||
#### Cron - Delete all old actions from database ('cron.delete_old_actions')
|
#### Cron - Delete all old actions from database ('cron.delete_old_actions')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
- `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices.
|
||||||
@@ -932,6 +941,7 @@ Default templates for project boards:
|
|||||||
- `OLDER_THAN`: **@every 8760h**: any action older than this expression will be deleted from database, suggest using `8760h` (1 year) because that's the max length of heatmap.
|
- `OLDER_THAN`: **@every 8760h**: any action older than this expression will be deleted from database, suggest using `8760h` (1 year) because that's the max length of heatmap.
|
||||||
|
|
||||||
#### Cron - Check for new Gitea versions ('cron.update_checker')
|
#### Cron - Check for new Gitea versions ('cron.update_checker')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `ENABLE_SUCCESS_NOTICE`: **true**: Set to false to switch off success notices.
|
- `ENABLE_SUCCESS_NOTICE`: **true**: Set to false to switch off success notices.
|
||||||
@@ -939,6 +949,7 @@ Default templates for project boards:
|
|||||||
- `HTTP_ENDPOINT`: **https://dl.gitea.io/gitea/version.json**: the endpoint that Gitea will check for newer versions
|
- `HTTP_ENDPOINT`: **https://dl.gitea.io/gitea/version.json**: the endpoint that Gitea will check for newer versions
|
||||||
|
|
||||||
#### Cron - Delete all old system notices from database ('cron.delete_old_system_notices')
|
#### Cron - Delete all old system notices from database ('cron.delete_old_system_notices')
|
||||||
|
|
||||||
- `ENABLED`: **false**: Enable service.
|
- `ENABLED`: **false**: Enable service.
|
||||||
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
- `RUN_AT_START`: **false**: Run tasks at start up time (if ENABLED).
|
||||||
- `NO_SUCCESS_NOTICE`: **false**: Set to true to switch off success notices.
|
- `NO_SUCCESS_NOTICE`: **false**: Set to true to switch off success notices.
|
||||||
@@ -966,6 +977,7 @@ Default templates for project boards:
|
|||||||
- `DISABLE_PARTIAL_CLONE`: **false** Disable the usage of using partial clones for git.
|
- `DISABLE_PARTIAL_CLONE`: **false** Disable the usage of using partial clones for git.
|
||||||
|
|
||||||
## Git - Timeout settings (`git.timeout`)
|
## Git - Timeout settings (`git.timeout`)
|
||||||
|
|
||||||
- `DEFAUlT`: **360**: Git operations default timeout seconds.
|
- `DEFAUlT`: **360**: Git operations default timeout seconds.
|
||||||
- `MIGRATE`: **600**: Migrate external repositories timeout seconds.
|
- `MIGRATE`: **600**: Migrate external repositories timeout seconds.
|
||||||
- `MIRROR`: **300**: Mirror external repositories timeout seconds.
|
- `MIRROR`: **300**: Mirror external repositories timeout seconds.
|
||||||
@@ -1032,6 +1044,7 @@ IS_INPUT_FILE = false
|
|||||||
- iframe: Render the content in a separate standalone page and embed it into current page by iframe. The iframe is in sandbox mode with same-origin disabled, and the JS code are safely isolated from parent page.
|
- iframe: Render the content in a separate standalone page and embed it into current page by iframe. The iframe is in sandbox mode with same-origin disabled, and the JS code are safely isolated from parent page.
|
||||||
|
|
||||||
Two special environment variables are passed to the render command:
|
Two special environment variables are passed to the render command:
|
||||||
|
|
||||||
- `GITEA_PREFIX_SRC`, which contains the current URL prefix in the `src` path tree. To be used as prefix for links.
|
- `GITEA_PREFIX_SRC`, which contains the current URL prefix in the `src` path tree. To be used as prefix for links.
|
||||||
- `GITEA_PREFIX_RAW`, which contains the current URL prefix in the `raw` path tree. To be used as prefix for image paths.
|
- `GITEA_PREFIX_RAW`, which contains the current URL prefix in the `raw` path tree. To be used as prefix for image paths.
|
||||||
|
|
||||||
@@ -1186,6 +1199,7 @@ is `data/repo-archive` and the default of `MINIO_BASE_PATH` is `repo-archive/`.
|
|||||||
- `PROXY_HOSTS`: **\<empty\>**: Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts.
|
- `PROXY_HOSTS`: **\<empty\>**: Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts.
|
||||||
|
|
||||||
i.e.
|
i.e.
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
PROXY_ENABLED = true
|
PROXY_ENABLED = true
|
||||||
PROXY_URL = socks://127.0.0.1:1080
|
PROXY_URL = socks://127.0.0.1:1080
|
||||||
|
|||||||
@@ -239,7 +239,6 @@ file -I test01.xls
|
|||||||
test01.xls: application/vnd.ms-excel; charset=binary
|
test01.xls: application/vnd.ms-excel; charset=binary
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Log (`log`)
|
## Log (`log`)
|
||||||
|
|
||||||
- `ROOT_PATH`: 日志文件根目录。
|
- `ROOT_PATH`: 日志文件根目录。
|
||||||
@@ -255,7 +254,6 @@ test01.xls: application/vnd.ms-excel; charset=binary
|
|||||||
- 描述符, 例如 `@midnight`, `@every 1h30m` ...
|
- 描述符, 例如 `@midnight`, `@every 1h30m` ...
|
||||||
- 更多细节参见 [cron api文档](https://pkg.go.dev/github.com/gogs/cron@v0.0.0-20171120032916-9f6c956d3e14)
|
- 更多细节参见 [cron api文档](https://pkg.go.dev/github.com/gogs/cron@v0.0.0-20171120032916-9f6c956d3e14)
|
||||||
|
|
||||||
|
|
||||||
### Cron - Update Mirrors (`cron.update_mirrors`)
|
### Cron - Update Mirrors (`cron.update_mirrors`)
|
||||||
|
|
||||||
- `SCHEDULE`: 自动同步镜像仓库的Cron语法,比如:`@every 1h`。
|
- `SCHEDULE`: 自动同步镜像仓库的Cron语法,比如:`@every 1h`。
|
||||||
@@ -440,6 +438,7 @@ Repository archive 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配
|
|||||||
- `PROXY_HOSTS`: **\<empty\>**: 逗号分隔的多个需要代理的网址,支持 * 号匹配符号, ** 表示匹配所有网站
|
- `PROXY_HOSTS`: **\<empty\>**: 逗号分隔的多个需要代理的网址,支持 * 号匹配符号, ** 表示匹配所有网站
|
||||||
|
|
||||||
i.e.
|
i.e.
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
PROXY_ENABLED = true
|
PROXY_ENABLED = true
|
||||||
PROXY_URL = socks://127.0.0.1:1080
|
PROXY_URL = socks://127.0.0.1:1080
|
||||||
|
|||||||
@@ -127,6 +127,7 @@ ALLOW_ATTR = class
|
|||||||
### Example: Office DOCX
|
### Example: Office DOCX
|
||||||
|
|
||||||
Display Office DOCX files with [`pandoc`](https://pandoc.org/):
|
Display Office DOCX files with [`pandoc`](https://pandoc.org/):
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[markup.docx]
|
[markup.docx]
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
@@ -138,6 +139,7 @@ ALLOW_DATA_URI_IMAGES = true
|
|||||||
```
|
```
|
||||||
|
|
||||||
The template file has the following content:
|
The template file has the following content:
|
||||||
|
|
||||||
```
|
```
|
||||||
$body$
|
$body$
|
||||||
```
|
```
|
||||||
@@ -145,6 +147,7 @@ $body$
|
|||||||
### Example: Jupyter Notebook
|
### Example: Jupyter Notebook
|
||||||
|
|
||||||
Display Jupyter Notebook files with [`nbconvert`](https://github.com/jupyter/nbconvert):
|
Display Jupyter Notebook files with [`nbconvert`](https://github.com/jupyter/nbconvert):
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[markup.jupyter]
|
[markup.jupyter]
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
@@ -156,9 +159,11 @@ ALLOW_DATA_URI_IMAGES = true
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Customizing CSS
|
## Customizing CSS
|
||||||
|
|
||||||
The external renderer is specified in the .ini in the format `[markup.XXXXX]` and the HTML supplied by your external renderer will be wrapped in a `<div>` with classes `markup` and `XXXXX`. The `markup` class provides out of the box styling (as does `markdown` if `XXXXX` is `markdown`). Otherwise you can use these classes to specifically target the contents of your rendered HTML.
|
The external renderer is specified in the .ini in the format `[markup.XXXXX]` and the HTML supplied by your external renderer will be wrapped in a `<div>` with classes `markup` and `XXXXX`. The `markup` class provides out of the box styling (as does `markdown` if `XXXXX` is `markdown`). Otherwise you can use these classes to specifically target the contents of your rendered HTML.
|
||||||
|
|
||||||
And so you could write some CSS:
|
And so you could write some CSS:
|
||||||
|
|
||||||
```css
|
```css
|
||||||
.markup.XXXXX html {
|
.markup.XXXXX html {
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
@@ -184,6 +189,7 @@ And so you could write some CSS:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Add your stylesheet to your custom directory e.g `custom/public/css/my-style-XXXXX.css` and import it using a custom header file `custom/templates/custom/header.tmpl`:
|
Add your stylesheet to your custom directory e.g `custom/public/css/my-style-XXXXX.css` and import it using a custom header file `custom/templates/custom/header.tmpl`:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<link type="text/css" href="{{AppSubUrl}}/assets/css/my-style-XXXXX.css" />
|
<link type="text/css" href="{{AppSubUrl}}/assets/css/my-style-XXXXX.css" />
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ For an existing remote repository, you can set up pull mirroring as follows:
|
|||||||
3. Enter a repository URL.
|
3. Enter a repository URL.
|
||||||
4. If the repository needs authentication fill in your authentication information.
|
4. If the repository needs authentication fill in your authentication information.
|
||||||
5. Check the box **This repository will be a mirror**.
|
5. Check the box **This repository will be a mirror**.
|
||||||
5. Select **Migrate repository** to save the configuration.
|
6. Select **Migrate repository** to save the configuration.
|
||||||
|
|
||||||
The repository now gets mirrored periodically from the remote repository. You can force a sync by selecting **Synchronize Now** in the repository settings.
|
The repository now gets mirrored periodically from the remote repository. You can force a sync by selecting **Synchronize Now** in the repository settings.
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ create a file called `robots.txt` in the [`custom` folder or `CustomPath`]({{< r
|
|||||||
|
|
||||||
Examples on how to configure the `robots.txt` can be found at [https://moz.com/learn/seo/robotstxt](https://moz.com/learn/seo/robotstxt).
|
Examples on how to configure the `robots.txt` can be found at [https://moz.com/learn/seo/robotstxt](https://moz.com/learn/seo/robotstxt).
|
||||||
|
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Disallow: /
|
||||||
|
|||||||
@@ -14,23 +14,26 @@ menu:
|
|||||||
---
|
---
|
||||||
|
|
||||||
# 第三方工具列表
|
# 第三方工具列表
|
||||||
|
|
||||||
**注意:** 这些工具并没有经过Gitea的检验,在这里列出它们只是为了便捷.
|
**注意:** 这些工具并没有经过Gitea的检验,在这里列出它们只是为了便捷.
|
||||||
|
|
||||||
*此列表并不是完整的列表,可以随时咨询如何添加!*
|
*此列表并不是完整的列表,可以随时咨询如何添加!*
|
||||||
|
|
||||||
### 持续集成
|
### 持续集成
|
||||||
|
|
||||||
[BuildKite 连接器](https://github.com/techknowlogick/gitea-buildkite-connector)
|
[BuildKite 连接器](https://github.com/techknowlogick/gitea-buildkite-connector)
|
||||||
[Jenkins 插件](https://github.com/jenkinsci/gitea-plugin)
|
[Jenkins 插件](https://github.com/jenkinsci/gitea-plugin)
|
||||||
[Gitea搭配Drone](https://docs.drone.io/installation/gitea)
|
[Gitea搭配Drone](https://docs.drone.io/installation/gitea)
|
||||||
|
|
||||||
|
|
||||||
### 迁移
|
### 迁移
|
||||||
|
|
||||||
[Gitea安装脚本](https://git.coolaj86.com/coolaj86/gitea-installer.sh)
|
[Gitea安装脚本](https://git.coolaj86.com/coolaj86/gitea-installer.sh)
|
||||||
[GitHub迁移](https://gitea.com/gitea/migrator)
|
[GitHub迁移](https://gitea.com/gitea/migrator)
|
||||||
|
|
||||||
|
|
||||||
### 移动端
|
### 移动端
|
||||||
|
|
||||||
[安卓客户端GitNex](https://gitlab.com/mmarif4u/gitnex)
|
[安卓客户端GitNex](https://gitlab.com/mmarif4u/gitnex)
|
||||||
|
|
||||||
### 编辑器扩展
|
### 编辑器扩展
|
||||||
|
|
||||||
- [Gitea的Visual Studio扩展](https://github.com/maikebing/Gitea.VisualStudio) 从 [Visual Studio 扩展市场](https://marketplace.visualstudio.com/items?itemName=MysticBoy.GiteaExtensionforVisualStudio) 下载
|
- [Gitea的Visual Studio扩展](https://github.com/maikebing/Gitea.VisualStudio) 从 [Visual Studio 扩展市场](https://marketplace.visualstudio.com/items?itemName=MysticBoy.GiteaExtensionforVisualStudio) 下载
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ A new token can be generated with a `POST` request to
|
|||||||
Note that `/users/:name/tokens` is a special endpoint and requires you
|
Note that `/users/:name/tokens` is a special endpoint and requires you
|
||||||
to authenticate using `BasicAuth` and a password, as follows:
|
to authenticate using `BasicAuth` and a password, as follows:
|
||||||
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ curl -XPOST -H "Content-Type: application/json" -k -d '{"name":"test"}' -u username:password https://gitea.your.host/api/v1/users/<username>/tokens
|
$ curl -XPOST -H "Content-Type: application/json" -k -d '{"name":"test"}' -u username:password https://gitea.your.host/api/v1/users/<username>/tokens
|
||||||
{"id":1,"name":"test","sha1":"9fcb1158165773dd010fca5f0cf7174316c3e37d","token_last_eight":"16c3e37d"}
|
{"id":1,"name":"test","sha1":"9fcb1158165773dd010fca5f0cf7174316c3e37d","token_last_eight":"16c3e37d"}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ Gitea uses [Less CSS](https://lesscss.org), [Fomantic-UI](https://fomantic-ui.co
|
|||||||
The HTML pages are rendered by [Go HTML Template](https://pkg.go.dev/html/template).
|
The HTML pages are rendered by [Go HTML Template](https://pkg.go.dev/html/template).
|
||||||
|
|
||||||
The source files can be found in the following directories:
|
The source files can be found in the following directories:
|
||||||
|
|
||||||
* **Less styles:** `web_src/less/`
|
* **Less styles:** `web_src/less/`
|
||||||
* **JavaScript files:** `web_src/js/`
|
* **JavaScript files:** `web_src/js/`
|
||||||
* **Vue components:** `web_src/js/components/`
|
* **Vue components:** `web_src/js/components/`
|
||||||
@@ -45,18 +46,19 @@ We recommend [Google HTML/CSS Style Guide](https://google.github.io/styleguide/h
|
|||||||
6. The backend can pass complex data to the frontend by using `ctx.PageData["myModuleData"] = map[]{}`
|
6. The backend can pass complex data to the frontend by using `ctx.PageData["myModuleData"] = map[]{}`
|
||||||
7. Simple pages and SEO-related pages use Go HTML Template render to generate static Fomantic-UI HTML output. Complex pages can use Vue2 (or Vue3 in future).
|
7. Simple pages and SEO-related pages use Go HTML Template render to generate static Fomantic-UI HTML output. Complex pages can use Vue2 (or Vue3 in future).
|
||||||
|
|
||||||
|
|
||||||
### Framework Usage
|
### Framework Usage
|
||||||
|
|
||||||
Mixing different frameworks together is discouraged, it makes the code difficult to be maintained.
|
Mixing different frameworks together is discouraged, it makes the code difficult to be maintained.
|
||||||
A JavaScript module should follow one major framework and follow the framework's best practice.
|
A JavaScript module should follow one major framework and follow the framework's best practice.
|
||||||
|
|
||||||
Recommended implementations:
|
Recommended implementations:
|
||||||
|
|
||||||
* Vue + Vanilla JS
|
* Vue + Vanilla JS
|
||||||
* Fomantic-UI (jQuery)
|
* Fomantic-UI (jQuery)
|
||||||
* Vanilla JS
|
* Vanilla JS
|
||||||
|
|
||||||
Discouraged implementations:
|
Discouraged implementations:
|
||||||
|
|
||||||
* Vue + Fomantic-UI (jQuery)
|
* Vue + Fomantic-UI (jQuery)
|
||||||
* jQuery + Vanilla JS
|
* jQuery + Vanilla JS
|
||||||
|
|
||||||
@@ -91,7 +93,6 @@ However, there are still some special cases, so the current guideline is:
|
|||||||
* `node.dataset` should not be used, use `node.getAttribute` instead.
|
* `node.dataset` should not be used, use `node.getAttribute` instead.
|
||||||
* never bind any user data to a DOM node, use a suitable design pattern to describe the relation between node and data.
|
* never bind any user data to a DOM node, use a suitable design pattern to describe the relation between node and data.
|
||||||
|
|
||||||
|
|
||||||
### Legacy Code
|
### Legacy Code
|
||||||
|
|
||||||
A lot of legacy code already existed before this document's written. It's recommended to refactor legacy code to follow the guidelines.
|
A lot of legacy code already existed before this document's written. It's recommended to refactor legacy code to follow the guidelines.
|
||||||
|
|||||||
@@ -312,7 +312,6 @@ may need adjustment to the local environment.
|
|||||||
Take a look at [`integrations/README.md`](https://github.com/go-gitea/gitea/blob/main/integrations/README.md)
|
Take a look at [`integrations/README.md`](https://github.com/go-gitea/gitea/blob/main/integrations/README.md)
|
||||||
for more information and how to run a single test.
|
for more information and how to run a single test.
|
||||||
|
|
||||||
|
|
||||||
### Testing for a PR
|
### Testing for a PR
|
||||||
|
|
||||||
Our continuous integration will test the code passes its unit tests and that
|
Our continuous integration will test the code passes its unit tests and that
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ menu:
|
|||||||
# Migration Features
|
# Migration Features
|
||||||
|
|
||||||
Complete migrations were introduced in Gitea 1.9.0. It defines two interfaces to support migrating
|
Complete migrations were introduced in Gitea 1.9.0. It defines two interfaces to support migrating
|
||||||
repository data from other Git host platforms to Gitea or, in the future, migrating Gitea data to other
|
repository data from other Git host platforms to Gitea or, in the future, migrating Gitea data to other Git host platforms.
|
||||||
Git host platforms.
|
|
||||||
Currently, migrations from GitHub, GitLab, and other Gitea instances are implemented.
|
Currently, migrations from GitHub, GitLab, and other Gitea instances are implemented.
|
||||||
|
|
||||||
First of all, Gitea defines some standard objects in packages [modules/migration](https://github.com/go-gitea/gitea/tree/main/modules/migration).
|
First of all, Gitea defines some standard objects in packages [modules/migration](https://github.com/go-gitea/gitea/tree/main/modules/migration).
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ Gitea supports acting as an OAuth2 provider to allow third party applications to
|
|||||||
## Supported OAuth2 Grants
|
## Supported OAuth2 Grants
|
||||||
|
|
||||||
At the moment Gitea only supports the [**Authorization Code Grant**](https://tools.ietf.org/html/rfc6749#section-1.3.1) standard with additional support of the following extensions:
|
At the moment Gitea only supports the [**Authorization Code Grant**](https://tools.ietf.org/html/rfc6749#section-1.3.1) standard with additional support of the following extensions:
|
||||||
|
|
||||||
- [Proof Key for Code Exchange (PKCE)](https://tools.ietf.org/html/rfc7636)
|
- [Proof Key for Code Exchange (PKCE)](https://tools.ietf.org/html/rfc7636)
|
||||||
- [OpenID Connect (OIDC)](https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth)
|
- [OpenID Connect (OIDC)](https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth)
|
||||||
|
|
||||||
|
|||||||
@@ -109,7 +109,6 @@ _表格中的符号含义:_
|
|||||||
| Pull/Merge requests 模板 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
|
| Pull/Merge requests 模板 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
|
||||||
| 查看 Cherry-picking 的更改 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
|
| 查看 Cherry-picking 的更改 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
|
||||||
|
|
||||||
|
|
||||||
#### 第三方集成
|
#### 第三方集成
|
||||||
|
|
||||||
| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
|
| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
|
||||||
|
|||||||
@@ -27,5 +27,7 @@ For changes to a **non-English** translation, refer to the Crowdin project above
|
|||||||
Any language listed in the above Crowdin project will be supported as long as 25% or more has been translated.
|
Any language listed in the above Crowdin project will be supported as long as 25% or more has been translated.
|
||||||
|
|
||||||
After a translation has been accepted, it will be reflected in the main repository after the next Crowdin sync, which is generally after any PR is merged.
|
After a translation has been accepted, it will be reflected in the main repository after the next Crowdin sync, which is generally after any PR is merged.
|
||||||
|
|
||||||
At the time of writing, this means that a changed translation may not appear until the following Gitea release.
|
At the time of writing, this means that a changed translation may not appear until the following Gitea release.
|
||||||
|
|
||||||
If you use a bleeding edge build, it should appear as soon as you update after the change is synced.
|
If you use a bleeding edge build, it should appear as soon as you update after the change is synced.
|
||||||
|
|||||||
@@ -26,5 +26,7 @@ menu:
|
|||||||
上述 Crowdin 專案中列出的語言在翻譯超過 25% 後將被支援。
|
上述 Crowdin 專案中列出的語言在翻譯超過 25% 後將被支援。
|
||||||
|
|
||||||
翻譯被認可後將在下次 Crowdin 同步後進入到主儲存庫,通常是在任何合併請求被合併之後。
|
翻譯被認可後將在下次 Crowdin 同步後進入到主儲存庫,通常是在任何合併請求被合併之後。
|
||||||
|
|
||||||
這表示更改的翻譯要到下次 Gitea 發佈後才會出現。
|
這表示更改的翻譯要到下次 Gitea 發佈後才會出現。
|
||||||
|
|
||||||
如果您使用的是最新建置,它將會在同步完成、您更新後出現。
|
如果您使用的是最新建置,它將會在同步完成、您更新後出現。
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ menu:
|
|||||||
# Frequently Asked Questions <!-- omit in toc -->
|
# Frequently Asked Questions <!-- omit in toc -->
|
||||||
|
|
||||||
This page contains some common questions and answers.
|
This page contains some common questions and answers.
|
||||||
|
|
||||||
For more help resources, check all [Support Options]({{< relref "doc/help/seek-help.en-us.md" >}}).
|
For more help resources, check all [Support Options]({{< relref "doc/help/seek-help.en-us.md" >}}).
|
||||||
|
|
||||||
**Table of Contents**
|
**Table of Contents**
|
||||||
@@ -25,13 +26,17 @@ For more help resources, check all [Support Options]({{< relref "doc/help/seek-h
|
|||||||
## Difference between 1.x and 1.x.x downloads
|
## Difference between 1.x and 1.x.x downloads
|
||||||
|
|
||||||
Version 1.7.x will be used for this example.
|
Version 1.7.x will be used for this example.
|
||||||
|
|
||||||
**NOTE:** this example applies to Docker images as well!
|
**NOTE:** this example applies to Docker images as well!
|
||||||
|
|
||||||
On our [downloads page](https://dl.gitea.io/gitea/) you will see a 1.7 directory, as well as directories for 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, and 1.7.6.
|
On our [downloads page](https://dl.gitea.io/gitea/) you will see a 1.7 directory, as well as directories for 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, and 1.7.6.
|
||||||
|
|
||||||
The 1.7 and 1.7.0 directories are **not** the same. The 1.7 directory is built on each merged commit to the [`release/v1.7`](https://github.com/go-gitea/gitea/tree/release/v1.7) branch.
|
The 1.7 and 1.7.0 directories are **not** the same. The 1.7 directory is built on each merged commit to the [`release/v1.7`](https://github.com/go-gitea/gitea/tree/release/v1.7) branch.
|
||||||
|
|
||||||
The 1.7.0 directory, however, is a build that was created when the [`v1.7.0`](https://github.com/go-gitea/gitea/releases/tag/v1.7.0) tag was created.
|
The 1.7.0 directory, however, is a build that was created when the [`v1.7.0`](https://github.com/go-gitea/gitea/releases/tag/v1.7.0) tag was created.
|
||||||
|
|
||||||
This means that 1.x downloads will change as commits are merged to their respective branch (think of it as a separate "main" branch for each release).
|
This means that 1.x downloads will change as commits are merged to their respective branch (think of it as a separate "main" branch for each release).
|
||||||
|
|
||||||
On the other hand, 1.x.x downloads should never change.
|
On the other hand, 1.x.x downloads should never change.
|
||||||
|
|
||||||
## How to migrate from Gogs/GitHub/etc. to Gitea
|
## How to migrate from Gogs/GitHub/etc. to Gitea
|
||||||
@@ -42,10 +47,13 @@ To migrate from Gogs to Gitea:
|
|||||||
- [Gogs version 0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286)
|
- [Gogs version 0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286)
|
||||||
|
|
||||||
To migrate from GitHub to Gitea, you can use Gitea's built-in migration form.
|
To migrate from GitHub to Gitea, you can use Gitea's built-in migration form.
|
||||||
|
|
||||||
In order to migrate items such as issues, pull requests, etc. you will need to input at least your username.
|
In order to migrate items such as issues, pull requests, etc. you will need to input at least your username.
|
||||||
|
|
||||||
[Example (requires login)](https://try.gitea.io/repo/migrate)
|
[Example (requires login)](https://try.gitea.io/repo/migrate)
|
||||||
|
|
||||||
To migrate from GitLab to Gitea, you can use this non-affiliated tool:
|
To migrate from GitLab to Gitea, you can use this non-affiliated tool:
|
||||||
|
|
||||||
https://github.com/loganinak/MigrateGitlabToGogs
|
https://github.com/loganinak/MigrateGitlabToGogs
|
||||||
|
|
||||||
## Where does Gitea store what file
|
## Where does Gitea store what file
|
||||||
@@ -83,9 +91,9 @@ There are a few places that could make this show incorrectly.
|
|||||||
|
|
||||||
If certain clone options aren't showing up (HTTP/S or SSH), the following options can be checked in your `app.ini`
|
If certain clone options aren't showing up (HTTP/S or SSH), the following options can be checked in your `app.ini`
|
||||||
|
|
||||||
`DISABLE_HTTP_GIT`: if set to true, there will be no HTTP/HTTPS link
|
- `DISABLE_HTTP_GIT`: if set to true, there will be no HTTP/HTTPS link
|
||||||
`DISABLE_SSH`: if set to true, there will be no SSH link
|
- `DISABLE_SSH`: if set to true, there will be no SSH link
|
||||||
`SSH_EXPOSE_ANONYMOUS`: if set to false, SSH links will be hidden for anonymous users
|
- `SSH_EXPOSE_ANONYMOUS`: if set to false, SSH links will be hidden for anonymous users
|
||||||
|
|
||||||
## File upload fails with: 413 Request Entity Too Large
|
## File upload fails with: 413 Request Entity Too Large
|
||||||
|
|
||||||
@@ -96,18 +104,20 @@ See the [reverse proxy guide]({{< relref "doc/usage/reverse-proxies.en-us.md" >}
|
|||||||
## Custom Templates not loading or working incorrectly
|
## Custom Templates not loading or working incorrectly
|
||||||
|
|
||||||
Gitea's custom templates must be added to the correct location or Gitea will not find and use them.
|
Gitea's custom templates must be added to the correct location or Gitea will not find and use them.
|
||||||
|
|
||||||
The correct path for the template(s) will be relative to the `CustomPath`
|
The correct path for the template(s) will be relative to the `CustomPath`
|
||||||
|
|
||||||
1. To find `CustomPath`, look for Custom File Root Path in Site Administration -> Configuration
|
1. To find `CustomPath`, look for Custom File Root Path in Site Administration -> Configuration
|
||||||
|
|
||||||
- If that doesn't exist, you can try `echo $GITEA_CUSTOM`
|
If that doesn't exist, you can try `echo $GITEA_CUSTOM`
|
||||||
|
|
||||||
2. If you are still unable to find a path, the default can be [calculated above](#where-does-gitea-store-x-file)
|
2. If you are still unable to find a path, the default can be [calculated above](#where-does-gitea-store-what-file)
|
||||||
3. Once you have figured out the correct custom path, you can refer to the [customizing Gitea]({{< relref "doc/advanced/customizing-gitea.en-us.md" >}}) page to add your template to the correct location.
|
3. Once you have figured out the correct custom path, you can refer to the [customizing Gitea]({{< relref "doc/advanced/customizing-gitea.en-us.md" >}}) page to add your template to the correct location.
|
||||||
|
|
||||||
## Active user vs login prohibited user
|
## Active user vs login prohibited user
|
||||||
|
|
||||||
In Gitea, an "active" user refers to a user that has activated their account via email.
|
In Gitea, an "active" user refers to a user that has activated their account via email.
|
||||||
|
|
||||||
A "login prohibited" user is a user that is not allowed to log in to Gitea anymore
|
A "login prohibited" user is a user that is not allowed to log in to Gitea anymore
|
||||||
|
|
||||||
## Setting up logging
|
## Setting up logging
|
||||||
@@ -117,7 +127,9 @@ A "login prohibited" user is a user that is not allowed to log in to Gitea anymo
|
|||||||
## What is Swagger?
|
## What is Swagger?
|
||||||
|
|
||||||
[Swagger](https://swagger.io/) is what Gitea uses for its API.
|
[Swagger](https://swagger.io/) is what Gitea uses for its API.
|
||||||
|
|
||||||
All Gitea instances have the built-in API, though it can be disabled by setting `ENABLE_SWAGGER` to `false` in the `api` section of your `app.ini`
|
All Gitea instances have the built-in API, though it can be disabled by setting `ENABLE_SWAGGER` to `false` in the `api` section of your `app.ini`
|
||||||
|
|
||||||
For more information, refer to Gitea's [API docs]({{< relref "doc/developers/api-usage.en-us.md" >}})
|
For more information, refer to Gitea's [API docs]({{< relref "doc/developers/api-usage.en-us.md" >}})
|
||||||
|
|
||||||
[Swagger Example](https://try.gitea.io/api/swagger)
|
[Swagger Example](https://try.gitea.io/api/swagger)
|
||||||
@@ -140,6 +152,7 @@ You can configure `EMAIL_DOMAIN_WHITELIST` or `EMAIL_DOMAIN_BLOCKLIST` in your a
|
|||||||
### Only allow/block certain OpenID providers
|
### Only allow/block certain OpenID providers
|
||||||
|
|
||||||
You can configure `WHITELISTED_URIS` or `BLACKLISTED_URIS` under `[openid]` in your `app.ini`
|
You can configure `WHITELISTED_URIS` or `BLACKLISTED_URIS` under `[openid]` in your `app.ini`
|
||||||
|
|
||||||
**NOTE:** whitelisted takes precedence, so if it is non-blank then blacklisted is ignored
|
**NOTE:** whitelisted takes precedence, so if it is non-blank then blacklisted is ignored
|
||||||
|
|
||||||
### Issue only users
|
### Issue only users
|
||||||
@@ -164,37 +177,47 @@ Gitea supports three official themes right now, `gitea` (light), `arc-green` (da
|
|||||||
To add your own theme, currently the only way is to provide a complete theme (not just color overrides)
|
To add your own theme, currently the only way is to provide a complete theme (not just color overrides)
|
||||||
|
|
||||||
As an example, let's say our theme is `arc-blue` (this is a real theme, and can be found [in this issue](https://github.com/go-gitea/gitea/issues/6011))
|
As an example, let's say our theme is `arc-blue` (this is a real theme, and can be found [in this issue](https://github.com/go-gitea/gitea/issues/6011))
|
||||||
|
|
||||||
Name the `.css` file `theme-arc-blue.css` and add it to your custom folder in `custom/public/css`
|
Name the `.css` file `theme-arc-blue.css` and add it to your custom folder in `custom/public/css`
|
||||||
|
|
||||||
Allow users to use it by adding `arc-blue` to the list of `THEMES` in your `app.ini`
|
Allow users to use it by adding `arc-blue` to the list of `THEMES` in your `app.ini`
|
||||||
|
|
||||||
## SSHD vs built-in SSH
|
## SSHD vs built-in SSH
|
||||||
|
|
||||||
SSHD is the built-in SSH server on most Unix systems.
|
SSHD is the built-in SSH server on most Unix systems.
|
||||||
|
|
||||||
Gitea also provides its own SSH server, for usage when SSHD is not available.
|
Gitea also provides its own SSH server, for usage when SSHD is not available.
|
||||||
|
|
||||||
## Gitea is running slow
|
## Gitea is running slow
|
||||||
|
|
||||||
The most common culprit for this is loading federated avatars.
|
The most common culprit for this is loading federated avatars.
|
||||||
|
|
||||||
This can be turned off by setting `ENABLE_FEDERATED_AVATAR` to `false` in your `app.ini`
|
This can be turned off by setting `ENABLE_FEDERATED_AVATAR` to `false` in your `app.ini`
|
||||||
|
|
||||||
Another option that may need to be changed is setting `DISABLE_GRAVATAR` to `true` in your `app.ini`
|
Another option that may need to be changed is setting `DISABLE_GRAVATAR` to `true` in your `app.ini`
|
||||||
|
|
||||||
## Can't create repositories/files
|
## Can't create repositories/files
|
||||||
|
|
||||||
Make sure that Gitea has sufficient permissions to write to its home directory and data directory.
|
Make sure that Gitea has sufficient permissions to write to its home directory and data directory.
|
||||||
See [AppDataPath and RepoRootPath](#where-does-gitea-store-x-file)
|
|
||||||
|
See [AppDataPath and RepoRootPath](#where-does-gitea-store-what-file)
|
||||||
|
|
||||||
**Note for Arch users:** At the time of writing this, there is an issue with the Arch package's systemd file including this line:
|
**Note for Arch users:** At the time of writing this, there is an issue with the Arch package's systemd file including this line:
|
||||||
|
|
||||||
`ReadWritePaths=/etc/gitea/app.ini`
|
`ReadWritePaths=/etc/gitea/app.ini`
|
||||||
|
|
||||||
Which makes all other paths non-writeable to Gitea.
|
Which makes all other paths non-writeable to Gitea.
|
||||||
|
|
||||||
## Translation is incorrect/how to add more translations
|
## Translation is incorrect/how to add more translations
|
||||||
|
|
||||||
Our translations are currently crowd-sourced on our [Crowdin project](https://crowdin.com/project/gitea)
|
Our translations are currently crowd-sourced on our [Crowdin project](https://crowdin.com/project/gitea)
|
||||||
|
|
||||||
Whether you want to change a translation or add a new one, it will need to be there as all translations are overwritten in our CI via the Crowdin integration.
|
Whether you want to change a translation or add a new one, it will need to be there as all translations are overwritten in our CI via the Crowdin integration.
|
||||||
|
|
||||||
## Hooks aren't running
|
## Hooks aren't running
|
||||||
|
|
||||||
If Gitea is not running hooks, a common cause is incorrect setup of SSH keys.
|
If Gitea is not running hooks, a common cause is incorrect setup of SSH keys.
|
||||||
|
|
||||||
See [SSH Issues](#ssh-issues) for more information.
|
See [SSH Issues](#ssh-issues) for more information.
|
||||||
|
|
||||||
You can also try logging into the administration panel and running the `Resynchronize pre-receive, update and post-receive hooks of all repositories.` option.
|
You can also try logging into the administration panel and running the `Resynchronize pre-receive, update and post-receive hooks of all repositories.` option.
|
||||||
@@ -204,6 +227,7 @@ You can also try logging into the administration panel and running the `Resynchr
|
|||||||
If you cannot reach repositories over `ssh`, but `https` works fine, consider looking into the following.
|
If you cannot reach repositories over `ssh`, but `https` works fine, consider looking into the following.
|
||||||
|
|
||||||
First, make sure you can access Gitea via SSH.
|
First, make sure you can access Gitea via SSH.
|
||||||
|
|
||||||
`ssh git@myremote.example`
|
`ssh git@myremote.example`
|
||||||
|
|
||||||
If the connection is successful, you should receive an error message like the following:
|
If the connection is successful, you should receive an error message like the following:
|
||||||
@@ -237,6 +261,7 @@ following things:
|
|||||||
- Make sure the repository exists and is correctly named.
|
- Make sure the repository exists and is correctly named.
|
||||||
- Check the permissions of the `.ssh` directory in the system user's home directory.
|
- Check the permissions of the `.ssh` directory in the system user's home directory.
|
||||||
- Verify that the correct public keys are added to `.ssh/authorized_keys`.
|
- Verify that the correct public keys are added to `.ssh/authorized_keys`.
|
||||||
|
|
||||||
Try to run `Rewrite '.ssh/authorized_keys' file (for Gitea SSH keys)` on the
|
Try to run `Rewrite '.ssh/authorized_keys' file (for Gitea SSH keys)` on the
|
||||||
Gitea admin panel.
|
Gitea admin panel.
|
||||||
- Read Gitea logs.
|
- Read Gitea logs.
|
||||||
@@ -290,6 +315,7 @@ error: failed to push some refs to '<GIT_REPO_URL>'
|
|||||||
```
|
```
|
||||||
|
|
||||||
Check the value of `LFS_HTTP_AUTH_EXPIRY` in your `app.ini` file.
|
Check the value of `LFS_HTTP_AUTH_EXPIRY` in your `app.ini` file.
|
||||||
|
|
||||||
By default, your LFS token will expire after 20 minutes. If you have a slow connection or a large file (or both), it may not finish uploading within the time limit.
|
By default, your LFS token will expire after 20 minutes. If you have a slow connection or a large file (or both), it may not finish uploading within the time limit.
|
||||||
|
|
||||||
You may want to set this value to `60m` or `120m`.
|
You may want to set this value to `60m` or `120m`.
|
||||||
@@ -307,16 +333,20 @@ There is no setting for password resets. It is enabled when a [mail service]({{<
|
|||||||
- As an **admin**, you can change any user's password (and optionally force them to change it on next login)...
|
- As an **admin**, you can change any user's password (and optionally force them to change it on next login)...
|
||||||
- By navigating to your `Site Administration -> User Accounts` page and editing a user.
|
- By navigating to your `Site Administration -> User Accounts` page and editing a user.
|
||||||
- By using the [admin CLI commands]({{< relref "doc/usage/command-line.en-us.md#admin" >}}).
|
- By using the [admin CLI commands]({{< relref "doc/usage/command-line.en-us.md#admin" >}}).
|
||||||
|
|
||||||
Keep in mind most commands will also need a [global flag]({{< relref "doc/usage/command-line.en-us.md#global-options" >}}) to point the CLI at the correct configuration.
|
Keep in mind most commands will also need a [global flag]({{< relref "doc/usage/command-line.en-us.md#global-options" >}}) to point the CLI at the correct configuration.
|
||||||
- As a **user** you can change it...
|
- As a **user** you can change it...
|
||||||
- In your account `Settings -> Account` page (this method **requires** you to know your current password).
|
- In your account `Settings -> Account` page (this method **requires** you to know your current password).
|
||||||
- By using the `Forgot Password` link.
|
- By using the `Forgot Password` link.
|
||||||
|
|
||||||
If the `Forgot Password/Account Recovery` page is disabled, please contact your administrator to configure a [mail service]({{< relref "doc/usage/email-setup.en-us.md" >}}).
|
If the `Forgot Password/Account Recovery` page is disabled, please contact your administrator to configure a [mail service]({{< relref "doc/usage/email-setup.en-us.md" >}}).
|
||||||
|
|
||||||
## Why is my markdown broken
|
## Why is my markdown broken
|
||||||
|
|
||||||
In Gitea version `1.11` we moved to [goldmark](https://github.com/yuin/goldmark) for markdown rendering, which is [CommonMark](https://commonmark.org/) compliant.
|
In Gitea version `1.11` we moved to [goldmark](https://github.com/yuin/goldmark) for markdown rendering, which is [CommonMark](https://commonmark.org/) compliant.
|
||||||
|
|
||||||
If you have markdown that worked as you expected prior to version `1.11` and after upgrading it's not working anymore, please look through the CommonMark spec to see whether the problem is due to a bug or non-compliant syntax.
|
If you have markdown that worked as you expected prior to version `1.11` and after upgrading it's not working anymore, please look through the CommonMark spec to see whether the problem is due to a bug or non-compliant syntax.
|
||||||
|
|
||||||
If it is the latter, _usually_ there is a compliant alternative listed in the spec.
|
If it is the latter, _usually_ there is a compliant alternative listed in the spec.
|
||||||
|
|
||||||
## Upgrade errors with MySQL
|
## Upgrade errors with MySQL
|
||||||
@@ -333,7 +363,9 @@ is too small. Gitea requires that the `ROWFORMAT` for its tables is `DYNAMIC`.
|
|||||||
If you are receiving an error line containing `Error 1071: Specified key was too long; max key length is 1000 bytes...`
|
If you are receiving an error line containing `Error 1071: Specified key was too long; max key length is 1000 bytes...`
|
||||||
then you are attempting to run Gitea on tables which use the ISAM engine. While this may have worked by chance in previous versions of Gitea, it has never been officially supported and
|
then you are attempting to run Gitea on tables which use the ISAM engine. While this may have worked by chance in previous versions of Gitea, it has never been officially supported and
|
||||||
you must use InnoDB. You should run `ALTER TABLE table_name ENGINE=InnoDB;` for each table in the database.
|
you must use InnoDB. You should run `ALTER TABLE table_name ENGINE=InnoDB;` for each table in the database.
|
||||||
|
|
||||||
If you are using MySQL 5, another possible fix is
|
If you are using MySQL 5, another possible fix is
|
||||||
|
|
||||||
```mysql
|
```mysql
|
||||||
SET GLOBAL innodb_file_format=Barracuda;
|
SET GLOBAL innodb_file_format=Barracuda;
|
||||||
SET GLOBAL innodb_file_per_table=1;
|
SET GLOBAL innodb_file_per_table=1;
|
||||||
@@ -404,8 +436,8 @@ gitea doctor recreate-table
|
|||||||
|
|
||||||
It is highly recommended to back-up your database before running these commands.
|
It is highly recommended to back-up your database before running these commands.
|
||||||
|
|
||||||
|
|
||||||
## Why are tabs/indents wrong when viewing files
|
## Why are tabs/indents wrong when viewing files
|
||||||
|
|
||||||
If you are using Cloudflare, turn off the auto-minify option in the dashboard.
|
If you are using Cloudflare, turn off the auto-minify option in the dashboard.
|
||||||
|
|
||||||
`Speed` -> `Optimization` -> Uncheck `HTML` within the `Auto-Minify` settings.
|
`Speed` -> `Optimization` -> Uncheck `HTML` within the `Auto-Minify` settings.
|
||||||
|
|||||||
@@ -22,9 +22,10 @@ menu:
|
|||||||
|
|
||||||
1. Your `app.ini` (with any sensitive data scrubbed as necessary).
|
1. Your `app.ini` (with any sensitive data scrubbed as necessary).
|
||||||
2. The Gitea logs, and any other appropriate log files for the situation.
|
2. The Gitea logs, and any other appropriate log files for the situation.
|
||||||
* The logs are likely to be outputted to console. If you need to collect logs from files,
|
- The logs are likely to be outputted to console. If you need to collect logs from files,
|
||||||
you could copy the following config into your `app.ini` (remove all other `[log]` sections),
|
you could copy the following config into your `app.ini` (remove all other `[log]` sections),
|
||||||
then you can find the `*.log` files in Gitea's log directory (default: `%(GITEA_WORK_DIR)/log`).
|
then you can find the `*.log` files in Gitea's log directory (default: `%(GITEA_WORK_DIR)/log`).
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
; To show all SQL logs, you can also set LOG_SQL=true in the [database] section
|
; To show all SQL logs, you can also set LOG_SQL=true in the [database] section
|
||||||
[log]
|
[log]
|
||||||
@@ -39,15 +40,18 @@ menu:
|
|||||||
[log.file.xorm]
|
[log.file.xorm]
|
||||||
FILE_NAME=xorm.log
|
FILE_NAME=xorm.log
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Any error messages you are seeing.
|
3. Any error messages you are seeing.
|
||||||
4. When possible, try to replicate the issue on [try.gitea.io](https://try.gitea.io) and include steps so that others can reproduce the issue.
|
4. When possible, try to replicate the issue on [try.gitea.io](https://try.gitea.io) and include steps so that others can reproduce the issue.
|
||||||
* This will greatly improve the chance that the root of the issue can be quickly discovered and resolved.
|
- This will greatly improve the chance that the root of the issue can be quickly discovered and resolved.
|
||||||
5. If you meet slow/hanging/deadlock problems, please report the stack trace when the problem occurs:
|
5. If you meet slow/hanging/deadlock problems, please report the stack trace when the problem occurs:
|
||||||
1. Enable pprof in `app.ini` and restart Gitea
|
1. Enable pprof in `app.ini` and restart Gitea
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[server]
|
[server]
|
||||||
ENABLE_PPROF = true
|
ENABLE_PPROF = true
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Trigger the bug, when Gitea gets stuck, use curl or browser to visit: `http://127.0.0.1:6060/debug/pprof/goroutine?debug=1` (IP must be `127.0.0.1` and port must be `6060`).
|
2. Trigger the bug, when Gitea gets stuck, use curl or browser to visit: `http://127.0.0.1:6060/debug/pprof/goroutine?debug=1` (IP must be `127.0.0.1` and port must be `6060`).
|
||||||
3. If you are using Docker, please use `docker exec -it <container-name> curl "http://127.0.0.1:6060/debug/pprof/goroutine?debug=1"`.
|
3. If you are using Docker, please use `docker exec -it <container-name> curl "http://127.0.0.1:6060/debug/pprof/goroutine?debug=1"`.
|
||||||
4. Report the output (the stack trace doesn't contain sensitive data)
|
4. Report the output (the stack trace doesn't contain sensitive data)
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ menu:
|
|||||||
|
|
||||||
1. 您的 `app.ini` (必要時清除掉任何機密資訊)
|
1. 您的 `app.ini` (必要時清除掉任何機密資訊)
|
||||||
2. `gitea.log` (以及任何有關的日誌檔案)
|
2. `gitea.log` (以及任何有關的日誌檔案)
|
||||||
* 例:如果錯誤和資料庫相關,提供 `xorm.log` 可能會有幫助
|
- 例:如果錯誤和資料庫相關,提供 `xorm.log` 可能會有幫助
|
||||||
3. 您看到的任何錯誤訊息
|
3. 您看到的任何錯誤訊息
|
||||||
4. 儘可能地在 [try.gitea.io](https://try.gitea.io) 觸發您的問題並記下步驟,以便其他人能重現那個問題。
|
4. 儘可能地在 [try.gitea.io](https://try.gitea.io) 觸發您的問題並記下步驟,以便其他人能重現那個問題。
|
||||||
* 這將讓我們更有機會快速地找出問題的根源並解決它。
|
- 這將讓我們更有機會快速地找出問題的根源並解決它。
|
||||||
5. 堆棧跟踪,[請參考英文文檔](https://docs.gitea.io/en-us/seek-help/)
|
5. 堆棧跟踪,[請參考英文文檔](https://docs.gitea.io/en-us/seek-help/)
|
||||||
|
|
||||||
## 錯誤回報
|
## 錯誤回報
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ chmod +x gitea
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Verify GPG signature
|
## Verify GPG signature
|
||||||
|
|
||||||
Gitea signs all binaries with a [GPG key](https://keys.openpgp.org/search?q=teabot%40gitea.io) to prevent against unwanted modification of binaries.
|
Gitea signs all binaries with a [GPG key](https://keys.openpgp.org/search?q=teabot%40gitea.io) to prevent against unwanted modification of binaries.
|
||||||
To validate the binary, download the signature file which ends in `.asc` for the binary you downloaded and use the GPG command line tool.
|
To validate the binary, download the signature file which ends in `.asc` for the binary you downloaded and use the GPG command line tool.
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Depending on requirements, the following build tags can be included.
|
|||||||
- `pam`: Enable support for PAM (Linux Pluggable Authentication Modules). Can
|
- `pam`: Enable support for PAM (Linux Pluggable Authentication Modules). Can
|
||||||
be used to authenticate local users or extend authentication to methods
|
be used to authenticate local users or extend authentication to methods
|
||||||
available to PAM.
|
available to PAM.
|
||||||
* `gogit`: (EXPERIMENTAL) Use go-git variants of Git commands.
|
- `gogit`: (EXPERIMENTAL) Use go-git variants of Git commands.
|
||||||
|
|
||||||
Bundling assets into the binary using the `bindata` build tag is recommended for
|
Bundling assets into the binary using the `bindata` build tag is recommended for
|
||||||
production deployments. It is possible to serve the static assets directly via a reverse proxy,
|
production deployments. It is possible to serve the static assets directly via a reverse proxy,
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ cd $GOPATH/src/code.gitea.io/gitea
|
|||||||
|
|
||||||
Maintenant, il est temps de décider quelle version de Gitea vous souhaitez compiler et installer. Actuellement, ils existent plusieurs options possibles. Si vous voulez compiler notre branche `master`, vous pouvez directement passer à la [section compilation](#compilation), cette branche représente la dernière version en cours de développement et n'a pas vocation à être utiliser en production.
|
Maintenant, il est temps de décider quelle version de Gitea vous souhaitez compiler et installer. Actuellement, ils existent plusieurs options possibles. Si vous voulez compiler notre branche `master`, vous pouvez directement passer à la [section compilation](#compilation), cette branche représente la dernière version en cours de développement et n'a pas vocation à être utiliser en production.
|
||||||
|
|
||||||
|
|
||||||
Si vous souhaitez compiler la dernière version stable, utilisez les étiquettes ou les différentes branches disponibles. Vous pouvez voir les branches disponibles et comment utiliser cette branche avec ces commandes:
|
Si vous souhaitez compiler la dernière version stable, utilisez les étiquettes ou les différentes branches disponibles. Vous pouvez voir les branches disponibles et comment utiliser cette branche avec ces commandes:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ go get -d -u code.gitea.io/gitea
|
|||||||
cd $GOPATH/src/code.gitea.io/gitea
|
cd $GOPATH/src/code.gitea.io/gitea
|
||||||
```
|
```
|
||||||
|
|
||||||
然后你可以选择编译和安装的版本,当前你有多个选择。如果你想编译 `master` 版本,你可以直接跳到 [编译](#build) 部分,这是我们的开发分支,虽然也很稳定但不建议您在正式产品中使用。
|
然后你可以选择编译和安装的版本,当前你有多个选择。如果你想编译 `master` 版本,你可以直接跳到 [编译](#编译) 部分,这是我们的开发分支,虽然也很稳定但不建议您在正式产品中使用。
|
||||||
|
|
||||||
如果你想编译最新稳定分支,你可以执行以下命令签出源码:
|
如果你想编译最新稳定分支,你可以执行以下命令签出源码:
|
||||||
|
|
||||||
@@ -55,9 +55,9 @@ git checkout v{{< version >}}
|
|||||||
|
|
||||||
按照您的编译需求,以下 tags 可以使用:
|
按照您的编译需求,以下 tags 可以使用:
|
||||||
|
|
||||||
* `bindata`: 这个编译选项将会把运行Gitea所需的所有外部资源都打包到可执行文件中,这样部署将非常简单因为除了可执行程序将不再需要任何其他文件。
|
- `bindata`: 这个编译选项将会把运行Gitea所需的所有外部资源都打包到可执行文件中,这样部署将非常简单因为除了可执行程序将不再需要任何其他文件。
|
||||||
* `sqlite sqlite_unlock_notify`: 这个编译选项将启用SQLite3数据库的支持,建议只在少数人使用时使用这个模式。
|
- `sqlite sqlite_unlock_notify`: 这个编译选项将启用SQLite3数据库的支持,建议只在少数人使用时使用这个模式。
|
||||||
* `pam`: 这个编译选项将会启用 PAM (Linux Pluggable Authentication Modules) 认证,如果你使用这一认证模式的话需要开启这个选项。
|
- `pam`: 这个编译选项将会启用 PAM (Linux Pluggable Authentication Modules) 认证,如果你使用这一认证模式的话需要开启这个选项。
|
||||||
|
|
||||||
使用 bindata 可以打包资源文件到二进制可以使开发和测试更容易,你可以根据自己的需求决定是否打包资源文件。
|
使用 bindata 可以打包资源文件到二进制可以使开发和测试更容易,你可以根据自己的需求决定是否打包资源文件。
|
||||||
要包含资源文件,请使用 `bindata` tag:
|
要包含资源文件,请使用 `bindata` tag:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ go get -d -u code.gitea.io/gitea
|
|||||||
cd $GOPATH/src/code.gitea.io/gitea
|
cd $GOPATH/src/code.gitea.io/gitea
|
||||||
```
|
```
|
||||||
|
|
||||||
現在該決定您要編譯或安裝的 Gitea 版本,您有很多可以選擇。如果您想編譯 `master` 版本,你可以直接跳到[編譯章節](#build),這是我們開發分支,雖然很穩定,但是不建議用在正式環境。
|
現在該決定您要編譯或安裝的 Gitea 版本,您有很多可以選擇。如果您想編譯 `master` 版本,你可以直接跳到[編譯章節](#編譯),這是我們開發分支,雖然很穩定,但是不建議用在正式環境。
|
||||||
|
|
||||||
假如您想要編譯最新穩定版本,可以執行底下命令切換到正確版本:
|
假如您想要編譯最新穩定版本,可以執行底下命令切換到正確版本:
|
||||||
|
|
||||||
|
|||||||
@@ -27,12 +27,14 @@ Change the user, home directory, and other required startup values. Change the
|
|||||||
PORT or remove the -p flag if default port is used.
|
PORT or remove the -p flag if default port is used.
|
||||||
|
|
||||||
Enable and start Gitea at boot:
|
Enable and start Gitea at boot:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable gitea
|
sudo systemctl enable gitea
|
||||||
sudo systemctl start gitea
|
sudo systemctl start gitea
|
||||||
```
|
```
|
||||||
|
|
||||||
If you have systemd version 220 or later, you can enable and immediately start Gitea at once by:
|
If you have systemd version 220 or later, you can enable and immediately start Gitea at once by:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable gitea --now
|
sudo systemctl enable gitea --now
|
||||||
```
|
```
|
||||||
@@ -40,11 +42,13 @@ sudo systemctl enable gitea --now
|
|||||||
#### Using supervisor
|
#### Using supervisor
|
||||||
|
|
||||||
Install supervisor by running below command in terminal:
|
Install supervisor by running below command in terminal:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt install supervisor
|
sudo apt install supervisor
|
||||||
```
|
```
|
||||||
|
|
||||||
Create a log dir for the supervisor logs:
|
Create a log dir for the supervisor logs:
|
||||||
|
|
||||||
```
|
```
|
||||||
# assuming Gitea is installed in /home/git/gitea/
|
# assuming Gitea is installed in /home/git/gitea/
|
||||||
mkdir /home/git/gitea/log/supervisor
|
mkdir /home/git/gitea/log/supervisor
|
||||||
@@ -58,12 +62,14 @@ Using your favorite editor, change the user (`git`) and home
|
|||||||
or remove the -p flag if default port is used.
|
or remove the -p flag if default port is used.
|
||||||
|
|
||||||
Lastly enable and start supervisor at boot:
|
Lastly enable and start supervisor at boot:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable supervisor
|
sudo systemctl enable supervisor
|
||||||
sudo systemctl start supervisor
|
sudo systemctl start supervisor
|
||||||
```
|
```
|
||||||
|
|
||||||
If you have systemd version 220 or later, you can enable and immediately start supervisor by:
|
If you have systemd version 220 or later, you can enable and immediately start supervisor by:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable supervisor --now
|
sudo systemctl enable supervisor --now
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ menu:
|
|||||||
#### systemd 方式
|
#### systemd 方式
|
||||||
|
|
||||||
在 terminal 中执行以下命令:
|
在 terminal 中执行以下命令:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo vim /etc/systemd/system/gitea.service
|
sudo vim /etc/systemd/system/gitea.service
|
||||||
```
|
```
|
||||||
@@ -27,26 +28,29 @@ sudo vim /etc/systemd/system/gitea.service
|
|||||||
修改 user,home 目录以及其他必须的初始化参数,如果使用自定义端口,则需修改 PORT 参数,反之如果使用默认端口则需删除 -p 标记。
|
修改 user,home 目录以及其他必须的初始化参数,如果使用自定义端口,则需修改 PORT 参数,反之如果使用默认端口则需删除 -p 标记。
|
||||||
|
|
||||||
激活 gitea 并将它作为系统自启动服务:
|
激活 gitea 并将它作为系统自启动服务:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable gitea
|
sudo systemctl enable gitea
|
||||||
sudo systemctl start gitea
|
sudo systemctl start gitea
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
#### 使用 supervisor
|
#### 使用 supervisor
|
||||||
|
|
||||||
在 terminal 中执行以下命令安装 supervisor:
|
在 terminal 中执行以下命令安装 supervisor:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt install supervisor
|
sudo apt install supervisor
|
||||||
```
|
```
|
||||||
|
|
||||||
为 supervisor 配置日志路径:
|
为 supervisor 配置日志路径:
|
||||||
|
|
||||||
```
|
```
|
||||||
# assuming gitea is installed in /home/git/gitea/
|
# assuming gitea is installed in /home/git/gitea/
|
||||||
mkdir /home/git/gitea/log/supervisor
|
mkdir /home/git/gitea/log/supervisor
|
||||||
```
|
```
|
||||||
|
|
||||||
在文件编辑器中打开 supervisor 的配置文件:
|
在文件编辑器中打开 supervisor 的配置文件:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo vim /etc/supervisor/supervisord.conf
|
sudo vim /etc/supervisor/supervisord.conf
|
||||||
```
|
```
|
||||||
@@ -57,6 +61,7 @@ sudo vim /etc/supervisor/supervisord.conf
|
|||||||
将 user(git) 和 home(/home/git) 设置为与上文部署中匹配的值。如果使用自定义端口,则需修改 PORT 参数,反之如果使用默认端口则需删除 -p 标记。
|
将 user(git) 和 home(/home/git) 设置为与上文部署中匹配的值。如果使用自定义端口,则需修改 PORT 参数,反之如果使用默认端口则需删除 -p 标记。
|
||||||
|
|
||||||
最后激活 supervisor 并将它作为系统自启动服务:
|
最后激活 supervisor 并将它作为系统自启动服务:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable supervisor
|
sudo systemctl enable supervisor
|
||||||
sudo systemctl start supervisor
|
sudo systemctl start supervisor
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ files; for named volumes, this is done through another container or by direct ac
|
|||||||
:exclamation::exclamation: **Make sure you have volumed data to somewhere outside Docker container** :exclamation::exclamation:
|
:exclamation::exclamation: **Make sure you have volumed data to somewhere outside Docker container** :exclamation::exclamation:
|
||||||
|
|
||||||
To upgrade your installation to the latest release:
|
To upgrade your installation to the latest release:
|
||||||
|
|
||||||
```
|
```
|
||||||
# Edit `docker-compose.yml` to update the version, if you have one specified
|
# Edit `docker-compose.yml` to update the version, if you have one specified
|
||||||
# Pull new images
|
# Pull new images
|
||||||
|
|||||||
@@ -15,10 +15,12 @@ menu:
|
|||||||
## Allgemeines
|
## Allgemeines
|
||||||
|
|
||||||
Anrede: Wenig förmlich:
|
Anrede: Wenig förmlich:
|
||||||
|
|
||||||
* "Du"-Form
|
* "Du"-Form
|
||||||
* Keine "Amtsdeusch"-Umschreibungen, einfach so als ob man den Nutzer direkt persönlich ansprechen würde
|
* Keine "Amtsdeusch"-Umschreibungen, einfach so als ob man den Nutzer direkt persönlich ansprechen würde
|
||||||
|
|
||||||
Genauer definiert:
|
Genauer definiert:
|
||||||
|
|
||||||
* "falsch" anstatt "nicht korrekt/inkorrekt"
|
* "falsch" anstatt "nicht korrekt/inkorrekt"
|
||||||
* Benutzerkonto oder Konto? Oder Account?
|
* Benutzerkonto oder Konto? Oder Account?
|
||||||
* "Wende dich an ..." anstatt "kontaktiere ..."
|
* "Wende dich an ..." anstatt "kontaktiere ..."
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ Backup steps:
|
|||||||
If you are using cloud services or filesystems with snapshot feature,
|
If you are using cloud services or filesystems with snapshot feature,
|
||||||
a snapshot for the Gitea data volume and related object storage is more convenient.
|
a snapshot for the Gitea data volume and related object storage is more convenient.
|
||||||
|
|
||||||
|
|
||||||
## Upgrade with Docker
|
## Upgrade with Docker
|
||||||
|
|
||||||
* `docker pull` the latest Gitea release.
|
* `docker pull` the latest Gitea release.
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ Gitea 目前支援 `dump` 指令,用來將資料備份成 zip 檔案,後續
|
|||||||
持續更新中: 此文件尚未完成.
|
持續更新中: 此文件尚未完成.
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unzip gitea-dump-1610949662.zip
|
unzip gitea-dump-1610949662.zip
|
||||||
cd gitea-dump-1610949662
|
cd gitea-dump-1610949662
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ To send a test email to validate the settings, go to Gitea > Site Administration
|
|||||||
For the full list of options check the [Config Cheat Sheet]({{< relref "doc/advanced/config-cheat-sheet.en-us.md" >}})
|
For the full list of options check the [Config Cheat Sheet]({{< relref "doc/advanced/config-cheat-sheet.en-us.md" >}})
|
||||||
|
|
||||||
Please note: authentication is only supported when the SMTP server communication is encrypted with TLS or `HOST=localhost`. TLS encryption can be through:
|
Please note: authentication is only supported when the SMTP server communication is encrypted with TLS or `HOST=localhost`. TLS encryption can be through:
|
||||||
|
|
||||||
- STARTTLS (also known as Opportunistic TLS) via port 587. Initial connection is done over cleartext, but then be upgraded over TLS if the server supports it.
|
- STARTTLS (also known as Opportunistic TLS) via port 587. Initial connection is done over cleartext, but then be upgraded over TLS if the server supports it.
|
||||||
- SMTPS connection (SMTP over TLS) via the default port 465. Connection to the server use TLS from the beginning.
|
- SMTPS connection (SMTP over TLS) via the default port 465. Connection to the server use TLS from the beginning.
|
||||||
- Forced SMTPS connection with `IS_TLS_ENABLED=true`. (These are both known as Implicit TLS.)
|
- Forced SMTPS connection with `IS_TLS_ENABLED=true`. (These are both known as Implicit TLS.)
|
||||||
@@ -82,4 +83,3 @@ MAILER_TYPE = smtp
|
|||||||
IS_TLS_ENABLED = true
|
IS_TLS_ENABLED = true
|
||||||
HELO_HOSTNAME = example.com
|
HELO_HOSTNAME = example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -29,31 +29,37 @@ on a bad authentication from the web or CLI using SSH or HTTP respectively:
|
|||||||
```log
|
```log
|
||||||
2020/10/15 16:05:09 modules/ssh/ssh.go:143:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
2020/10/15 16:05:09 modules/ssh/ssh.go:143:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
|
|
||||||
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
||||||
|
|
||||||
```log
|
```log
|
||||||
2020/10/15 16:05:09 modules/ssh/ssh.go:155:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
2020/10/15 16:05:09 modules/ssh/ssh.go:155:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
|
|
||||||
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
||||||
|
|
||||||
```log
|
```log
|
||||||
2020/10/15 16:05:09 modules/ssh/ssh.go:198:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
2020/10/15 16:05:09 modules/ssh/ssh.go:198:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
|
|
||||||
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
||||||
|
|
||||||
```log
|
```log
|
||||||
2020/10/15 16:05:09 modules/ssh/ssh.go:213:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
2020/10/15 16:05:09 modules/ssh/ssh.go:213:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
|
|
||||||
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
||||||
|
|
||||||
```log
|
```log
|
||||||
2020/10/15 16:05:09 modules/ssh/ssh.go:227:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
2020/10/15 16:05:09 modules/ssh/ssh.go:227:publicKeyHandler() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
|
|
||||||
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
(DEPRECATED: This may be a false positive as the user may still go on to correctly authenticate.)
|
||||||
|
|
||||||
```log
|
```log
|
||||||
2020/10/15 16:05:09 modules/ssh/ssh.go:249:sshConnectionFailed() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
2020/10/15 16:05:09 modules/ssh/ssh.go:249:sshConnectionFailed() [W] Failed authentication attempt from xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
|
|
||||||
(From 1.15 this new message will available and doesn't have any of the false positive results that above messages from publicKeyHandler do. This will only be logged if the user has completely failed authentication.)
|
(From 1.15 this new message will available and doesn't have any of the false positive results that above messages from publicKeyHandler do. This will only be logged if the user has completely failed authentication.)
|
||||||
|
|
||||||
```log
|
```log
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ If you are using Docker, make sure that this port is configured in your `docker-
|
|||||||
[ACME](https://tools.ietf.org/html/rfc8555) is a Certificate Authority standard protocol that allows you to automatically request and renew SSL/TLS certificates. [Let's Encrypt](https://letsencrypt.org/) is a free publicly trusted Certificate Authority server using this standard. Only `HTTP-01` and `TLS-ALPN-01` challenges are implemented. In order for ACME challenges to pass and verify your domain ownership, external traffic to the gitea domain on port `80` (`HTTP-01`) or port `443` (`TLS-ALPN-01`) has to be served by the gitea instance. Setting up [HTTP redirection](#setting-up-http-redirection) and port-forwards might be needed for external traffic to route correctly. Normal traffic to port `80` will otherwise be automatically redirected to HTTPS. **You must consent** to the ACME provider's terms of service (default Let's Encrypt's [terms of service](https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf)).
|
[ACME](https://tools.ietf.org/html/rfc8555) is a Certificate Authority standard protocol that allows you to automatically request and renew SSL/TLS certificates. [Let's Encrypt](https://letsencrypt.org/) is a free publicly trusted Certificate Authority server using this standard. Only `HTTP-01` and `TLS-ALPN-01` challenges are implemented. In order for ACME challenges to pass and verify your domain ownership, external traffic to the gitea domain on port `80` (`HTTP-01`) or port `443` (`TLS-ALPN-01`) has to be served by the gitea instance. Setting up [HTTP redirection](#setting-up-http-redirection) and port-forwards might be needed for external traffic to route correctly. Normal traffic to port `80` will otherwise be automatically redirected to HTTPS. **You must consent** to the ACME provider's terms of service (default Let's Encrypt's [terms of service](https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf)).
|
||||||
|
|
||||||
Minimum setup using the default Let's Encrypt:
|
Minimum setup using the default Let's Encrypt:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[server]
|
[server]
|
||||||
PROTOCOL=https
|
PROTOCOL=https
|
||||||
@@ -72,6 +73,7 @@ ACME_EMAIL=email@example.com
|
|||||||
```
|
```
|
||||||
|
|
||||||
Minimumg setup using a [smallstep CA](https://github.com/smallstep/certificates), refer to [their tutorial](https://smallstep.com/docs/tutorials/acme-challenge) for more information.
|
Minimumg setup using a [smallstep CA](https://github.com/smallstep/certificates), refer to [their tutorial](https://smallstep.com/docs/tutorials/acme-challenge) for more information.
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[server]
|
[server]
|
||||||
PROTOCOL=https
|
PROTOCOL=https
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ menu:
|
|||||||
* .github/ISSUE_TEMPLATE.md
|
* .github/ISSUE_TEMPLATE.md
|
||||||
* .github/issue_template.md
|
* .github/issue_template.md
|
||||||
|
|
||||||
|
|
||||||
以下罗列了一些可供参考的 PR 模板:
|
以下罗列了一些可供参考的 PR 模板:
|
||||||
|
|
||||||
* PULL_REQUEST_TEMPLATE.md
|
* PULL_REQUEST_TEMPLATE.md
|
||||||
|
|||||||
@@ -18,14 +18,16 @@ menu:
|
|||||||
In Gitea `1.13`, support for some [push options](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt)
|
In Gitea `1.13`, support for some [push options](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt)
|
||||||
were added.
|
were added.
|
||||||
|
|
||||||
|
|
||||||
## Supported Options
|
## Supported Options
|
||||||
|
|
||||||
- `repo.private` (true|false) - Change the repository's visibility.
|
- `repo.private` (true|false) - Change the repository's visibility.
|
||||||
|
|
||||||
This is particularly useful when combined with push-to-create.
|
This is particularly useful when combined with push-to-create.
|
||||||
|
|
||||||
- `repo.template` (true|false) - Change whether the repository is a template.
|
- `repo.template` (true|false) - Change whether the repository is a template.
|
||||||
|
|
||||||
Example of changing a repository's visibility to public:
|
Example of changing a repository's visibility to public:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git push -o repo.private=false -u origin master
|
git push -o repo.private=false -u origin master
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ Gitea 從 `1.13` 版開始支援某些 [push options](https://git-scm.com/docs/g
|
|||||||
## 支援的 Options
|
## 支援的 Options
|
||||||
|
|
||||||
- `repo.private` (true|false) - 修改儲存庫的可見性。
|
- `repo.private` (true|false) - 修改儲存庫的可見性。
|
||||||
|
|
||||||
與 push-to-create 一起使用時特別有用。
|
與 push-to-create 一起使用時特別有用。
|
||||||
|
|
||||||
- `repo.template` (true|false) - 修改儲存庫是否為範本儲存庫。
|
- `repo.template` (true|false) - 修改儲存庫是否為範本儲存庫。
|
||||||
|
|
||||||
以下範例修改儲存庫的可見性為公開:
|
以下範例修改儲存庫的可見性為公開:
|
||||||
|
|||||||
@@ -138,7 +138,6 @@ In your nginx config file containing your Gitea proxy directive, find the `locat
|
|||||||
`client_max_body_size 16M;` to set this limit to 16 megabytes or any other number of choice.
|
`client_max_body_size 16M;` to set this limit to 16 megabytes or any other number of choice.
|
||||||
If you use Git LFS, this will also limit the size of the largest file you will be able to push.
|
If you use Git LFS, this will also limit the size of the largest file you will be able to push.
|
||||||
|
|
||||||
|
|
||||||
## Apache HTTPD
|
## Apache HTTPD
|
||||||
|
|
||||||
If you want Apache HTTPD to serve your Gitea instance, you can add the following to your Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu):
|
If you want Apache HTTPD to serve your Gitea instance, you can add the following to your Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu):
|
||||||
@@ -307,6 +306,7 @@ If you wish to run Gitea with IIS. You will need to setup IIS with URL Rewrite a
|
|||||||
If you want HAProxy to serve your Gitea instance, you can add the following to your HAProxy configuration
|
If you want HAProxy to serve your Gitea instance, you can add the following to your HAProxy configuration
|
||||||
|
|
||||||
add an acl in the frontend section to redirect calls to gitea.example.com to the correct backend
|
add an acl in the frontend section to redirect calls to gitea.example.com to the correct backend
|
||||||
|
|
||||||
```
|
```
|
||||||
frontend http-in
|
frontend http-in
|
||||||
...
|
...
|
||||||
@@ -316,6 +316,7 @@ frontend http-in
|
|||||||
```
|
```
|
||||||
|
|
||||||
add the previously defined backend section
|
add the previously defined backend section
|
||||||
|
|
||||||
```
|
```
|
||||||
backend gitea
|
backend gitea
|
||||||
server localhost:3000 check
|
server localhost:3000 check
|
||||||
@@ -338,6 +339,7 @@ frontend http-in
|
|||||||
With that configuration http://example.com/gitea/ will redirect to your Gitea instance.
|
With that configuration http://example.com/gitea/ will redirect to your Gitea instance.
|
||||||
|
|
||||||
then for the backend section
|
then for the backend section
|
||||||
|
|
||||||
```
|
```
|
||||||
backend gitea
|
backend gitea
|
||||||
http-request replace-path /gitea\/?(.*) \/\1
|
http-request replace-path /gitea\/?(.*) \/\1
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ menu:
|
|||||||
{{< toc >}}
|
{{< toc >}}
|
||||||
|
|
||||||
Gitea `1.11.0` and above includes template repositories, and one feature implemented with them is auto-expansion of specific variables within your template files.
|
Gitea `1.11.0` and above includes template repositories, and one feature implemented with them is auto-expansion of specific variables within your template files.
|
||||||
|
|
||||||
To tell Gitea which files to expand, you must include a `template` file inside the `.gitea` directory of the template repository.
|
To tell Gitea which files to expand, you must include a `template` file inside the `.gitea` directory of the template repository.
|
||||||
|
|
||||||
Gitea uses [gobwas/glob](https://github.com/gobwas/glob) for its glob syntax. It closely resembles a traditional `.gitignore`, however there may be slight differences.
|
Gitea uses [gobwas/glob](https://github.com/gobwas/glob) for its glob syntax. It closely resembles a traditional `.gitignore`, however there may be slight differences.
|
||||||
|
|
||||||
## Example `.gitea/template` file
|
## Example `.gitea/template` file
|
||||||
@@ -46,6 +48,7 @@ a/b/c/d.json
|
|||||||
## Variable Expansion
|
## Variable Expansion
|
||||||
|
|
||||||
In any file matched by the above globs, certain variables will be expanded.
|
In any file matched by the above globs, certain variables will be expanded.
|
||||||
|
|
||||||
All variables must be of the form `$VAR` or `${VAR}`. To escape an expansion, use a double `$$`, such as `$$VAR` or `$${VAR}`
|
All variables must be of the form `$VAR` or `${VAR}`. To escape an expansion, use a double `$$`, such as `$$VAR` or `$${VAR}`
|
||||||
|
|
||||||
| Variable | Expands To | Transformable |
|
| Variable | Expands To | Transformable |
|
||||||
@@ -66,6 +69,7 @@ All variables must be of the form `$VAR` or `${VAR}`. To escape an expansion, us
|
|||||||
## Transformers :robot:
|
## Transformers :robot:
|
||||||
|
|
||||||
Gitea `1.12.0` adds a few transformers to some of the applicable variables above.
|
Gitea `1.12.0` adds a few transformers to some of the applicable variables above.
|
||||||
|
|
||||||
For example, to get `REPO_NAME` in `PASCAL`-case, your template would use `${REPO_NAME_PASCAL}`
|
For example, to get `REPO_NAME` in `PASCAL`-case, your template would use `${REPO_NAME_PASCAL}`
|
||||||
|
|
||||||
Feeding `go-sdk` to the available transformers yields...
|
Feeding `go-sdk` to the available transformers yields...
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ draft: false
|
|||||||
# Was ist Gitea?
|
# Was ist Gitea?
|
||||||
|
|
||||||
Gitea ist ein einfacher, selbst gehosteter Git-Service. Änlich wie GitHub, Bitbucket oder GitLab.
|
Gitea ist ein einfacher, selbst gehosteter Git-Service. Änlich wie GitHub, Bitbucket oder GitLab.
|
||||||
|
|
||||||
Gitea ist ein [Gogs](http://gogs.io)-Fork.
|
Gitea ist ein [Gogs](http://gogs.io)-Fork.
|
||||||
|
|
||||||
## Ziele
|
## Ziele
|
||||||
@@ -22,15 +23,15 @@ Gitea ist ein [Gogs](http://gogs.io)-Fork.
|
|||||||
|
|
||||||
## System Voraussetzungen
|
## System Voraussetzungen
|
||||||
|
|
||||||
- Ein Raspberry Pi 3 ist leistungsstark genug, um Gitea für kleine Belastungen laufen zu lassen.
|
* Ein Raspberry Pi 3 ist leistungsstark genug, um Gitea für kleine Belastungen laufen zu lassen.
|
||||||
- 2 CPU Kerne und 1GB RAM sind für kleine Teams/Projekte ausreichend.
|
* 2 CPU Kerne und 1GB RAM sind für kleine Teams/Projekte ausreichend.
|
||||||
- Gitea sollte unter einem seperaten nicht-root Account auf UNIX-Systemen ausgeführt werden.
|
* Gitea sollte unter einem seperaten nicht-root Account auf UNIX-Systemen ausgeführt werden.
|
||||||
- Achtung: Gitea verwaltet die `~/.ssh/authorized_keys` Datei. Gitea unter einem normalen Benutzer auszuführen könnte dazu führen, dass dieser sich nicht mehr anmelden kann.
|
* Achtung: Gitea verwaltet die `~/.ssh/authorized_keys` Datei. Gitea unter einem normalen Benutzer auszuführen könnte dazu führen, dass dieser sich nicht mehr anmelden kann.
|
||||||
- [Git](https://git-scm.com/) Version 2.0 oder später wird benötigt.
|
* [Git](https://git-scm.com/) Version 2.0 oder später wird benötigt.
|
||||||
- Wenn git >= 2.1.2. und [Git large file storage](https://git-lfs.github.com/) aktiviert ist, dann wird es auch in Gitea verwendbar sein.
|
* Wenn git >= 2.1.2. und [Git large file storage](https://git-lfs.github.com/) aktiviert ist, dann wird es auch in Gitea verwendbar sein.
|
||||||
- Wenn git >= 2.18, dann wird das Rendern von Commit-Graphen automatisch aktiviert.
|
* Wenn git >= 2.18, dann wird das Rendern von Commit-Graphen automatisch aktiviert.
|
||||||
|
|
||||||
## Browser Unterstützung
|
## Browser Unterstützung
|
||||||
|
|
||||||
- Letzten 2 Versions von Chrome, Firefox, Safari und Edge
|
* Letzten 2 Versions von Chrome, Firefox, Safari und Edge
|
||||||
- Firefox ESR
|
* Firefox ESR
|
||||||
|
|||||||
@@ -281,22 +281,22 @@ You can try it out using [the online demo](https://try.gitea.io/).
|
|||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
* Web server framework: [Chi](http://github.com/go-chi/chi)
|
- Web server framework: [Chi](http://github.com/go-chi/chi)
|
||||||
* ORM: [XORM](https://xorm.io)
|
- ORM: [XORM](https://xorm.io)
|
||||||
* UI frameworks:
|
- UI frameworks:
|
||||||
* [jQuery](https://jquery.com)
|
- [jQuery](https://jquery.com)
|
||||||
* [Fomantic UI](https://fomantic-ui.com)
|
- [Fomantic UI](https://fomantic-ui.com)
|
||||||
* [Vue2](https://vuejs.org)
|
- [Vue2](https://vuejs.org)
|
||||||
* and various components (see package.json)
|
- and various components (see package.json)
|
||||||
* Editors:
|
- Editors:
|
||||||
* [CodeMirror](https://codemirror.net)
|
- [CodeMirror](https://codemirror.net)
|
||||||
* [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
- [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
||||||
* [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
- [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
||||||
* Database drivers:
|
- Database drivers:
|
||||||
* [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
- [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
||||||
* [github.com/lib/pq](https://github.com/lib/pq)
|
- [github.com/lib/pq](https://github.com/lib/pq)
|
||||||
* [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
- [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
||||||
* [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
- [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
||||||
|
|
||||||
## Software and Service Support
|
## Software and Service Support
|
||||||
|
|
||||||
|
|||||||
@@ -253,21 +253,21 @@ Le but de ce projet est de fournir de la manière la plus simple, la plus rapide
|
|||||||
|
|
||||||
## Composants
|
## Composants
|
||||||
|
|
||||||
* Framework web : [Chi](http://github.com/go-chi/chi)
|
- Framework web : [Chi](http://github.com/go-chi/chi)
|
||||||
* ORM: [XORM](https://xorm.io)
|
- ORM: [XORM](https://xorm.io)
|
||||||
* Interface graphique :
|
- Interface graphique :
|
||||||
* [jQuery](https://jquery.com)
|
- [jQuery](https://jquery.com)
|
||||||
* [Fomantic UI](https://fomantic-ui.com)
|
- [Fomantic UI](https://fomantic-ui.com)
|
||||||
* [Vue2](https://vuejs.org)
|
- [Vue2](https://vuejs.org)
|
||||||
* [CodeMirror](https://codemirror.net)
|
- [CodeMirror](https://codemirror.net)
|
||||||
* [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
- [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
||||||
* [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
- [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
||||||
* ... (package.json)
|
- ... (package.json)
|
||||||
* Connecteurs de base de données :
|
- Connecteurs de base de données :
|
||||||
* [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
- [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
||||||
* [github.com/lib/pq](https://github.com/lib/pq)
|
- [github.com/lib/pq](https://github.com/lib/pq)
|
||||||
* [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
- [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
||||||
* [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
- [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
||||||
|
|
||||||
## Logiciels et services
|
## Logiciels et services
|
||||||
|
|
||||||
|
|||||||
@@ -47,22 +47,22 @@ Gitea的首要目标是创建一个极易安装,运行非常快速,安装和
|
|||||||
|
|
||||||
## 组件
|
## 组件
|
||||||
|
|
||||||
* Web框架: [Chi](http://github.com/go-chi/chi)
|
- Web框架: [Chi](http://github.com/go-chi/chi)
|
||||||
* ORM: [XORM](https://xorm.io)
|
- ORM: [XORM](https://xorm.io)
|
||||||
* UI 框架:
|
- UI 框架:
|
||||||
* [jQuery](https://jquery.com)
|
- [jQuery](https://jquery.com)
|
||||||
* [Fomantic UI](https://fomantic-ui.com)
|
- [Fomantic UI](https://fomantic-ui.com)
|
||||||
* [Vue2](https://vuejs.org)
|
- [Vue2](https://vuejs.org)
|
||||||
* 更多组件参见 package.json
|
- 更多组件参见 package.json
|
||||||
* 编辑器:
|
- 编辑器:
|
||||||
* [CodeMirror](https://codemirror.net)
|
- [CodeMirror](https://codemirror.net)
|
||||||
* [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
- [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
||||||
* [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
- [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
||||||
* 数据库驱动:
|
- 数据库驱动:
|
||||||
* [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
- [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
||||||
* [github.com/lib/pq](https://github.com/lib/pq)
|
- [github.com/lib/pq](https://github.com/lib/pq)
|
||||||
* [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
- [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
||||||
* [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
- [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
||||||
|
|
||||||
## 软件及服务支持
|
## 软件及服务支持
|
||||||
|
|
||||||
|
|||||||
@@ -269,19 +269,18 @@ Gitea 是從 [Gogs](http://gogs.io) Fork 出來的,請閱讀部落格文章 [G
|
|||||||
- Web 框架: [Chi](http://github.com/go-chi/chi)
|
- Web 框架: [Chi](http://github.com/go-chi/chi)
|
||||||
- ORM: [XORM](https://xorm.io)
|
- ORM: [XORM](https://xorm.io)
|
||||||
- UI 元件:
|
- UI 元件:
|
||||||
* [jQuery](https://jquery.com)
|
- [jQuery](https://jquery.com)
|
||||||
* [Fomantic UI](https://fomantic-ui.com)
|
- [Fomantic UI](https://fomantic-ui.com)
|
||||||
* [Vue2](https://vuejs.org)
|
- [Vue2](https://vuejs.org)
|
||||||
* [CodeMirror](https://codemirror.net)
|
- [CodeMirror](https://codemirror.net)
|
||||||
* [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
- [EasyMDE](https://github.com/Ionaru/easy-markdown-editor)
|
||||||
* [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
- [Monaco Editor](https://microsoft.github.io/monaco-editor)
|
||||||
* ... (package.json)
|
- ... (package.json)
|
||||||
- 資料庫驅動程式:
|
- 資料庫驅動程式:
|
||||||
* [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
- [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
||||||
* [github.com/lib/pq](https://github.com/lib/pq)
|
- [github.com/lib/pq](https://github.com/lib/pq)
|
||||||
* [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
- [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
||||||
* [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
- [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
||||||
|
|
||||||
|
|
||||||
## 軟體和服務支援
|
## 軟體和服務支援
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user