460f3c1752
(cherry picked from commit 8cbbab7fefa62c66faba72d6f8ddcec33c5e6423) (cherry picked from commit 51113f0f29e2e7f9281ea568b8acddf6c26accb0) (cherry picked from commit 0d061e411f60bb4533460e1558646cdbc6a45aae) (cherry picked from commit 1eb4e7e691bf496b152916e11b991b16786752e2) (cherry picked from commit 3c3760f3b608303cc11e1cc3fea574e8166aeddc) (cherry picked from commit c11907373dfb8df7f974c726f46aee20727a9d3e) (cherry picked from commit d990fcf4469df8a4edede97e2c0980536ca98d86) (cherry picked from commit 62fd8a0b399802ca76bee0140f35357b2ddfd762) (cherry picked from commit 0663a2534101c0c6ed2fefd2eb84ce7f89bea4af) (cherry picked from commit c20d4386e530b56d9342a1403c682e86b5d25ada) (cherry picked from commit 5981040a197e002e6235194e92f4bad140572b49) (cherry picked from commit b62809313fdad4a50592d7f1035c6eeeb69949fb) (cherry picked from commit 205512ef96d305dd63415af280fd57cf0ffbc504) (cherry picked from commit 8b923cf770cbeaf113c509cacda859760c60ce0f) (cherry picked from commit bdc50fff48717c6597fe82cd3cb822b640dbb0a8) (cherry picked from commit 35da9d23164ef235bbd41793ed16b749b1b98e73) (cherry picked from commit f185ba6d03d99767f20d0df231eb27caf901a5a5) (cherry picked from commit dfe5502f566ec4b41cf24d13e22995f3ed33cc2d) (cherry picked from commit 193fd9bec794f8a15b6556b444e22c64ae604e8c) (cherry picked from commit 1e3af954eef66dfc7277274ee21c202403f023b9) (cherry picked from commit 0430ad731201780cea0f642754f63227af241766) (cherry picked from commit 5d05f7f9f6c6a7d97fcaff0fd440aaa7b94853c9) (cherry picked from commit 82afc7c30bddc4027815bf1f320cbfabd13c256d) |
||
---|---|---|
.devcontainer | ||
.forgejo | ||
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. This project has been forked from Gogs since November of 2016, but a lot has changed.
For online demonstrations, you can visit try.gitea.io.
For accessing free Gitea service (with a limited number of repositories), you can visit gitea.com.
To quickly deploy your own dedicated Gitea instance on Gitea Cloud, you can start a free trial at cloud.gitea.com.
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!