ПРИВАТНА ІНФРАСТРУКТУРА / БЕЗ ПОТРЕБИ В IDПрочитайте доктрину приватності
Польові нотатки KoalaVPS

Мала кузня, яку ви можете відбудувати.

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

Виберіть рівень співпраці

Forgejo і Gitea — приклади легкого forge-програмного забезпечення; звичайного SSH Git може бути достатньо для меншого робочого процесу. Узгодьте завдання, огляди, зберігання пакетів і вимоги до ідентичності з проєктом. Перевірте поточні підтримувані версії та ліцензії.

Відокремте збірки від forge

Виконавець CI виконує код, контрольований проєктом, і не повинен мати необмежені облікові дані forge чи хоста. Ізолюйте виконавців, обмежуйте токени та уникайте запуску ненадійних завдань під тим самим привілейованим обліковим записом, що й служба репозиторію.

Захистіть доступ і реєстрацію

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

Створіть резервну копію всього сервісу

Лише репозиторії можуть не містити задач, облікових записів, вкладень і конфігурації. Дотримуйтеся узгодженої процедури резервного копіювання платформи та перевірте відновлення зі збереженими дозволами файлів і секретами застосунку.

Контрольний список відновлення forge

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

Обмежуйте права на розгортання

Ключа розгортання лише для читання може бути достатньо для сервера, який тільки отримує код. Автоматизації випуску може знадобитися трохи ширша область дії. Надавайте перевагу окремим ключам для різних машин, фіксуйте їхнє призначення та видаляйте їх, коли машину виводять з експлуатації.

Використовуйте найменший сервіс співпраці, який підходить

Для кількох приватних репозиторіїв може бути достатньо bare Git через обмежений SSH. Forgejo або Gitea додає облікові записи, pull-запити, задачі та необов'язкові пакети ціною бази даних, оновлень застосунку та більшого обсягу постійного стану. Запишіть, які функції команда справді використовуватиме. Окремо плануйте зростання репозиторіїв, об'єкти великих файлів, вкладення та артефакти збірки; обчислювальні ресурси CI можуть перевищити сам forge.

  • Виберіть канонічне ім'я HTTPS і захистіть його обліковий запис DNS.
  • Вирішіть, чи реєстрація закрита, чи за запрошеннями, чи модерована.
  • Надайте службі forge непривілейовану ідентичність і довготривале приватне сховище.

Відокремте шляхи вебсервера, SSH та бази даних

Використовуйте конфігурацію upstream для вибраного випуску та зафіксуйте потрібну версію образу. TLS зворотний проксі має досягати внутрішнього веб-прослуховувача; база даних має бути доступною лише для forge. Якщо Git SSH використовує порт контейнера, підтримуйте його оголошені хост і зовнішній порт узгодженими зі зіставленням. Не замінюйте й не відкривайте випадково SSH прослуховувач адміністратора хоста під час зміни forge. Закрийте доступ до встановлення/налаштування після створення початкового власника.

  • Перевірте право власності на постійний том перед запуском застосунку.
  • Використовуйте користувача бази даних, обмеженого базою даних forge.
  • Тримайте CI-раннери на окремій межі довіри, особливо для ненадійних репозиторіїв.

Перевірте клонування, push і відхилену операцію

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

# Use the disposable repository URL advertised by your forge:
git clone ssh://[email protected]:2222/team/check.git
# In a clone, inspect which remote is configured:
git remote -v

Відновіть обговорення так само, як і репозиторій

Зробіть узгоджену резервну копію застосунку/бази даних, сховища репозиторію, вкладень, даних LFS, конфігурації та потрібних секретів шифрування. Дотримуйтеся процедури резервного копіювання встановленої версії forge; команди резервного копіювання Gitea не є автоматично взаємозамінними з кожним випуском Forgejo. Перебудуйте в ізоляції та перевірте issue, вкладення, вхід і клонування. Якщо push не вдається після переміщення, перевірте хост/порт SSH, зіставлення ключів, дозволи сховища та оголошені URL клонування, перш ніж глобально змінювати дозволи репозиторію.

НАЛАШТУЙТЕ ВАШУ ІНФРАСТРУКТУРУ

Візьміть контроль.
Розгортайте на своїх умовах.

Без паперів про особу. Повний адміністративний доступ. Криптонативна оплата.