You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

command-line.md 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. ---
  2. date: "2017-01-01T16:00:00+02:00"
  3. title: "Usage: Command Line"
  4. slug: "command-line"
  5. weight: 10
  6. toc: true
  7. draft: false
  8. menu:
  9. sidebar:
  10. parent: "usage"
  11. name: "Command Line"
  12. weight: 10
  13. identifier: "command-line"
  14. ---
  15. ## Command Line
  16. ### Usage
  17. `gitea [global options] command [command options] [arguments...]`
  18. ### Global options
  19. - `--help`, `-h`: Show help text and exit. Optional. This can be used with any of the
  20. subcommands to see help text for it.
  21. - `--version`, `-v`: Show version and exit. Optional. (example: `Gitea version
  22. 1.1.0+218-g7b907ed built with: bindata, sqlite`).
  23. ### Commands
  24. #### web
  25. Starts the server:
  26. - Options:
  27. - `--port number`, `-p number`: Port number. Optional. (default: 3000). Overrides configuration file.
  28. - `--config path`, `-c path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  29. - `--pid path`, `-P path`: Pidfile path. Optional.
  30. - Examples:
  31. - `gitea web`
  32. - `gitea web --port 80`
  33. - `gitea web --config /etc/gitea.ini --pid /var/run/gitea.pid`
  34. - Notes:
  35. - Gitea should not be run as root. To bind to a port below 1000, you can use setcap on
  36. Linux: `sudo setcap 'cap_net_bind_service=+ep' /path/to/gitea`. This will need to be
  37. redone every time you update Gitea.
  38. #### admin
  39. Admin operations:
  40. - Commands:
  41. - `create-user`
  42. - Options:
  43. - `--name value`: Username. Required.
  44. - `--password value`: Password. Required.
  45. - `--email value`: Email. Required.
  46. - `--admin`: If provided, this makes the user an admin. Optional.
  47. - `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  48. - Examples:
  49. - `gitea admin create-user --name myname --password asecurepassword --email me@example.com`
  50. - `change-password`
  51. - Options:
  52. - `--username value`, `-u value`: Username. Required.
  53. - `--password value`, `-p value`: New password. Required.
  54. - `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  55. - Examples:
  56. - `gitea admin change-password --username myname --password asecurepassword`
  57. - `regenerate`
  58. - Options:
  59. - `hooks`: Regenerate git-hooks for all repositories
  60. - `keys`: Regenerate authorized_keys file
  61. - Examples:
  62. - `gitea admin regenerate hooks`
  63. - `gitea admin regenerate keys`
  64. - `auth`:
  65. - `list`:
  66. - Description: lists all external authentication sources that exist
  67. - Options:
  68. - `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  69. - Examples:
  70. - `gitea auth list`
  71. - `delete`:
  72. - Options:
  73. - `--id`: ID of source to be deleted. Required.
  74. - `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  75. - Examples:
  76. - `gitea auth delete --id 1`
  77. - `add-oauth`:
  78. - Options:
  79. - `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  80. - `--name`: Application Name.
  81. - `--provider`: OAuth2 Provider.
  82. - `--key`: Client ID (Key).
  83. - `--secret`: Client Secret.
  84. - `--auto-discover-url`: OpenID Connect Auto Discovery URL (only required when using OpenID Connect as provider).
  85. - `--use-custom-urls`: Use custom URLs for GitLab/GitHub OAuth endpoints.
  86. - `--custom-auth-url`: Use a custom Authorization URL (option for GitLab/GitHub).
  87. - `--custom-token-url`: Use a custom Token URL (option for GitLab/GitHub).
  88. - `--custom-profile-url`: Use a custom Profile URL (option for GitLab/GitHub).
  89. - `--custom-email-url`: Use a custom Email URL (option for GitHub).
  90. - Examples:
  91. - `gitea auth add-oauth --name external-github --provider github --key OBTAIN_FROM_SOURCE --secret OBTAIN_FROM_SOURCE`
  92. - `update-oauth`:
  93. - Options:
  94. - `--id`: ID of source to be updated. Required.
  95. - `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  96. - `--name`: Application Name.
  97. - `--provider`: OAuth2 Provider.
  98. - `--key`: Client ID (Key).
  99. - `--secret`: Client Secret.
  100. - `--auto-discover-url`: OpenID Connect Auto Discovery URL (only required when using OpenID Connect as provider).
  101. - `--use-custom-urls`: Use custom URLs for GitLab/GitHub OAuth endpoints.
  102. - `--custom-auth-url`: Use a custom Authorization URL (option for GitLab/GitHub).
  103. - `--custom-token-url`: Use a custom Token URL (option for GitLab/GitHub).
  104. - `--custom-profile-url`: Use a custom Profile URL (option for GitLab/GitHub).
  105. - `--custom-email-url`: Use a custom Email URL (option for GitHub).
  106. - Examples:
  107. - `gitea auth update-oauth --id 1 --name external-github-updated`
  108. #### cert
  109. Generates a self-signed SSL certificate. Outputs to `cert.pem` and `key.pem` in the current
  110. directory and will overwrite any existing files.
  111. - Options:
  112. - `--host value`: Comma seperated hostnames and ips which this certificate is valid for.
  113. Wildcards are supported. Required.
  114. - `--ecdsa-curve value`: ECDSA curve to use to generate a key. Optional. Valid options
  115. are P224, P256, P384, P521.
  116. - `--rsa-bits value`: Size of RSA key to generate. Optional. Ignored if --ecdsa-curve is
  117. set. (default: 2048).
  118. - `--start-date value`: Creation date. Optional. (format: `Jan 1 15:04:05 2011`).
  119. - `--duration value`: Duration which the certificate is valid for. Optional. (default: 8760h0m0s)
  120. - `--ca`: If provided, this cert generates it's own certificate authority. Optional.
  121. - Examples:
  122. - `gitea cert --host git.example.com,example.com,www.example.com --ca`
  123. #### dump
  124. Dumps all files and databases into a zip file. Outputs into a file like `gitea-dump-1482906742.zip`
  125. in the current directory.
  126. - Options:
  127. - `--config path`, `-c path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
  128. - `--tempdir path`, `-t path`: Path to the temporary directory used. Optional. (default: /tmp).
  129. - `--verbose`, `-v`: If provided, shows additional details. Optional.
  130. - Examples:
  131. - `gitea dump`
  132. - `gitea dump --verbose`
  133. #### generate
  134. Generates random values and tokens for usage in configuration file. Useful for generating values
  135. for automatic deployments.
  136. - Commands:
  137. - `secret`:
  138. - Options:
  139. - `INTERNAL_TOKEN`: Token used for an internal API call authentication.
  140. - `LFS_JWT_SECRET`: LFS authentication secret.
  141. - `SECRET_KEY`: Global secret key.
  142. - Examples:
  143. - `gitea generate secret INTERNAL_TOKEN`
  144. - `gitea generate secret LFS_JWT_SECRET`
  145. - `gitea generate secret SECRET_KEY`
  146. #### keys
  147. Provides an SSHD AuthorizedKeysCommand. Needs to be configured in the sshd config file:
  148. ```ini
  149. ...
  150. # The value of -e and the AuthorizedKeysCommandUser should match the
  151. # username running gitea
  152. AuthorizedKeysCommandUser git
  153. AuthorizedKeysCommand /path/to/gitea keys -e git -u %u -t %t -k %k
  154. ```
  155. The command will return the appropriate authorized_keys line for the
  156. provided key. You should also set the value
  157. `SSH_CREATE_AUTHORIZED_KEYS_FILE=false` in the `[server]` section of
  158. `app.ini`.
  159. NB: opensshd requires the gitea program to be owned by root and not
  160. writable by group or others. The program must be specified by an absolute
  161. path.