Dev · без KYC
Хостинг Gitea на офшорном VPS
Запустите собственный лёгкий Git-сервис на VPS без KYC с оплатой в криптовалюте и держите каждый репозиторий, issue и CI-конвейер вне сторонних облаков.
Что это такое
Gitea — это self-hosted Git-сервис, написанный на Go: лёгкая альтернатива GitHub/GitLab с репозиториями, pull request'ами, issues, вики, релизами и Actions (CI/CD). Поставляется в виде единого бинарного файла или Docker-образа с небольшим потреблением памяти, что делает его идеальным выбором для команд, которым нужен полный контроль над исходным кодом.
Почему размещать это оффшорно
Исходный код — одни из самых чувствительных данных, которыми располагает команда; размещение его на офшорном VPS без привязки к личности выводит его за пределы досягаемости крупных платформ хостинга кода с их политиками хранения данных и блокировок. Оплата криптовалютой без KYC означает, что инфраструктура вашего проекта не привязана к корпоративной личности, а безлимитный трафик позволяет клонированию, CI-сборкам и загрузке релизов идти без неожиданных ограничений по объёму.
Развёртывание
Рабочая эталонная конфигурация
Скопируйте это на новый инстанс ChainVPS. Замените плейсхолдеры и запустите.
# docker-compose.yml — Gitea + PostgreSQL on Ubuntu 24.04
# 1) apt install docker.io docker-compose-v2
# 2) put this file in /opt/gitea and run: docker compose up -d
# 3) open http://SERVER_IP:3000 to finish the web installer
services:
server:
image: gitea/gitea:1.22
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=CHANGE_ME_STRONG_DB_PW
# correct clone URLs — set to your domain once DNS is ready:
- GITEA__server__DOMAIN=git.example.com
- GITEA__server__ROOT_URL=https://git.example.com/
- GITEA__server__SSH_PORT=222
- GITEA__service__DISABLE_REGISTRATION=true
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000" # web UI — front with a TLS reverse proxy in production
- "222:22" # git-over-SSH (host 222 -> container 22)
depends_on:
- db
networks:
- gitea
db:
image: postgres:16
container_name: gitea-db
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=CHANGE_ME_STRONG_DB_PW
- POSTGRES_DB=gitea
volumes:
- ./postgres:/var/lib/postgresql/data
networks:
- gitea
networks:
gitea:
external: false
Файрвол
Порты для открытия
| Порт | Протокол | Назначение |
|---|---|---|
| 3000 | TCP | Веб-интерфейс Gitea и HTTP git — в продакшене держите за TLS reverse proxy (Caddy/Nginx) |
| 222 | TCP | Git по SSH (порт хоста связан с портом 22 контейнера) для клонирования/push по SSH-ключам |
| 443 | TCP | HTTPS через ваш reverse proxy после настройки домена и сертификата |
| 22 | TCP | SSH хоста для администрирования — держите на отдельном от 222 порту Gitea и только по ключам |
Подбор оптимального размера
Какой план вам нужен
VPS Nano/Small (1-2 vCPU, 2 GB RAM)
Один разработчик или горстка пользователей, несколько десятков репозиториев, без CI. Gitea в простое потребляет около 150-200 МБ RAM.
VPS Pro (2-4 vCPU, 4-8 GB RAM)
Небольшая команда, активные pull request'ы, плюс один-два runner'а Gitea Actions для CI. Добавьте отдельный том для больших артефактов релизов.
Dedicated (или Storage VPS для репозиториев)
Много одновременных пользователей, крупные монорепозитории, высокая параллельность CI или медиа с большим объёмом LFS. Выделенный CPU обеспечивает быструю работу clone/pack; сочетайте с тарифом Storage для данных репозиториев/LFS.
Лучшие локации: Выберите локацию privacy-уровня — Швейцария (CH) и Исландия (IS) обеспечивают наиболее надёжную защиту данных для исходного кода, а Нидерланды (NL), Румыния (RO), Молдова (MD) и Люксембург (LU) — надёжные офшорные альтернативы. Выбирайте регион ближе к вашим контрибьюторам, чтобы снизить задержку clone/push, поскольку git-запросы чувствительны к задержке.
Обеспечьте полную защиту
Чек-лист по усилению защиты
- Никогда не открывайте порт 3000 напрямую в интернет — разместите Gitea за TLS reverse proxy (Caddy с авто-HTTPS или Nginx + certbot) и укажите в GITEA__server__ROOT_URL https-домен, чтобы URL клонирования были корректными.
- Установите DISABLE_REGISTRATION=true (уже указано в compose) сразу после создания аккаунта администратора, чтобы никто не мог самостоятельно зарегистрироваться; приглашайте пользователей вручную или через панель администратора.
- Держите git-over-SSH на порту 222, а собственный sshd хоста — на другом порту, оба только по ключам (PasswordAuthentication no); Gitea управляет своим authorized_keys внутренне, поэтому не редактируйте его вручную.
- Включите 2FA для каждого аккаунта и сделайте её обязательной для администратора; вынесите пароль БД из переменных окружения в Docker secret или .env файл с правами 600.
- Резервируйте ./gitea (репозитории, конфигурацию, LFS) и делайте pg_dump базы данных gitea по расписанию, а также фиксируйте образ на конкретном теге версии (gitea/gitea:1.22), а не latest, чтобы обновления были осознанными — читайте release notes перед повышением major-версий.
Разверните на
Правильный продукт ChainVPS
Вопросы
Хостинг Gitea — FAQ
Можно ли запускать CI/CD без отдельного сервиса?
Да. В Gitea встроены Actions (совместимые с GitHub Actions). Включите их, затем зарегистрируйте контейнер runner'а (gitea/act_runner) для вашего инстанса. Для реальной CI-нагрузки используйте тариф Medium или выше, чтобы сборки не забирали ресурсы у веб-сервиса.
SQLite, MySQL или PostgreSQL?
SQLite подходит для одного пользователя с лёгкой нагрузкой и не требует контейнера БД. Для команды или роста используйте PostgreSQL, как показано в compose-файле — он гораздо лучше справляется с параллелизмом и легко резервируется через pg_dump.
Как перенести репозитории с GitHub/GitLab?
Встроенный инструмент миграции Gitea импортирует репозиторий по URL, включая issues, PR, релизы и вики. Добавьте токен исходной платформы в форму миграции, чтобы забрать приватные репозитории и метаданные.
Поддерживаются ли большие файлы (Git LFS)?
Да, LFS поддерживается нативно и хранится в /data. Если вы размещаете крупные бинарники или медиа, разместите ./gitea на томе Storage VPS и заложите соответствующий объём диска — объекты LFS быстро накапливаются.
Останется ли мой код приватным на хостинге без KYC?
Ваши репозитории целиком находятся на диске вашего VPS в выбранной вами офшорной юрисдикции; ничего не зеркалируется третьим сторонам. Держите регистрацию отключённой, используйте HTTPS + SSH-ключи, включите 2FA и делайте зашифрованные резервные копии за пределами сервера для полного контроля.
Больше для самостоятельного хостинга
Другие стеки в один клик
Разверните Gitea
в течение следующих 60 секунд.
Безлимитный трафик · DDoS-защита включена · 21 криптовалюта · без KYC.