Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 89 additions & 9 deletions tools/Gitea/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,103 @@
# Gitea

![Gitea Logo](../logos/gitea.svg)
<img src="../../logos/gitea.svg" alt="Gitea Logo" width="120"/>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix the logo path to match directory nesting level.

The logo path uses ../../logos/gitea.svg, which resolves incorrectly for a direct subdirectory under tools/. Since this file is at tools/Gitea/README.md, the correct relative path should be ../logos/gitea.svg.

As per coding guidelines: "Logo path resolution must account for nesting depth: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/"

🔧 Proposed fix
-<img src="../../logos/gitea.svg" alt="Gitea Logo" width="120"/>
+<img src="../logos/gitea.svg" alt="Gitea Logo" width="120"/>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<img src="../../logos/gitea.svg" alt="Gitea Logo" width="120"/>
<img src="../logos/gitea.svg" alt="Gitea Logo" width="120"/>
🤖 Prompt for AI Agents
In `@tools/Gitea/README.md` at line 3, Update the image path in the README's <img>
tag from ../../logos/gitea.svg to ../logos/gitea.svg to reflect the correct
nesting for tools/Category/Tool; locate the <img src="..."> line in
tools/Gitea/README.md and replace the path so it uses ../logos/gitea.svg per the
logo path resolution rule.


## Overview

Gitea is a lightweight, self-hosted Git service written in Go. It provides a simple and fast way to set up your own Git server, offering features like issue tracking, pull requests, and wiki pages. Gitea is designed to be easy to install and maintain, making it ideal for organizations that want to keep their code repositories private and under their control.
Gitea is a lightweight, self-hosted Git service written in Go. It provides a simple and fast way to set up your own Git server, offering features like issue tracking, pull requests, wiki pages, code review, collaboration features, a package registry and CI/CD via Gitea Actions. Gitea is designed to be easy to install and maintain, making it ideal for organizations that want to keep their code repositories private and under their control.

## Key Features

- Feature 1
- Feature 2
- Feature 3
- Git hosting & collaboration: repositories, branches/tags, web code browsing, and access control.
- Pull Requests & code review: review workflows with comments and merge support.
- CI/CD with Gitea Actions: GitHub Actions–compatible workflow approach.
- Package Registry: supports many package types for private/public artifact hosting.
- Fast and resource-efficient: designed to remain lightweight while supporting modern Git workflows.

## Getting Started

Installation and basic usage instructions.
### Prerequisites

Install Docker + Docker Compose v2 (Gitea’s docs note Compose v1 is deprecated; use Compose v2).

Create a working directory:

`mkdir gitea && cd gitea`
Create docker-compose.yml
```yaml
version: "3"

networks:
gitea:
external: false

services:
server:
image: docker.gitea.com/gitea:1.25.3
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
```
Notes:
If you use host volumes, ensure the mapped folder is owned by the UID/GID you set, otherwise the container may not start. See https://docs.gitea.com/installation/docker/#volumes
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Convert bare URL to proper markdown link.

The bare URL violates markdown linting rule MD034. Convert it to a proper markdown link for better formatting and compliance.

🔧 Proposed fix
-If you use host volumes, ensure the mapped folder is owned by the UID/GID you set, otherwise the container may not start. See https://docs.gitea.com/installation/docker/#volumes
+If you use host volumes, ensure the mapped folder is owned by the UID/GID you set, otherwise the container may not start. See [volume documentation](https://docs.gitea.com/installation/docker/#volumes) for details.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
If you use host volumes, ensure the mapped folder is owned by the UID/GID you set, otherwise the container may not start. See https://docs.gitea.com/installation/docker/#volumes
If you use host volumes, ensure the mapped folder is owned by the UID/GID you set, otherwise the container may not start. See [volume documentation](https://docs.gitea.com/installation/docker/#volumes) for details.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

54-54: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In `@tools/Gitea/README.md` at line 54, Replace the bare URL in the README
sentence with a proper Markdown link: update the line "See
https://docs.gitea.com/installation/docker/#volumes" to use Markdown link syntax
(e.g., "See [Gitea Docker volumes
documentation](https://docs.gitea.com/installation/docker/#volumes)") so it
satisfies MD034; edit the README.md entry in tools/Gitea to change the bare URL
to this linked form.

After first start, config will be written to /data/gitea/conf/app.ini
Start Gitea:
`docker-compose up -d`

Complete setup in the browser:
`http://<server-ip>:3000`

### Option B: Install from Binary (Linux)

Download + install the binary:
```bash
wget -O gitea https://dl.gitea.com/gitea/1.25.3/gitea-1.25.3-linux-amd64
chmod +x gitea
sudo cp gitea /usr/local/bin/gitea
```
Prepare the environment
Check that Git is installed (Gitea requires Git >= 2.0):

```bash
git --version
```

Create required directories:
```bash
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
```
run:
`GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini`

run as a service:
`sudo systemctl enable gitea --now`

## Requirements
- Git: version >= 2.0 required.
- Database (choose one): PostgreSQL, MySQL, MariaDB, SQLite (built-in), or MSSQL.
- Recommended baseline (small teams): 2 CPU cores + 1GB RAM.

## Resources

- [Official Website](https://example.com)
- [Documentation](https://docs.example.com)
- [GitHub Repository](https://github.com/example/Gitea)
- [Official Website](https://gitea.io/)
- [Documentation](https://docs.gitea.com/)
- [GitHub Repository](https://github.com/go-gitea/gitea)