aboutsummaryrefslogtreecommitdiffstats
path: root/docs/content/help
diff options
context:
space:
mode:
authorJohn Olheiser <john.olheiser@gmail.com>2023-07-25 23:53:13 -0500
committerGitHub <noreply@github.com>2023-07-26 04:53:13 +0000
commitbd4c7ce578956d9839309b16753bd5505b63b2e3 (patch)
tree1d3074ef542cee11707bc4985ce54dc40facb9b6 /docs/content/help
parent5dc37ef97a30628027a723ee944225a33a6511f8 (diff)
downloadgitea-bd4c7ce578956d9839309b16753bd5505b63b2e3.tar.gz
gitea-bd4c7ce578956d9839309b16753bd5505b63b2e3.zip
Docusaurus-ify (#26051)
This PR cleans up the docs in a way to make them simpler to ingest by our [docs repo](https://gitea.com/gitea/gitea-docusaurus). 1. It includes all of the sed invocations our ingestion did, removing the need to do it at build time. 2. It replaces the shortcode variable replacement method with `@variable@` style, simply for easier sed invocations when required. 3. It removes unused files and moves the docs up a level as cleanup. --------- Signed-off-by: jolheiser <john.olheiser@gmail.com>
Diffstat (limited to 'docs/content/help')
-rw-r--r--docs/content/help/_index.en-us.md0
-rw-r--r--docs/content/help/_index.zh-cn.md0
-rw-r--r--docs/content/help/_index.zh-tw.md0
-rw-r--r--docs/content/help/faq.en-us.md462
-rw-r--r--docs/content/help/faq.zh-cn.md468
-rw-r--r--docs/content/help/support.en-us.md53
-rw-r--r--docs/content/help/support.zh-cn.md25
-rw-r--r--docs/content/help/support.zh-tw.md35
8 files changed, 1043 insertions, 0 deletions
diff --git a/docs/content/help/_index.en-us.md b/docs/content/help/_index.en-us.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/docs/content/help/_index.en-us.md
diff --git a/docs/content/help/_index.zh-cn.md b/docs/content/help/_index.zh-cn.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/docs/content/help/_index.zh-cn.md
diff --git a/docs/content/help/_index.zh-tw.md b/docs/content/help/_index.zh-tw.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/docs/content/help/_index.zh-tw.md
diff --git a/docs/content/help/faq.en-us.md b/docs/content/help/faq.en-us.md
new file mode 100644
index 0000000000..3d03dd23ba
--- /dev/null
+++ b/docs/content/help/faq.en-us.md
@@ -0,0 +1,462 @@
+---
+date: "2019-04-05T16:00:00+02:00"
+title: "FAQ"
+slug: "faq"
+sidebar_position: 5
+toc: false
+draft: false
+aliases:
+ - /en-us/faq
+menu:
+ sidebar:
+ parent: "help"
+ name: "FAQ"
+ sidebar_position: 5
+ identifier: "faq"
+---
+
+# Frequently Asked Questions
+
+This page contains some common questions and answers.
+
+For more help resources, check all [Support Options](help/support.md).
+
+## Difference between 1.x and 1.x.x downloads, how can I get latest stable release with bug fixes?
+
+Version 1.20.x will be used for this example.
+
+On our [downloads page](https://dl.gitea.com/gitea/) you will see a 1.20 directory, as well as directories for 1.20.0, 1.20.1.
+
+The 1.20 directory is the nightly build, which is built on each merged commit to the [`release/v1.20`](https://github.com/go-gitea/gitea/tree/release/v1.20) branch.
+
+The 1.20.0 directory is a release build that was created when the [`v1.20.0`](https://github.com/go-gitea/gitea/releases/tag/v1.20.0) tag was created.
+
+The nightly builds (1.x) downloads will change as commits are merged to their respective branch, they contain the latest changes/fixes before a tag release is built.
+
+If a bug fix is targeted on 1.20.1 but 1.20.1 is not released yet, you can get the "1.20-nightly" build to get the bug fix.
+
+## How to migrate from Gogs/GitHub/etc. to Gitea
+
+To migrate from Gogs to Gitea:
+
+- [Gogs version 0.9.146 or less](installation/upgrade-from-gogs.md)
+- [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.
+
+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)
+
+To migrate from GitLab to Gitea, you can use this non-affiliated tool:
+
+https://github.com/loganinak/MigrateGitlabToGogs
+
+## Where does Gitea store what file
+
+- _`AppWorkPath`_
+ - The `WORK_PATH` option in `app.ini`
+ - Else the `--work-path` flag
+ - Else Environment variable `GITEA_WORK_DIR`
+ - Else a built-in value set at build time
+ - Else the directory that contains the Gitea binary
+- `AppDataPath` (default for database, indexers, etc.)
+ - `APP_DATA_PATH` from `app.ini`
+ - Else _`AppWorkPath`_`/data`
+- _`CustomPath`_ (custom templates)
+ - The `--custom-path` flag
+ - Else Environment variable `GITEA_CUSTOM`
+ - Else a built-in value set at build time
+ - Else _`AppWorkPath`_`/custom`
+- HomeDir
+ - Unix: Environment variable `HOME`
+ - Windows: Environment variable `USERPROFILE`, else environment variables `HOMEDRIVE`+`HOMEPATH`
+- RepoRootPath
+ - `ROOT` in the \[repository] section of `app.ini` if absolute
+ - Else _`AppWorkPath`_`/ROOT` if `ROOT` in the \[repository] section of `app.ini` if relative
+ - Default `%(APP_DATA_PATH)/gitea-repositories`
+- INI (config file)
+ - `--config` flag
+ - A possible built-in value set a build time
+ - Else _`CustomPath`_`/conf/app.ini`
+- SQLite Database
+ - `PATH` in `database` section of `app.ini`
+ - Else `%(APP_DATA_PATH)/gitea.db`
+
+## Not seeing a clone URL or the clone URL being incorrect
+
+There are a few places that could make this show incorrectly.
+
+1. If using a reverse proxy, make sure you have followed the correction directions in the [reverse proxy guide](administration/reverse-proxies.md)
+2. Make sure you have correctly set `ROOT_URL` in the `server` section of 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_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
+
+## File upload fails with: 413 Request Entity Too Large
+
+This error occurs when the reverse proxy limits the file upload size.
+
+See the [reverse proxy guide](administration/reverse-proxies.md) for a solution with nginx.
+
+## 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.
+
+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
+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](administration/customizing-gitea.md) page to add your template to the correct location.
+
+## Does Gitea have a "GitHub/GitLab pages" feature?
+
+Gitea doesn't provide a built-in Pages server. You need a dedicated domain to serve static pages to avoid CSRF security risks.
+
+For simple usage, you can use a reverse proxy to rewrite & serve static contents from Gitea's raw file URLs.
+
+And there are already available third-party services, like a standalone [pages server](https://codeberg.org/Codeberg/pages-server) or a [caddy plugin](https://github.com/42wim/caddy-gitea), that can provide the required functionality.
+
+## Active user vs login prohibited user
+
+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
+
+## Setting up logging
+
+- [Official Docs](administration/logging-config.md)
+
+## What is Swagger?
+
+[Swagger](https://swagger.io/) is what Gitea uses for its API documentation.
+
+All Gitea instances have the built-in API and there is no way to disable it completely.
+You can, however, disable showing its documentation by setting `ENABLE_SWAGGER` to `false` in the `api` section of your `app.ini`.
+For more information, refer to Gitea's [API docs](development/api-usage.md).
+
+You can see the latest API (for example) on <https://try.gitea.io/api/swagger>.
+
+You can also see an example of the `swagger.json` file at <https://try.gitea.io/swagger.v1.json>.
+
+## Adjusting your server for public/private use
+
+### Preventing spammers
+
+There are multiple things you can combine to prevent spammers.
+
+1. By whitelisting or blocklisting certain email domains
+2. By only whitelisting certain domains with OpenID (see below)
+3. Setting `ENABLE_CAPTCHA` to `true` in your `app.ini` and properly configuring `RECAPTCHA_SECRET` and `RECAPTCHA_SITEKEY`
+4. Settings `DISABLE_REGISTRATION` to `true` and creating new users via the [CLI](administration/command-line.md), [API](development/api-usage.md), or Gitea's Admin UI
+
+### Only allow/block certain email domains
+
+You can configure `EMAIL_DOMAIN_WHITELIST` or `EMAIL_DOMAIN_BLOCKLIST` in your app.ini under `[service]`
+
+### Only allow/block certain OpenID providers
+
+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
+
+### Issue only users
+
+The current way to achieve this is to create/modify a user with a max repo creation limit of 0.
+
+### Restricted users
+
+Restricted users are limited to a subset of the content based on their organization/team memberships and collaborations, ignoring the public flag on organizations/repos etc.\_\_
+
+Example use case: A company runs a Gitea instance that requires login. Most repos are public (accessible/browsable by all co-workers).
+
+At some point, a customer or third party needs access to a specific repo and only that repo. Making such a customer account restricted and granting any needed access using team membership(s) and/or collaboration(s) is a simple way to achieve that without the need to make everything private.
+
+### Enable Fail2ban
+
+Use [Fail2Ban](administration/fail2ban-setup.md) to monitor and stop automated login attempts or other malicious behavior based on log patterns
+
+## How to add/use custom themes
+
+Gitea supports three official themes right now, `gitea` (light), `arc-green` (dark), and `auto` (automatically switches between the previous two depending on operating system settings).
+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))
+
+Name the `.css` file `theme-arc-blue.css` and add it to your custom folder in `custom/public/assets/css`
+
+Allow users to use it by adding `arc-blue` to the list of `THEMES` in your `app.ini`
+
+## SSHD vs built-in SSH
+
+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 is running slow
+
+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`
+
+Another option that may need to be changed is setting `DISABLE_GRAVATAR` to `true` in your `app.ini`
+
+## Can't create repositories/files
+
+Make sure that Gitea has sufficient permissions to write to its home directory and data directory.
+
+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:
+
+`ReadWritePaths=/etc/gitea/app.ini`
+
+Which makes all other paths non-writeable to Gitea.
+
+## Translation is incorrect/how to add more translations
+
+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.
+
+## Push Hook / Webhook aren't running
+
+If you can push but can't see push activities on the home dashboard, or the push doesn't trigger webhook, there are a few possibilities:
+
+1. The git hooks are out of sync: run "Resynchronize pre-receive, update and post-receive hooks of all repositories" on the site admin panel
+2. The git repositories (and hooks) are stored on some filesystems (ex: mounted by NAS) which don't support script execution, make sure the filesystem supports `chmod a+x any-script`
+3. If you are using docker, make sure Docker Server (not the client) >= 20.10.6
+
+## SSH issues
+
+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.
+
+`ssh git@myremote.example`
+
+If the connection is successful, you should receive an error message like the following:
+
+```
+Hi there, You've successfully authenticated, but Gitea does not provide shell access.
+If this is unexpected, please log in with password and setup Gitea under another user.
+```
+
+If you do not get the above message but still connect, it means your SSH key is **not** being managed by Gitea. This means hooks won't run, among other potential problems.
+
+If you cannot connect at all, your SSH key may not be configured correctly locally.
+This is specific to SSH and not Gitea, so will not be covered here.
+
+### SSH Common Errors
+
+```
+Permission denied (publickey).
+fatal: Could not read from remote repository.
+```
+
+This error signifies that the server rejected a log in attempt, check the
+following things:
+
+- On the client:
+ - Ensure the public and private ssh keys are added to the correct Gitea user.
+ - Make sure there are no issues in the remote url. In particular, ensure the name of the
+ Git user (before the `@`) is spelled correctly.
+ - Ensure public and private ssh keys are correct on client machine.
+- On the server:
+ - Make sure the repository exists and is correctly named.
+ - 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`.
+
+ Try to run `Rewrite '.ssh/authorized_keys' file (for Gitea SSH keys)` on the
+ Gitea admin panel.
+ - Read Gitea logs.
+ - Read /var/log/auth (or similar).
+ - Check permissions of repositories.
+
+The following is an example of a missing public SSH key where authentication
+succeeded, but some other setting is preventing SSH from reaching the correct
+repository.
+
+```
+fatal: Could not read from remote repository.
+
+Please make sure you have the correct access rights
+and the repository exists.
+```
+
+In this case, look into the following settings:
+
+- On the server:
+ - Make sure that the `git` system user has a usable shell set
+ - Verify this with `getent passwd git | cut -d: -f7`
+ - `usermod` or `chsh` can be used to modify this.
+ - Ensure that the `gitea serv` command in `.ssh/authorized_keys` uses the
+ correct configuration file.
+
+## Missing releases after migrating repository with tags
+
+To migrate an repository _with_ all tags, you need to do two things:
+
+- Push tags to the repository:
+
+```
+ git push --tags
+```
+
+- (Re-)sync tags of all repositories within Gitea:
+
+```
+gitea admin repo-sync-releases
+```
+
+## LFS Issues
+
+For issues concerning LFS data upload
+
+```
+batch response: Authentication required: Authorization error: <GITEA_LFS_URL>/info/lfs/objects/batch
+Check that you have proper access to the repository
+error: failed to push some refs to '<GIT_REPO_URL>'
+```
+
+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.
+
+You may want to set this value to `60m` or `120m`.
+
+## How can I create users before starting Gitea
+
+Gitea provides a sub-command `gitea migrate` to initialize the database, after which you can use the [admin CLI commands](administration/command-line.md#admin) to add users like normal.
+
+## How can I enable password reset
+
+There is no setting for password resets. It is enabled when a [mail service](administration/email-setup.md) is configured, and disabled otherwise.
+
+## How can a user's password be changed
+
+- 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 using the [admin CLI commands](administration/command-line.md#admin).
+
+ Keep in mind most commands will also need a [global flag](administration/command-line.md#global-options) to point the CLI at the correct configuration.
+- As a **user** you can change it...
+ - In your account `Settings -> Account` page (this method **requires** you to know your current password).
+ - By using the `Forgot Password` link.
+
+ If the `Forgot Password/Account Recovery` page is disabled, please contact your administrator to configure a [mail service](administration/email-setup.md).
+
+## 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.
+
+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.
+
+## Upgrade errors with MySQL
+
+If you are receiving errors on upgrade of Gitea using MySQL that read:
+
+> `ORM engine initialization failed: migrate: do migrate: Error: 1118: Row size too large...`
+
+Please run `gitea convert` or run `ALTER TABLE table_name ROW_FORMAT=dynamic;` for each table in the database.
+
+The underlying problem is that the space allocated for indices by the default row format
+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...`
+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.
+
+If you are using MySQL 5, another possible fix is
+
+```mysql
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_large_prefix=1;
+```
+
+## Why Are Emoji Broken On MySQL
+
+Unfortunately MySQL's `utf8` charset does not completely allow all possible UTF-8 characters, in particular Emoji.
+They created a new charset and collation called `utf8mb4` that allows for emoji to be stored but tables which use
+the `utf8` charset, and connections which use the `utf8` charset will not use this.
+
+Please run `gitea convert`, or run `ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
+for the database_name and run `ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
+for each table in the database.
+
+## Why are Emoji displaying only as placeholders or in monochrome
+
+Gitea requires the system or browser to have one of the supported Emoji fonts installed, which are Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji and Twemoji Mozilla. Generally, the operating system should already provide one of these fonts, but especially on Linux, it may be necessary to install them manually.
+
+## Initial logging
+
+Before Gitea has read the configuration file and set-up its logging it will log a number of things to stdout in order to help debug things if logging does not work.
+
+You can stop this logging by setting the `--quiet` or `-q` option. Please note this will only stop logging until Gitea has set-up its own logging.
+
+If you report a bug or issue you MUST give us logs with this information restored.
+
+You should only set this option once you have completely configured everything.
+
+## Warnings about struct defaults during database startup
+
+Sometimes when there are migrations the old columns and default values may be left
+unchanged in the database schema. This may lead to warning such as:
+
+```
+2020/08/02 11:32:29 ...rm/session_schema.go:360:Sync2() [W] Table user Column keep_activity_private db default is , struct default is 0
+```
+
+These can safely be ignored, but you are able to stop these warnings by getting Gitea to recreate these tables using:
+
+```
+gitea doctor recreate-table user
+```
+
+This will cause Gitea to recreate the user table and copy the old data into the new table
+with the defaults set appropriately.
+
+You can ask Gitea to recreate multiple tables using:
+
+```
+gitea doctor recreate-table table1 table2 ...
+```
+
+And if you would like Gitea to recreate all tables simply call:
+
+```
+gitea doctor recreate-table
+```
+
+It is highly recommended to back-up your database before running these commands.
+
+## How to adopt repositories from disk
+
+- Add your (bare) repositories to the correct spot for your configuration (`repository.ROOT`), ensuring they are in the correct layout `<REPO_ROOT>/[user]/[repo].git`.
+ - **Note:** the directory names must be lowercase.
+ - You can also check `<ROOT_URL>/admin/config` for the repository root path.
+- Ensure that the user/org exists that you want to adopt repositories for.
+- As an admin, go to `<ROOT_URL>/admin/repos/unadopted` and search.
+ - Users can also be given similar permissions via config [`ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`](administration/config-cheat-sheet.md#repository).
+- If the above steps are done correctly, you should be able to select repositories to adopt.
+ - If no repositories are found, enable [debug logging](administration/config-cheat-sheet.md#repository) to check for any specific errors.
+
+## Gitea can't start on NFS
+
+In most cases, it's caused by broken NFS lock system. You can try to stop Gitea process and
+run `flock -n /data-nfs/gitea/queues/LOCK echo 'lock acquired'` to see whether the lock can be acquired immediately.
+If the lock can't be acquired, NFS might report some errors like `lockd: cannot monitor node-3, statd: server rpc.statd not responding, timed out` in its server logs.
+
+Then the NFS lock could be reset by:
+
+```bash
+# /etc/init.d/nfs stop
+# rm -rf /var/lib/nfs/sm/*
+# /etc/init.d/nfs start
+```
diff --git a/docs/content/help/faq.zh-cn.md b/docs/content/help/faq.zh-cn.md
new file mode 100644
index 0000000000..a11e074a24
--- /dev/null
+++ b/docs/content/help/faq.zh-cn.md
@@ -0,0 +1,468 @@
+---
+date: "2023-05-25T16:00:00+02:00"
+title: "常见问题"
+slug: "faq"
+sidebar_position: 5
+toc: false
+draft: false
+aliases:
+ - /zh-cn/faq
+menu:
+ sidebar:
+ parent: "help"
+ name: "常见问题"
+ sidebar_position: 5
+ identifier: "faq"
+---
+
+# 常见问题
+
+本页面包含一些常见问题和答案。
+
+有关更多帮助资源,请查看所有[支持选项](help/support.md)。
+
+## 1.x和1.x.x下载之间的区别
+
+以1.7.x版本为例。
+
+**注意:**此示例也适用于Docker镜像!
+
+在我们的[下载页面](https://dl.gitea.com/gitea/)上,您会看到一个1.7目录,以及1.7.0、1.7.1、1.7.2、1.7.3、1.7.4、1.7.5和1.7.6的目录。
+
+1.7目录和1.7.0目录是**不同**的。1.7目录是在每个合并到[`release/v1.7`](https://github.com/go-gitea/gitea/tree/release/v1.7)分支的提交上构建的。
+
+然而,1.7.0目录是在创建[`v1.7.0`](https://github.com/go-gitea/gitea/releases/tag/v1.7.0)标签时创建的构建。
+
+这意味着1.x的下载会随着提交合并到各自的分支而改变(将其视为每个版本的单独的“main”分支)。
+
+另一方面,1.x.x的下载应该永远不会改变。
+
+## 如何从Gogs/GitHub等迁移到Gitea
+
+要从Gogs迁移到Gitea:
+
+- [Gogs版本0.9.146或更低](installation/upgrade-from-gogs.md)
+- [Gogs版本0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286)
+
+要从GitHub迁移到Gitea,您可以使用Gitea内置的迁移表单。
+
+为了迁移诸如问题、拉取请求等项目,您需要至少输入您的用户名。
+
+[Example (requires login)](https://try.gitea.io/repo/migrate)
+
+要从GitLab迁移到Gitea,您可以使用这个非关联的工具:
+
+https://github.com/loganinak/MigrateGitlabToGogs
+
+## Gitea存储文件的位置
+
+- _`AppWorkPath`_
+ - `--work-path`标志
+ - 或者环境变量`GITEA_WORK_DIR`
+ - 或者在构建时设置的内置值
+ - 或者包含Gitea二进制文件的目录
+- `%(APP_DATA_PATH)`(数据库、索引器等的默认路径)
+ - `app.ini`中的`APP_DATA_PATH`
+ - 或者_`AppWorkPath`_`/data`
+- _`CustomPath`_(自定义模板)
+ - `--custom-path`标志
+ - 或者环境变量`GITEA_CUSTOM`
+ - 或者在构建时设置的内置值
+ - 或者_`AppWorkPath`_`/custom`
+- HomeDir
+ - Unix:环境变量`HOME`
+ - Windows:环境变量`USERPROFILE`,或者环境变量`HOMEDRIVE`+`HOMEPATH`
+- RepoRootPath
+ - `app.ini`中\[repository]部分的`ROOT`(如果是绝对路径)
+ - 否则_`AppWorkPath`_`/ROOT`(如果`app.ini`中\[repository]部分的`ROOT`是相对路径)
+ - 默认值为`%(APP_DATA_PATH)/gitea-repositories`
+- INI(配置文件)
+ - `--config`标志
+ - 或者在构建时设置的可能内置值
+ - 或者 _`CustomPath`_`/conf/app.ini`
+- SQLite数据库
+ - app.ini中database部分的PATH
+ - 或者`%(APP_DATA_PATH)/gitea.db`
+
+## 看不到克隆URL或克隆URL不正确
+
+有几个地方可能会导致显示不正确。
+
+1. 如果使用反向代理,请确保按照[反向代理指南](administration/reverse-proxies.md)中的正确说明进行设置。
+2. 确保在`app.ini`的`server`部分中正确设置了`ROOT_URL`。
+
+如果某些克隆选项未显示(HTTP/S或SSH),可以在`app.ini中`
+
+- `DISABLE_HTTP_GIT`: 如果设为true, 将会没有HTTP/HTTPS链接
+- `DISABLE_SSH`: 如果设为true, 将会没有SSH链接
+- `SSH_EXPOSE_ANONYMOUS`: 如果设为false, SSH链接将会对匿名用户隐藏
+
+## 文件上传失败:413 Request Entity Too Large
+
+当反向代理限制文件上传大小时,会出现此错误。
+
+有关使用nginx解决此问题,请参阅[反向代理指南](administration/reverse-proxies.md)。
+
+## 自定义模板无法加载或运行错误
+
+Gitea的自定义模板必须将其添加到正确的位置,否则Gitea将无法找到并使用自定义模板。
+
+模板的正确路径应该相对于`CustomPath`。
+
+1. 要找到`CustomPath`,请在站点管理 -> 配置 中查找自定义文件根路径。
+
+ 如果找不到,请尝试`echo $GITEA_CUSTOM`。
+
+2. 如果仍然找不到,默认值可以被[计算](help/faq.md#where-does-gitea-store-what-file)
+3. 如果仍然找不到路径,则可以参考[自定义Gitea](administration/customizing-gitea.md)页面,将模板添加到正确的位置。
+
+## Gitea是否有"GitHub/GitLab Pages"功能?
+
+Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供静态页面,以避免CSRF安全风险。
+
+对于简单的用法,您可以使用反向代理来重写和提供Gitea的原始文件URL中的静态内容。
+
+还有一些已经可用的第三方服务,比如独立[pages server](https://codeberg.org/Codeberg/pages-server)的或[caddy plugin](https://github.com/42wim/caddy-gitea),可以提供所需的功能。
+
+## 活跃用户与禁止登录用户
+
+在Gitea中,"活跃用户"是指通过电子邮件激活其帐户的用户。
+
+"禁止登录用户"是指不允许再登录到Gitea的用户。
+
+## 设置日志记录
+
+- [官方文档](administration/logging-config.md)
+
+## 什么是Swagger?
+
+[Swagger](https://swagger.io/) 是Gitea用于其API文档的工具。
+
+所有Gitea实例都有内置的API,无法完全禁用它。
+但是,您可以在app.ini的api部分将ENABLE_SWAGGER设置为false,以禁用其文档显示。
+有关更多信息,请参阅Gitea的[API文档](development/api-usage.md)。
+
+您可以在上查看最新的API(例如)<https://try.gitea.io/api/swagger>。
+
+您还可以在上查看`swagger.json`文件的示例 <https://try.gitea.io/swagger.v1.json>。
+
+## 调整服务器用于公共/私有使用
+
+### 防止垃圾邮件发送者
+
+有多种方法可以组合使用来防止垃圾邮件发送者:
+
+1. 通过设置电子邮件域名的白名单或黑名单。
+2. 通过设置一些域名或者OpenID白名单(见下文)。
+3. 在您的`app.ini`中将`ENABLE_CAPTCHA`设置为`true`,并正确配置`RECAPTCHA_SECRET`和 `RECAPTCHA_SITEKEY`。
+4. 将`DISABLE_REGISTRATION`设置为`true`,并通过 [CLI](administration/command-line.md)、[API](development/api-usage.md) 或 Gitea 的管理界面创建新用户。
+
+### 仅允许/阻止特定的电子邮件域名
+
+您可以在`app.ini`中的`[service]`下的配置`EMAIL_DOMAIN_WHITELIST` 或 `EMAIL_DOMAIN_BLOCKLIST`。
+
+### 仅允许/阻止特定的 OpenID 提供商
+
+您可以在`app.ini`的`[openid]`下配置`WHITELISTED_URI`或`BLACKLISTED_URIS`。
+
+**注意**: 白名单优先,如果白名单非空,则忽略黑名单。
+
+### 仅允许发布问题的用户
+
+目前实现这一点的方法是创建/修改一个具有最大仓库创建限制为 0 的用户。
+
+### 受限制的用户
+
+受限制的用户仅能访问其组织/团队成员和协作所在的内容的子集,而忽略组织/仓库等的公共标志。
+
+示例用例:一个公司运行一个需要登录的 Gitea 实例。大多数仓库是公开的(所有同事都可以访问/浏览)。
+
+在某些情况下,某个客户或第三方需要访问特定的仓库,并且只能访问该仓库。通过将此类客户帐户设置为受限制帐户,并使用团队成员身份和/或协作来授予所需的任何访问权限,可以简单地实现这一点,而无需使所有内容都变为私有。
+
+### 启用 Fail2ban
+
+使用 [Fail2Ban](administration/fail2ban-setup.md) 监视并阻止基于日志模式的自动登录尝试或其他恶意行为。
+
+## 如何添加/使用自定义主题
+
+Gitea 目前支持三个官方主题,分别是 `gitea`(亮色)、`arc-green`(暗色)和 `auto`(根据操作系统设置自动切换前两个主题)。
+要添加自己的主题,目前唯一的方法是提供一个完整的主题(不仅仅是颜色覆盖)。
+
+假设我们的主题是 `arc-blue`(这是一个真实的主题,可以在[此问题](https://github.com/go-gitea/gitea/issues/6011)中找到)
+
+将`.css`文件命名为`theme-arc-blue.css`并将其添加到`custom/public/css`文件夹中
+
+通过将`arc-blue`添加到`app.ini`中的`THEMES`列表中,允许用户使用该主题
+
+## SSHD vs 内建SSH
+
+SSHD是大多数Unix系统上内建的SSH服务器。
+
+Gitea还提供了自己的SSH服务器,用于在SSHD不可用时使用。
+
+## Gitea运行缓慢
+
+导致此问题的最常见原因是加载联合头像。
+
+您可以通过在`app.ini`中将`ENABLE_FEDERATED_AVATAR`设置为`false`来关闭此功能。
+
+还有一个可能需要更改的选项是在`app.ini`中将`DISABLE_GRAVATAR`设置为`true`。
+
+## 无法创建仓库/文件
+
+请确保Gitea具有足够的权限来写入其主目录和数据目录。
+
+参见[AppDataPath 和 RepoRootPath](help/faq.md#where-does-gitea-store-what-file)
+
+**适用于Arch用户的注意事项:**在撰写本文时,Arch软件包的systemd文件包含了以下行:
+
+`ReadWritePaths=/etc/gitea/app.ini`
+
+这将使得Gitea无法写入其他路径。
+
+## 翻译不正确/如何添加更多翻译
+
+我们当前的翻译是在我们的[Crowdin项目](https://crowdin.com/project/gitea)上众包进行的
+
+无论您想要更改翻译还是添加新的翻译,都需要在Crowdin集成中进行,因为所有翻译都会被CI覆盖。
+
+## 推送钩子/ Webhook未运行
+
+如果您可以推送但无法在主页仪表板上看到推送活动,或者推送不触发Webhook,有几种可能性:
+
+1. Git钩子不同步:在站点管理面板上运行“重新同步所有仓库的pre-receive、update和post-receive钩子”
+2. Git仓库(和钩子)存储在一些不支持脚本执行的文件系统上(例如由NAS挂载),请确保文件系统支持`chmod a+x any-script`
+3. 如果您使用的是Docker,请确保Docker Server(而不是客户端)的版本 >= 20.10.6
+
+## SSH问题
+
+如果无法通过`ssh`访问仓库,但`https`正常工作,请考虑以下情况。
+
+首先,请确保您可以通过SSH访问Gitea。
+
+`ssh git@myremote.example`
+
+如果连接成功,您应该会收到以下错误消息:
+
+```
+Hi there, You've successfully authenticated, but Gitea does not provide shell access.
+If this is unexpected, please log in with password and setup Gitea under another user.
+```
+
+如果您收到以上消息但仍然连接成功,这意味着您的 SSH 密钥**没有**由 Gitea 管理。这意味着钩子不会运行,在其他一些潜在问题中也包括在内。
+
+如果您无法连接,可能是因为您的 SSH 密钥在本地配置不正确。
+这是针对 SSH 而不是 Gitea 的问题,因此在此不涉及。
+
+### SSH 常见错误
+
+```
+Permission denied (publickey).
+fatal: Could not read from remote repository.
+```
+
+此错误表示服务器拒绝登录尝试,
+请检查以下事项:
+
+- 在客户端:
+ - 确保公钥和私钥已添加到正确的 Gitea 用户。
+ - 确保远程 URL 中没有任何问题。特别是,请确保∂
+ Git 用户(@ 之前的部分)的名称拼写正确。
+ - 确保客户端机器上的公钥和私钥正确无误。
+- 在服务器上:
+ - 确保存储库存在并且命名正确。
+ - 检查系统用户主目录中的 `.ssh` 目录的权限。
+ - 验证正确的公钥是否已添加到 `.ssh/authorized_keys` 中。
+
+ 尝试在 Gitea 管理面板上运行
+ `Rewrite '.ssh/authorized_keys' file (for Gitea SSH keys)`。
+- 查看 Gitea 日志。
+- 查看 /var/log/auth(或类似的文件)。
+- 检查存储库的权限。
+
+以下是一个示例,其中缺少公共 SSH 密钥,
+认证成功,但是其他设置导致 SSH 无法访问正确的
+存储库。
+
+```
+fatal: Could not read from remote repository.
+
+Please make sure you have the correct access rights
+and the repository exists.
+```
+
+在这种情况下,请检查以下设置:
+
+- 在服务器上:
+ - 确保`git`系统用户设置了可用的 shell
+ - 使用`getent passwd git | cut -d: -f7`进行验证
+ - 可以使用`usermod`或`chsh`进行修改。
+ - 确保`.ssh/authorized_keys`中的`gitea serv`命令使用
+ 正确的配置文件。
+
+## 迁移带有标签的存储库后缺失发布版本
+
+要迁移带有所有标签的存储库,您需要执行两个操作:
+
+- 推送标签到存储库:
+
+```
+ git push --tags
+```
+
+- 在 Gitea 中重新同步所有存储库的标签:
+
+```
+gitea admin repo-sync-releases
+```
+
+## LFS 问题
+
+针对涉及 LFS 数据上传的问题
+
+```
+batch response: Authentication required: Authorization error: <GITEA_LFS_URL>/info/lfs/objects/batch
+Check that you have proper access to the repository
+error: failed to push some refs to '<GIT_REPO_URL>'
+```
+
+检查`app.ini`文件中的`LFS_HTTP_AUTH_EXPIRY`值。
+
+默认情况下,LFS 令牌在 20 分钟后过期。如果您的连接速度较慢或文件较大(或两者都是),可能无法在时间限制内完成上传。
+
+您可以将此值设置为`60m`或`120m`。
+
+## 如何在启动 Gitea 之前创建用户
+
+Gitea 提供了一个子命令`gitea migrate`来初始化数据库,然后您可以使用[管理 CLI 命令](administration/command-line.md#admin)像正常情况下添加用户。
+
+## 如何启用密码重置
+
+没有密码重置的设置。当配置了[邮件服务](administration/email-setup.md)时,密码重置将自动启用;否则将被禁用。
+
+## 如何更改用户的密码
+
+- 作为管理员,您可以更改任何用户的密码(并可选择强制其在下次登录时更改密码)...
+ - 转到您的`站点管理 -> 用户账户`页面并编辑用户。
+- 使用[管理 CLI 命令](administration/command-line.md#admin)。
+
+ 请注意,大多数命令还需要一个[全局标志](administration/command-line.md#global-options)来指向正确的配置。
+- 作为**用户**,您可以更改密码...
+ - 在您的账户的`设置 -> 账户`页面(此方法**需要**您知道当前密码)。
+ - 使用`忘记密码`链接。
+
+ 如果`忘记密码/账户恢复`页面被禁用,请联系管理员配置[邮件服务](administration/email-setup.md)。
+
+## 为什么我的 Markdown 显示错误
+
+在 Gitea 版本 `1.11` 中,我们转换为使用[goldmark](https://github.com/yuin/goldmark)进行 Markdown 渲染,它符合[CommonMark](https://commonmark.org/)标准。
+
+如果您在版本`1.11`之前的Markdown正常工作,但在升级后无法正常工作,请仔细阅读CommonMark规范,看看问题是由错误还是非兼容的语法引起的。
+
+如果是后者,通常规范中会列出一种符合标准的替代方法。
+
+## 使用 MySQL 进行升级时出现的错误
+
+如果在使用 MySQL 升级 Gitea 时收到以下错误:
+
+> `ORM engine initialization failed: migrate: do migrate: Error: 1118: Row size too large...`
+
+请运行`gitea convert`或对数据库中的每个表运行`ALTER TABLE table_name ROW_FORMAT=dynamic;`。
+
+潜在问题是默认行格式分配给每个表的索引空间
+太小。Gitea 要求其表的`ROWFORMAT`为`DYNAMIC`。
+
+如果收到包含`Error 1071: Specified key was too long; max key length is 1000 bytes...`
+的错误行,则表示您正在尝试在使用 ISAM 引擎的表上运行 Gitea。尽管在先前版本的 Gitea 中可能是凑巧能够工作的,但它从未得到官方支持,
+您必须使用 InnoDB。您应该对数据库中的每个表运行`ALTER TABLE table_name ENGINE=InnoDB;`。
+
+如果您使用的是 MySQL 5,另一个可能的修复方法是:
+
+```mysql
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_large_prefix=1;
+```
+
+## 为什么 MySQL 上的 Emoji 显示错误
+
+不幸的是,MySQL 的`utf8`字符集不完全允许所有可能的 UTF-8 字符,特别是 Emoji。
+他们创建了一个名为 `utf8mb4`的字符集和校对规则,允许存储 Emoji,但使用
+utf8 字符集的表和连接将不会使用它。
+
+请运行 `gitea convert` 或对数据库运行`ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
+并对每个表运行
+`ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`。
+
+您还需要将`app.ini`文件中的数据库字符集设置为`CHARSET=utf8mb4`。
+
+## 为什么 Emoji 只显示占位符或单色图像
+
+Gitea 需要系统或浏览器安装其中一个受支持的 Emoji 字体,例如 Apple Color Emoji、Segoe UI Emoji、Segoe UI Symbol、Noto Color Emoji 和 Twemoji Mozilla。通常,操作系统应该已经提供了其中一个字体,但特别是在 Linux 上,可能需要手动安装它们。
+
+## SystemD 和 Docker 上的标准输出日志
+
+SystemD 上的标准输出默认会写入日志记录中。您可以尝试使用 `journalctl`、`journalctl -u gitea` 或 `journalctl <path-to-gitea-binary>`来查看。
+
+类似地,Docker 上的标准输出可以使用`docker logs <container>`来查看。
+
+要收集日志以进行帮助和问题报告,请参阅[支持选项](help/support.md)。
+
+## 初始日志记录
+
+在 Gitea 读取配置文件并设置其日志记录之前,它会将一些内容记录到标准输出,以帮助调试日志记录无法工作的情况。
+
+您可以通过设置`--quiet`或`-q`选项来停止此日志记录。请注意,这只会在 Gitea 设置自己的日志记录之前停止日志记录。
+
+如果您报告了错误或问题,必须提供这些信息以恢复初始日志记录。
+
+只有在完全配置了所有内容之后,您才应该设置此选项。
+
+## 在数据库启动期间出现有关结构默认值的警告
+
+有时,在迁移过程中,旧列和默认值可能在数据库架构中保持不变。
+这可能会导致警告,例如:
+
+```
+2020/08/02 11:32:29 ...rm/session_schema.go:360:Sync2() [W] Table user Column keep_activity_private db default is , struct default is 0
+```
+
+可以安全地忽略这些警告,但您可以通过让 Gitea 重新创建这些表来停止这些警告,使用以下命令:
+
+```
+gitea doctor recreate-table user
+```
+
+这将导致 Gitea 重新创建用户表并将旧数据复制到新表中,
+并正确设置默认值。
+
+您可以使用以下命令要求 Gitea 重新创建多个表:
+
+```
+gitea doctor recreate-table table1 table2 ...
+```
+
+如果您希望 Gitea 重新创建所有表,请使用以下命令:
+
+```
+gitea doctor recreate-table
+```
+
+在运行这些命令之前,强烈建议您备份数据库。
+
+## 为什么查看文件时制表符/缩进显示错误
+
+如果您正在使用 Cloudflare,请在仪表板中关闭自动缩小选项。
+
+`Speed` -> `Optimization` -> 在 `Auto-Minify` 设置中取消选中 `HTML`。
+
+## 如何从磁盘采用存储库
+
+- 将您的(裸)存储库添加到正确的位置,即您的配置所在的地方(`repository.ROOT`),确保它们位于正确的布局`<REPO_ROOT>/[user]/[repo].git`。
+ - **注意:**目录名必须为小写。
+ - 您还可以在`<ROOT_URL>/admin/config`中检查存储库根路径。
+- 确保存在要采用存储库的用户/组织。
+- 作为管理员,转到`<ROOT_URL>/admin/repos/unadopted`并搜索。
+- 用户也可以通过配置[`ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`](administration/config-cheat-sheet.md#repository) 获得类似的权限。
+- 如果上述步骤都正确执行,您应该能够选择要采用的存储库。
+ - 如果没有找到存储库,请启用[调试日志记录](administration/config-cheat-sheet.md#repository)以检查是否有特定错误。
diff --git a/docs/content/help/support.en-us.md b/docs/content/help/support.en-us.md
new file mode 100644
index 0000000000..144072299a
--- /dev/null
+++ b/docs/content/help/support.en-us.md
@@ -0,0 +1,53 @@
+---
+date: "2018-05-21T15:00:00+00:00"
+title: "Support Options"
+slug: "support"
+sidebar_position: 20
+toc: false
+draft: false
+aliases:
+ - /en-us/seek-help
+menu:
+ sidebar:
+ parent: "help"
+ name: "Support Options"
+ sidebar_position: 20
+ identifier: "support"
+---
+
+# Support Options
+
+- [Paid Commercial Support](https://about.gitea.com/)
+- [Discord](https://discord.gg/Gitea)
+- [Discourse Forum](https://discourse.gitea.io/)
+
+**NOTE:** When asking for support, it may be a good idea to have the following available so that the person helping has all the info they need:
+
+1. Your `app.ini` (with any sensitive data scrubbed as necessary).
+2. The Gitea logs, and any other appropriate log files for the situation.
+ - When using systemd, use `journalctl --lines 1000 --unit gitea` to collect logs.
+ - When using docker, use `docker logs --tail 1000 <gitea-container>` to collect logs.
+ - By default, the logs are 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),
+ then you can find the `*.log` files in Gitea's log directory (default: `%(GITEA_WORK_DIR)/log`).
+
+ ```ini
+ ; To show all SQL logs, you can also set LOG_SQL=true in the [database] section
+ [log]
+ LEVEL=debug
+ MODE=console,file
+ ```
+
+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.
+ - This will greatly improve the chance that the root of the issue can be quickly discovered and resolved.
+5. If you encounter slow/hanging/deadlock problems, please report the stack trace when the problem occurs.
+ Go to the "Site Admin" -> "Monitoring" -> "Stacktrace" -> "Download diagnosis report".
+
+## Bugs
+
+If you found a bug, please create an [issue on GitHub](https://github.com/go-gitea/gitea/issues).
+
+## Chinese Support
+
+Support for the Chinese language is provided at [Our discourse](https://discourse.gitea.io/c/5-category/5) or QQ Group 328432459.
diff --git a/docs/content/help/support.zh-cn.md b/docs/content/help/support.zh-cn.md
new file mode 100644
index 0000000000..de56d8abe0
--- /dev/null
+++ b/docs/content/help/support.zh-cn.md
@@ -0,0 +1,25 @@
+---
+date: "2017-01-20T15:00:00+08:00"
+title: "需要帮助"
+slug: "support"
+sidebar_position: 20
+toc: false
+draft: false
+aliases:
+ - /zh-cn/seek-help
+menu:
+ sidebar:
+ parent: "help"
+ name: "需要帮助"
+ sidebar_position: 20
+ identifier: "support"
+---
+
+## 需要帮助?
+
+如果您在使用或者开发过程中遇到问题,请到以下渠道咨询:
+
+- 到 [GitHub Issue](https://github.com/go-gitea/gitea/issues) 提问(因为项目维护人员来自世界各地,为保证沟通顺畅,请使用英文提问)
+- 中文问题到 [Gitea 论坛](https://discourse.gitea.io/c/5-category/5) 提问
+- 访问 [Discord Gitea 聊天室 - 英文](https://discord.gg/Gitea)
+- 加入 QQ群 328432459 获得进一步的支持
diff --git a/docs/content/help/support.zh-tw.md b/docs/content/help/support.zh-tw.md
new file mode 100644
index 0000000000..70f4db01b3
--- /dev/null
+++ b/docs/content/help/support.zh-tw.md
@@ -0,0 +1,35 @@
+---
+date: "2018-05-21T15:00:00+00:00"
+title: "取得協助"
+slug: "support"
+sidebar_position: 20
+toc: false
+draft: false
+aliases:
+ - /zh-tw/seek-help
+menu:
+ sidebar:
+ parent: "help"
+ name: "取得協助"
+ sidebar_position: 20
+ identifier: "support"
+---
+
+# 取得協助
+
+- [Discord 聊天室](https://discord.gg/Gitea)
+- [Discourse 討論區](https://discourse.gitea.io/)
+
+**備註:** 尋求支援時,若能先備妥下列資訊將可讓提供協助的人能快速地分析您的問題:
+
+1. 您的 `app.ini` (必要時清除掉任何機密資訊)
+2. `gitea.log` (以及任何有關的日誌檔案)
+ - 例:如果錯誤和資料庫相關,提供 `xorm.log` 可能會有幫助
+3. 您看到的任何錯誤訊息
+4. 儘可能地在 [try.gitea.io](https://try.gitea.io) 觸發您的問題並記下步驟,以便其他人能重現那個問題。
+ - 這將讓我們更有機會快速地找出問題的根源並解決它。
+5. 堆棧跟踪,[請參考英文文檔](https://docs.gitea.io/en-us/seek-help/)
+
+## 錯誤回報
+
+如果您發現錯誤,請到 [GitHub 的 Issue](https://github.com/go-gitea/gitea/issues) 回報。