September 08, 2026 · by Alex M.
Если вы работаете с исходным кодом и хотите полного контроля над своими репозиториями, Gitea — одно из лучших решений с открытым исходным кодом на сегодняшний день. Лёгкая в установке, быстрая, с современным интерфейсом, похожим на GitHub, Gitea отлично работает даже на VPS SSD с минимальными ресурсами.
В этом руководстве вы узнаете, как установить Gitea на сервер Ubuntu 22.04, настроить его за обратным прокси Nginx и защитить SSL-сертификатом — шаг за шагом.
Gitea — это self-hosted Git-платформа, написанная на языке Go. Она предлагает:
В отличие от GitLab, требующего значительных ресурсов, Gitea идеально подходит для VPS NVMe начального или среднего уровня.
Перед началом убедитесь, что у вас есть:
git.example.com) с DNS, указывающим на IP-адрес VPSЕсли у вас ещё нет сервера, вы можете выбрать VPS 1C от CLIQHOST — он отлично подходит именно для таких приложений.
Начните с обновления пакетов:
sudo apt update && sudo apt upgrade -y
Установите Git и другие необходимые зависимости:
sudo apt install -y git wget curl nginx
Для безопасности Gitea должна работать под пользователем без прав root:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Gitea' \
--group \
--disabled-password \
--home /home/gitea \
gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea
Проверьте официальную страницу Gitea на наличие последней стабильной версии, затем загрузите бинарный файл:
wget -O /tmp/gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64
Переместите бинарный файл и установите права:
sudo mv /tmp/gitea /usr/local/bin/gitea
sudo chmod 755 /usr/local/bin/gitea
Проверьте установку:
gitea --version
Gitea включает встроенную поддержку SQLite — дополнительная установка не требуется. Это самый простой вариант.
sudo apt install -y mariadb-server
sudo mysql_secure_installation
Создайте базу данных и пользователя Gitea:
sudo mysql -u root -p
CREATE DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'секретный_пароль';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Чтобы Gitea запускалась автоматически, создайте файл сервиса:
sudo nano /etc/systemd/system/gitea.service
Содержимое файла:
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
After=mariadb.service
[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Активируйте и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Проверьте статус:
sudo systemctl status gitea
Gitea теперь работает на порту 3000 (по умолчанию).
Создайте виртуальный хост Nginx для вашего домена:
sudo nano /etc/nginx/sites-available/gitea
server {
listen 80;
server_name git.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Активируйте конфигурацию:
sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Установите Certbot:
sudo apt install -y certbot python3-certbot-nginx
Получите сертификат:
sudo certbot --nginx -d git.example.com
Certbot автоматически изменит конфигурацию Nginx для работы по HTTPS. Если вам нужен коммерческий SSL-сертификат с расширенной проверкой, ознакомьтесь с SSL-сертификатами CLIQHOST для различных нужд.
Откройте https://git.example.com в браузере. Вы увидите страницу установки Gitea.
| Поле | Рекомендуемое значение |
|---|---|
| Database Type | SQLite3 или MySQL |
| Site Title | Ваше название |
| Repository Root Path | /var/lib/gitea/data/repositories |
| Git Hooks Path | /var/lib/gitea/data/home |
| HTTP Port | 3000 |
| Application URL | https://git.example.com |
Создайте учётную запись администратора и завершите установку.
После установки файл конфигурации находится по пути /etc/gitea/app.ini. Несколько полезных настроек:
[service]
DISABLE_REGISTRATION = true
[mailer]
ENABLED = true
FROM = [email protected]
SMTP_ADDR = smtp.example.com
SMTP_PORT = 587
USER = [email protected]
PASSWD = smtp_password
[repository]
MAX_CREATION_LIMIT = -1
DEFAULT_PUSH_CREATE_PRIVATE = true
После любых изменений перезапустите сервис:
sudo systemctl restart gitea
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
В веб-интерфейсе перейдите в Настройки → Безопасность → Двухфакторная аутентификация и включите TOTP.
Регулярно проверяйте официальные релизы Gitea и обновляйте бинарный файл:
sudo systemctl stop gitea
sudo wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/1.22.x/gitea-1.22.x-linux-amd64
sudo chmod 755 /usr/local/bin/gitea
sudo systemctl start gitea
Gitea включает встроенную команду резервного копирования:
sudo -u gitea gitea dump -c /etc/gitea/app.ini --tempdir /tmp
Эта команда создаёт .zip-архив с репозиториями, базой данных, вложениями и конфигурацией. Запланируйте её выполнение через cron:
sudo crontab -e
0 2 * * * sudo -u gitea gitea dump -c /etc/gitea/app.ini --tempdir /tmp --file /backup/gitea-$(date +\%Y\%m\%d).zip
Для более надёжной инфраструктуры с управляемыми резервными копиями, управление серверами CLIQHOST поможет автоматизировать этот процесс.
| Решение | Мин. ОЗУ | Простота установки | Функциональность |
|---|---|---|---|
| Gitea | ~100 МБ | ⭐⭐⭐⭐⭐ | Средняя |
| GitLab CE | ~4 ГБ | ⭐⭐ | Расширенная |
| Gogs | ~50 МБ | ⭐⭐⭐⭐⭐ | Базовая |
| Forgejo | ~100 МБ | ⭐⭐⭐⭐⭐ | Средняя |
Gitea предлагает наилучший баланс между функциональностью и потреблением ресурсов — идеально для небольших команд и личных проектов, которые хотят независимости от GitHub или GitLab Cloud.
sudo journalctl -u gitea -n 50 --no-pager
Проверьте права доступа к /etc/gitea/app.ini и /var/lib/gitea/.
Убедитесь, что Gitea работает на порту 3000:
sudo ss -tlnp | grep 3000
Проверьте, что SSH-порт Gitea (по умолчанию 22 или 2222) открыт в файрволе и SSH-ключ правильно добавлен в учётную запись Gitea.
Установка Gitea на VPS Linux — относительно простой процесс, который даёт вам полный контроль над исходным кодом без зависимости от сторонних сервисов. При правильной настройке — Nginx в качестве обратного прокси, активный SSL, автоматические резервные копии и 2FA — вы получаете надёжную и безопасную Git-платформу.
Если хотите быстро начать, выберите VPS SSD или VPS NVMe от CLIQHOST, оптимизированные для Linux-приложений. Нужна помощь с настройкой? Наша команда по администрированию серверов готова вам помочь. Также загляните в блог CLIQHOST — там вы найдёте ещё больше практических технических руководств.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."