![]() (cherry picked from commit dd1971d4e60f37fb76daeb6cef8b1defcc957a34) (cherry picked from commit 3981dbaf8c0dd74b0e82a7afc36809998ac775a2) (cherry picked from commit 8dff3cc2d1a51980439e9ca8f1cad592403c558e) (cherry picked from commit e7673e5d2237733e4e17b9386c4bb25bb88fe2e2) (cherry picked from commit 326174064ba6dbd379ea82e9643e23fe684ad96f) (cherry picked from commit eb769dbde4fb0d7a8a4bd74b6bcdf1f1f180f840) (cherry picked from commit 335829ade20a187c7fd423909231d198a59545bd) (cherry picked from commit 5e8e4f549d2224a00387764e93fdbde34e324c3d) Conflicts: Dockerfile Dockerfile.rootless (cherry picked from commit b777fc91d0ba5b1a061bd9cc57c4818a3357b42a) (cherry picked from commit 02cda642ec7ce2b69de7f0ff4fb4f0d70941f54e) (cherry picked from commit 96ef93f3bc1b618831f04e1ae5d5c7c74e2ed36c) (cherry picked from commit aa424551f24364dd43d9b7739b723bb1d914eeaf) Conflicts: Dockerfile Dockerfile.rootless (cherry picked from commit e54fa86e4904047e5670e68a9dd89e76530564a4) (cherry picked from commit 043fa6d6649272f14a65ee2c9cac15b090e66bc9) (cherry picked from commit 805b16248015e8d7ab8c4f514969cff333d432c8) (cherry picked from commit 86bf362a3c8386cc4530c0c4cba46097ed20d8af) (cherry picked from commit 13e0007959fb5e2496b3bbec916036bd2a05a558) (cherry picked from commit 00ff6f7cb3c54ae3a8ed2069b0dd0dddd98e7e6e) (cherry picked from commit 95c7d8e883da495facfbac39db55b5b710ea25a7) (cherry picked from commit fb033d2bb613c34b7f61c2bad14136f8f110081e) (cherry picked from commit 1147910a552db9fdf7f4ef0a35e9b1d2405b0e69) (cherry picked from commit 6590b6e99c9c31389f6b948976fba3fea8da7eb7) (cherry picked from commit 78938113e4908df1d1e5181c1aa7605e7bc5747d) (cherry picked from commit 57338224f172e30a72f03f565aa47876e1213e77) (cherry picked from commit 4266cbcdd415de2deaea8620fe9b7b53866171ba) (cherry picked from commit bdc766a5a2304fc1826649ac747a2724fed6e7ab) (cherry picked from commit 6fb9ad85046fedf381a948906841098eb4ac010f) (cherry picked from commit c4e6383240c4188fd65bf751aaf8f38466fe60e7) (cherry picked from commit 490fa55b3abab2450073bc2358893687a06305cc) (cherry picked from commit 802c8e72be88b342d3a285cd76a4d3207813d54f) (cherry picked from commit 2b1efe20303be52f7ce142bafe48228822a1350c) (cherry picked from commit fdcdd7389adafc25a158fc510256039e8f98bb2d) (cherry picked from commit b9ae491650c7b8008149cda504439f092ba019ea) (cherry picked from commit 6667b50919efe7386bf0be59d0a93d807e6fcf20) (cherry picked from commit 6d10c63fa8b49f42e54185dd2009b4f9e0e749e8) (cherry picked from commit 088cdac7b433c40790b6d4f9ce9fc49f0cdcc731) (cherry picked from commit bf40cce579c8af4918ff04f020ffa9d273817857) (cherry picked from commit 525db02fbd9a921a637cc2d40c8c8c34c3164610) (cherry picked from commit e4e43c3265c0a1c35ef5b2a1357842ef537276f7) |
||
---|---|---|
.devcontainer | ||
.gitea | ||
.github | ||
assets | ||
build | ||
cmd | ||
contrib | ||
custom/conf | ||
docker | ||
docs | ||
models | ||
modules | ||
options | ||
public | ||
routers | ||
services | ||
snap | ||
templates | ||
tests | ||
web_src | ||
.air.toml | ||
.changelog.yml | ||
.dockerignore | ||
.editorconfig | ||
.eslintrc.yaml | ||
.gitattributes | ||
.gitignore | ||
.gitpod.yml | ||
.golangci.yml | ||
.ignore | ||
.markdownlint.yaml | ||
.npmrc | ||
.spectral.yaml | ||
.stylelintrc.yaml | ||
.yamllint.yaml | ||
BSDmakefile | ||
build.go | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
DCO | ||
Dockerfile | ||
Dockerfile.rootless | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
MAINTAINERS | ||
Makefile | ||
package-lock.json | ||
package.json | ||
playwright.config.js | ||
poetry.lock | ||
poetry.toml | ||
pyproject.toml | ||
README.md | ||
README_ZH.md | ||
SECURITY.md | ||
vitest.config.js | ||
webpack.config.js |
Gitea - Git with a cup of tea
Purpose
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service.
As Gitea is written in Go, it works across all the platforms and architectures that are supported by Go, including Linux, macOS, and Windows on x86, amd64, ARM and PowerPC architectures. You can try it out using the online demo. This project has been forked from Gogs since November of 2016, but a lot has changed.
Building
From the root of the source tree, run:
TAGS="bindata" make build
or if SQLite support is required:
TAGS="bindata sqlite sqlite_unlock_notify" make build
The build
target is split into two sub-targets:
make backend
which requires Go Stable, the required version is defined in go.mod.make frontend
which requires Node.js LTS or greater.
Internet connectivity is required to download the go and npm modules. When building from the official source tarballs which include pre-built frontend files, the frontend
target will not be triggered, making it possible to build without Node.js.
Parallelism (make -j <num>
) is not supported.
More info: https://docs.gitea.com/installation/install-from-source
Using
./gitea web
NOTE: If you're interested in using our APIs, we have experimental support with documentation.
Contributing
Expected workflow is: Fork -> Patch -> Push -> Pull Request
NOTES:
- YOU MUST READ THE CONTRIBUTORS GUIDE BEFORE STARTING TO WORK ON A PULL REQUEST.
- If you have found a vulnerability in the project, please write privately to security@gitea.io. Thanks!
Translating
Translations are done through Crowdin. If you want to translate to a new language ask one of the managers in the Crowdin project to add a new language there.
You can also just create an issue for adding a language or ask on discord on the #translation channel. If you need context or find some translation issues, you can leave a comment on the string or ask on Discord. For general translation questions there is a section in the docs. Currently a bit empty but we hope to fill it as questions pop up.
https://docs.gitea.com/contributing/localization
Further information
For more information and instructions about how to install Gitea, please look at our documentation. If you have questions that are not covered by the documentation, you can get in contact with us on our Discord server or create a post in the discourse forum.
We maintain a list of Gitea-related projects at gitea/awesome-gitea.
The official Gitea CLI is developed at gitea/tea.
Authors
Backers
Thank you to all our backers! 🙏 [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
FAQ
How do you pronounce Gitea?
Gitea is pronounced /ɡɪ’ti:/ as in "gi-tea" with a hard g.
Why is this not hosted on a Gitea instance?
We're working on it.
License
This project is licensed under the MIT License. See the LICENSE file for the full license text.
Screenshots
Looking for an overview of the interface? Check it out!
![]() |
![]() |
![]() |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |