🦊

Gitea

Development Tools & IDEs

GitHub와 유사한 인터페이스를 갖춘 경량 자체 호스팅 Git 서비스

Deployment Info

전개: 2-5 min
범주: Development Tools & IDEs
지원하다: 24/7

Share this guide

Overview

Gitea is a lightweight, self-hosted Git service written in Go that provides a painless setup and minimal resource requirements. It's the perfect alternative to GitHub, GitLab, or Bitbucket when you want full control over your code repositories without the heavy resource footprint. Gitea can run on a Raspberry Pi and uses minimal RAM (less than 100MB), making it ideal for small teams, personal projects, or environments with limited resources. Despite its lightweight nature, Gitea packs powerful features including repositories, pull requests, code review, issue tracking, wikis, organizations, webhooks, and built-in CI/CD with Gitea Actions (GitHub Actions compatible). The single binary deployment means no complex dependencies - just download, configure, and run.

Key Features

Lightweight & Fast

Single binary, minimal RAM (<100MB), runs on Raspberry Pi

GitHub-like Interface

Familiar UI with repos, pull requests, issues, wikis, and code review

Gitea Actions

Built-in CI/CD compatible with GitHub Actions workflows

Easy Migration

Import from GitHub, GitLab, Bitbucket with built-in migration tools

Multi-Database Support

SQLite, PostgreSQL, MySQL, MSSQL, TiDB support

Docker & Kubernetes Ready

Official images and Helm charts for container deployments

사용 사례

• Personal Git hosting on home servers or VPS
• Small team code repositories with minimal infrastructure
• Internal company Git service with full control
• Educational environments teaching Git workflows
• Migration from GitHub/GitLab to self-hosted solution
• CI/CD with Gitea Actions for automated testing/deployment

Installation Guide

**Quick Install (Binary):**
```bash
# Download latest binary
wget -O gitea https://dl.gitea.com/gitea/1.21/gitea-1.21-linux-amd64
chmod +x gitea

# Run
./gitea web
# Access at http://localhost:3000
```

**Docker Installation:**
```bash
docker run -d --name=gitea -p 3000:3000 -p 222:22 \
-v /var/lib/gitea:/data gitea/gitea:latest
```

**Production with PostgreSQL:**
```bash
# Install PostgreSQL
sudo apt install postgresql

# Create DB & user
sudo -u postgres psql
CREATE DATABASE gitea;
CREATE USER gitea WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea;

# Create gitea user
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git git

# Download & install
sudo wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/1.21/gitea-1.21-linux-amd64
sudo chmod +x /usr/local/bin/gitea

# Create directories
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea

# Systemd service
sudo nano /etc/systemd/system/gitea.service
# [Service]
# User=git
# WorkingDirectory=/var/lib/gitea
# ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
# Restart=always

sudo systemctl enable --now gitea
```

Configuration Tips

**app.ini Configuration:**
```ini
[server]
DOMAIN = git.yourdomain.com
HTTP_PORT = 3000
ROOT_URL = https://git.yourdomain.com/

[database]
DB_TYPE = postgres
HOST = localhost:5432
NAME = gitea
USER = gitea
PASSWD = password

[security]
INSTALL_LOCK = true
SECRET_KEY = generate_with_gitea_generate_secret

[service]
DISABLE_REGISTRATION = true
REQUIRE_SIGNIN_VIEW = false
```

**Gitea Actions (.gitea/workflows/build.yml):**
```yaml
name: Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm install && npm test
```

이 기사를 평가해 주세요

-
Loading...

애플리케이션 배포 준비되셨나요? ?

Get started in minutes with our simple VPS deployment process

가입 시 신용카드 정보가 필요하지 않습니다 • 2~5분 내 배포 완료