---
canonical: https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/
language: ru
generated: 2026-10-21T13:34:01.257Z
---

[Главная](https://koalavps.com/ru/) / [Обзор](https://koalavps.com/ru/resources/) /  Заметки о поле KoalaVPS

Заметки о поле KoalaVPS

# Небольшая кузница, которую можно пересобрать.

Сервис Git может держать репозитории и совместную работу под вашим контролем. Защищайте код, базу данных и систему сборки по отдельности.

[Найдите свой VPS](https://koalavps.com/ru/vps/)

## В ЭТОМ ДОКУМЕНТЕ

[Выберите уровень совместной работы](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-1)[Отделите сборки от кузницы](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-2)[Защитите доступ и регистрацию](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-3)[Создайте резервную копию всего сервиса](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-4)[Контрольный список восстановления forge](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-5)[Ограничьте права на развёртывание](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-6)[Используйте самый простой сервис совместной работы, который подходит](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-7)[Разделите веб-, SSH- и пути к базе данных](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-8)[Проверьте клонирование, отправку и запрещённую операцию](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-9)[Восстановите обсуждение вместе с репозиторием](https://koalavps.com/ru/guides-self-host-git-server-on-a-vps/#section-10)[База знаний](https://koalavps.com/ru/resources/)

## Выберите уровень совместной работы

Forgejo и Gitea — примеры лёгкого forge-программного обеспечения; обычного SSH Git может быть достаточно для небольшого рабочего процесса. Сопоставьте задачи, ревью, хранение пакетов и требования к идентичности с проектом. Проверьте актуальные поддерживаемые версии и лицензии.

## Отделите сборки от кузницы

CI-раннер выполняет код, контролируемый проектом, и не должен хранить неограниченные учётные данные forge или хоста. Изолируйте раннеры, ограничивайте область токенов и не запускайте недоверенные задачи под той же привилегированной учётной записью, что и служба репозитория.

## Защитите доступ и регистрацию

Отключите публичную регистрацию, если сервис приватный. Используйте отдельные аккаунты, надёжную аутентификацию и тщательно ограниченные ключи развёртывания. Задокументируйте порт SSH и ключ хоста; не приучайте пользователей молча игнорировать предупреждения о ключе хоста.

## Создайте резервную копию всего сервиса

Одни только репозитории могут не включать задачи, аккаунты, вложения и конфигурацию. Следуйте единой процедуре резервного копирования платформы и проверьте восстановление с сохранением прав доступа к файлам и секретов приложения.

## Контрольный список восстановления forge

Согласованно экспортируйте базу данных и сохраняйте хранилище репозитория, вложения, хранилище больших файлов, если оно включено, конфигурацию и секреты шифрования. После восстановления проверьте клон по предполагаемому маршруту SSH или HTTPS. Держите forge и любого CI-воркера изолированными, чтобы сборка не могла перезаписать собственную конфигурацию сервиса.

## Ограничьте права на развёртывание

Ключа развёртывания только на чтение может быть достаточно для сервера, который лишь забирает код. Автоматизации релизов может потребоваться небольшой дополнительный доступ. Предпочитайте отдельные ключи для разных машин, фиксируйте их назначение и удаляйте их при выводе машины из эксплуатации.

## Используйте самый простой сервис совместной работы, который подходит

Для нескольких приватных репозиториев может быть достаточно bare Git поверх ограниченного SSH. Forgejo или Gitea добавляют аккаунты, pull-запросы, задачи и опциональные пакеты ценой базы данных, обновлений приложения и большего объёма постоянного состояния. Запишите, какие функции команда действительно будет использовать. Планируйте рост репозиториев, объекты больших файлов, вложения и артефакты сборки отдельно; вычисления CI могут превысить сам фордж.

- Выберите каноническое имя HTTPS и защитите его аккаунт DNS.

- Решите, будет ли регистрация закрытой, по приглашениям или с модерацией.

- Предоставьте службе forge непривилегированную учётную запись и надёжное приватное хранилище.

Официальная документация: [Установка контейнера Forgejo](https://forgejo.org/docs/latest/admin/installation/docker/)

## Разделите веб-, SSH- и пути к базе данных

Используйте конфигурацию из исходного проекта для выбранного релиза и зафиксируйте нужную версию образа. Обратный прокси TLS должен достигать внутреннего веб-слушателя; база данных должна быть доступна только forge. Если Git SSH использует порт контейнера, сохраняйте его объявленный хост и внешний порт в соответствии с маппингом. Не заменяйте и не допускайте случайного раскрытия слушателя SSH администратора хоста при изменении forge. Закройте доступ к установке и настройке после создания первоначального владельца.

- Проверьте права владельца постоянного тома перед запуском приложения.

- Используйте пользователя базы данных с доступом только к базе forge.

- Держите CI-раннеры на отдельной границе доверия, особенно для недоверенных репозиториев.

Официальная документация: [Сеть и сохранность данных Forgejo в Docker](https://forgejo.org/docs/latest/admin/installation/docker/)

## Проверьте клонирование, отправку и запрещённую операцию

Создайте одноразовый приватный репозиторий и проверьте его клонирование по HTTPS или SSH URL из обычной учётной записи разработчика. Зафиксируйте и отправьте безобидный файл, затем убедитесь, что другой авторизованный читатель может его получить. Неприглашённая учётная запись должна получить отказ в чтении приватного репозитория. Проверьте обработку больших файлов и уведомления по электронной почте, если они включены. Для машин, используемых только для развёртывания, проверьте, что ключ только для чтения может получать данные и не может отправлять; одного успешного прохождения аутентификации недостаточно, чтобы доказать нужную границу разрешений.

```
# Use the disposable repository URL advertised by your forge:
git clone ssh://git@git.example.com:2222/team/check.git
# In a clone, inspect which remote is configured:
git remote -v
```

## Восстановите обсуждение вместе с репозиторием

Сделайте согласованную резервную копию приложения и базы данных, хранилища репозитория, вложений, данных LFS, конфигурации и необходимых секретов шифрования. Следуйте процедуре резервного копирования установленной версии forge; команды резервного копирования Gitea не являются автоматически взаимозаменяемыми с каждым выпуском Forgejo. Пересоберите в изоляции и проверьте задачу, вложение, вход и клонирование. Если push не работает после переноса, проверьте хост/порт SSH, сопоставление ключей, разрешения хранилища и объявленные URL клонирования, прежде чем глобально менять разрешения репозитория.

Официальная документация: [Резервное копирование и восстановление Gitea](https://docs.gitea.com/administration/backup-and-restore/)

ПРОДОЛЖАЙТЕ ИЗУЧАТЬ

## Продолжить чтение.

[Сценарии использования ### Самостоятельный хостинг с планом обслуживания. Сервер делает ваши инструменты переносимыми и настраиваемыми. Преимущество сохраняется, когда обновления, резервные копии и восста…](https://koalavps.com/ru/self-hosting/)[Руководства ### Резервная копия важна, когда её восстанавливают. Стройте резервное копирование вокруг данных, которые вы не можете воссоздать, и времени, потерю которого ваш сервис может себе поз…](https://koalavps.com/ru/backups/)[Руководства ### Машина остаётся вашей. Безопасность — это постоянная рутина: сокращайте открытые поверхности, ограничивайте привилегии, обновляйте осознанно и обеспечива…](https://koalavps.com/ru/server-security/)

НАСТРОЙТЕ СВОЮ ИНФРАСТРУКТУРУ

## Возьмите контроль. Развёртывайте на своих условиях.

Без документов об идентификации. Полный доступ администратора. Оплата в криптовалюте.

[Выберите конфигурацию](https://koalavps.com/ru/vps/)
