gitea [global options] command [command or global options] [arguments...]
All global options can be placed at the command level.
--help, -h: Show help text and exit. Optional.--version, -v: Show version and exit. Optional. (example: Gitea version 1.1.0+218-g7b907ed built with: bindata, sqlite).--custom-path path, -C path: Location of the Gitea custom folder. Optional. (default: AppWorkPath/custom or $GITEA_CUSTOM).--config path, -c path: Gitea configuration file path. Optional. (default: custom/conf/app.ini).--work-path path, -w path: Gitea AppWorkPath. Optional. (default: LOCATION_OF_GITEA_BINARY or $GITEA_WORK_DIR)NB: The defaults custom-path, config and work-path can also be
changed at build time (if preferred).
Starts the server:
--port number, -p number: Port number. Optional. (default: 3000). Overrides configuration file.--pid path, -P path: Pidfile path. Optional.gitea webgitea web --port 80gitea web --config /etc/gitea.ini --pid /var/run/gitea.pidsudo setcap 'cap_net_bind_service=+ep' /path/to/gitea. This will need to beAdmin operations:
create-user
--name value: Username. Required. As of gitea 1.9.0, use the --username flag instead.--username value: Username. Required. New in gitea 1.9.0.--password value: Password. Required.--email value: Email. Required.--admin: If provided, this makes the user an admin. Optional.--access-token: If provided, an access token will be created for the user. Optional. (default: false).--must-change-password: If provided, the created user will be required to choose a newer password after--random-password: If provided, a randomly generated password will be used as the password of--password will be discarded. Optional.--random-password-length: If provided, it will be used to configure the length of the randomlygitea admin create-user --username myname --password asecurepassword --email me@example.comchange-password
--username value, -u value: Username. Required.--password value, -p value: New password. Required.gitea admin change-password --username myname --password asecurepasswordregenerate
hooks: Regenerate git-hooks for all repositorieskeys: Regenerate authorized_keys filegitea admin regenerate hooksgitea admin regenerate keysauth:
list:
gitea admin auth listdelete:
--id: ID of source to be deleted. Required.gitea admin auth delete --id 1add-oauth:
--name: Application Name.--provider: OAuth2 Provider.--key: Client ID (Key).--secret: Client Secret.--auto-discover-url: OpenID Connect Auto Discovery URL (only required when using OpenID Connect as provider).--use-custom-urls: Use custom URLs for GitLab/GitHub OAuth endpoints.--custom-auth-url: Use a custom Authorization URL (option for GitLab/GitHub).--custom-token-url: Use a custom Token URL (option for GitLab/GitHub).--custom-profile-url: Use a custom Profile URL (option for GitLab/GitHub).--custom-email-url: Use a custom Email URL (option for GitHub).gitea admin auth add-oauth --name external-github --provider github --key OBTAIN_FROM_SOURCE --secret OBTAIN_FROM_SOURCEupdate-oauth:
--id: ID of source to be updated. Required.--name: Application Name.--provider: OAuth2 Provider.--key: Client ID (Key).--secret: Client Secret.--auto-discover-url: OpenID Connect Auto Discovery URL (only required when using OpenID Connect as provider).--use-custom-urls: Use custom URLs for GitLab/GitHub OAuth endpoints.--custom-auth-url: Use a custom Authorization URL (option for GitLab/GitHub).--custom-token-url: Use a custom Token URL (option for GitLab/GitHub).--custom-profile-url: Use a custom Profile URL (option for GitLab/GitHub).--custom-email-url: Use a custom Email URL (option for GitHub).gitea admin auth update-oauth --id 1 --name external-github-updatedadd-ldap: Add new LDAP (via Bind DN) authentication source
--name value: Authentication name. Required.--not-active: Deactivate the authentication source.--security-protocol value: Security protocol name. Required.--skip-tls-verify: Disable TLS verification.--host value: The address where the LDAP server can be reached. Required.--port value: The port to use when connecting to the LDAP server. Required.--user-search-base value: The LDAP base at which user accounts will be searched for. Required.--user-filter value: An LDAP filter declaring how to find the user record that is attempting to authenticate. Required.--admin-filter value: An LDAP filter specifying if a user should be given administrator privileges.--username-attribute value: The attribute of the user’s LDAP record containing the user name.--firstname-attribute value: The attribute of the user’s LDAP record containing the user’s first name.--surname-attribute value: The attribute of the user’s LDAP record containing the user’s surname.--email-attribute value: The attribute of the user’s LDAP record containing the user’s email address. Required.--public-ssh-key-attribute value: The attribute of the user’s LDAP record containing the user’s public ssh key.--bind-dn value: The DN to bind to the LDAP server with when searching for the user.--bind-password value: The password for the Bind DN, if any.--attributes-in-bind: Fetch attributes in bind DN context.--synchronize-users: Enable user synchronization.--page-size value: Search page size.gitea admin auth add-ldap --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-search-base "ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(uid=%s))" --email-attribute mailupdate-ldap: Update existing LDAP (via Bind DN) authentication source
--id value: ID of authentication source. Required.--name value: Authentication name.--not-active: Deactivate the authentication source.--security-protocol value: Security protocol name.--skip-tls-verify: Disable TLS verification.--host value: The address where the LDAP server can be reached.--port value: The port to use when connecting to the LDAP server.--user-search-base value: The LDAP base at which user accounts will be searched for.--user-filter value: An LDAP filter declaring how to find the user record that is attempting to authenticate.--admin-filter value: An LDAP filter specifying if a user should be given administrator privileges.--username-attribute value: The attribute of the user’s LDAP record containing the user name.--firstname-attribute value: The attribute of the user’s LDAP record containing the user’s first name.--surname-attribute value: The attribute of the user’s LDAP record containing the user’s surname.--email-attribute value: The attribute of the user’s LDAP record containing the user’s email address.--public-ssh-key-attribute value: The attribute of the user’s LDAP record containing the user’s public ssh key.--bind-dn value: The DN to bind to the LDAP server with when searching for the user.--bind-password value: The password for the Bind DN, if any.--attributes-in-bind: Fetch attributes in bind DN context.--synchronize-users: Enable user synchronization.--page-size value: Search page size.gitea admin auth update-ldap --id 1 --name "my ldap auth source"gitea admin auth update-ldap --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute snadd-ldap-simple: Add new LDAP (simple auth) authentication source
--name value: Authentication name. Required.--not-active: Deactivate the authentication source.--security-protocol value: Security protocol name. Required.--skip-tls-verify: Disable TLS verification.--host value: The address where the LDAP server can be reached. Required.--port value: The port to use when connecting to the LDAP server. Required.--user-search-base value: The LDAP base at which user accounts will be searched for.--user-filter value: An LDAP filter declaring how to find the user record that is attempting to authenticate. Required.--admin-filter value: An LDAP filter specifying if a user should be given administrator privileges.--username-attribute value: The attribute of the user’s LDAP record containing the user name.--firstname-attribute value: The attribute of the user’s LDAP record containing the user’s first name.--surname-attribute value: The attribute of the user’s LDAP record containing the user’s surname.--email-attribute value: The attribute of the user’s LDAP record containing the user’s email address. Required.--public-ssh-key-attribute value: The attribute of the user’s LDAP record containing the user’s public ssh key.--user-dn value: The user’s DN. Required.gitea admin auth add-ldap-simple --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-dn "cn=%s,ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(cn=%s))" --email-attribute mailupdate-ldap-simple: Update existing LDAP (simple auth) authentication source
--id value: ID of authentication source. Required.--name value: Authentication name.--not-active: Deactivate the authentication source.--security-protocol value: Security protocol name.--skip-tls-verify: Disable TLS verification.--host value: The address where the LDAP server can be reached.--port value: The port to use when connecting to the LDAP server.--user-search-base value: The LDAP base at which user accounts will be searched for.--user-filter value: An LDAP filter declaring how to find the user record that is attempting to authenticate.--admin-filter value: An LDAP filter specifying if a user should be given administrator privileges.--username-attribute value: The attribute of the user’s LDAP record containing the user name.--firstname-attribute value: The attribute of the user’s LDAP record containing the user’s first name.--surname-attribute value: The attribute of the user’s LDAP record containing the user’s surname.--email-attribute value: The attribute of the user’s LDAP record containing the user’s email address.--public-ssh-key-attribute value: The attribute of the user’s LDAP record containing the user’s public ssh key.--user-dn value: The user’s DN.gitea admin auth update-ldap-simple --id 1 --name "my ldap auth source"gitea admin auth update-ldap-simple --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute snGenerates a self-signed SSL certificate. Outputs to cert.pem and key.pem in the current
directory and will overwrite any existing files.
--host value: Comma seperated hostnames and ips which this certificate is valid for.--ecdsa-curve value: ECDSA curve to use to generate a key. Optional. Valid options--rsa-bits value: Size of RSA key to generate. Optional. Ignored if --ecdsa-curve is--start-date value: Creation date. Optional. (format: Jan 1 15:04:05 2011).--duration value: Duration which the certificate is valid for. Optional. (default: 8760h0m0s)--ca: If provided, this cert generates it's own certificate authority. Optional.gitea cert --host git.example.com,example.com,www.example.com --caDumps all files and databases into a zip file. Outputs into a file like gitea-dump-1482906742.zip
in the current directory.
--file name, -f name: Name of the dump file with will be created. Optional. (default: gitea-dump-[timestamp].zip).--tempdir path, -t path: Path to the temporary directory used. Optional. (default: /tmp).--skip-repository, -R: Skip the repository dumping. Optional.--database, -d: Specify the database SQL syntax. Optional.--verbose, -V: If provided, shows additional details. Optional.gitea dumpgitea dump --verboseGenerates random values and tokens for usage in configuration file. Useful for generating values
for automatic deployments.
secret:
INTERNAL_TOKEN: Token used for an internal API call authentication.JWT_SECRET: LFS & OAUTH2 JWT authentication secret (LFS_JWT_SECRET is aliased to this option for backwards compatibility).SECRET_KEY: Global secret key.gitea generate secret INTERNAL_TOKENgitea generate secret JWT_SECRETgitea generate secret SECRET_KEYProvides an SSHD AuthorizedKeysCommand. Needs to be configured in the sshd config file:
...
# The value of -e and the AuthorizedKeysCommandUser should match the
# username running gitea
AuthorizedKeysCommandUser git
AuthorizedKeysCommand /path/to/gitea keys -e git -u %u -t %t -k %k
The command will return the appropriate authorized_keys line for the
provided key. You should also set the value
SSH_CREATE_AUTHORIZED_KEYS_FILE=false in the [server] section of
app.ini.
NB: opensshd requires the gitea program to be owned by root and not
writable by group or others. The program must be specified by an absolute
path.