Що таке Gitea?
Gitea – це безкоштовна та відкрита система керування репозиторіями Git, яка може бути легко встановлена та запущена в docker контейнері. Gitea забезпечує зручний інтерфейс веб-додатка для керування вашими Git-репозиторіями та різними аспектами їх розробки. Gitea може використовуватись як локально, так і в хмарному режимі.
Чому використовувати Gitea в docker контейнері?
Docker контейнер дозволяє ізолювати додаток від хостової операційної системи та його залежностей. Це робить Gitea зручним для встановлення, налаштування та використання на будь-якій платформі та в будь-якому середовищі. Docker контейнери також забезпечують масштабованість, полегшують керування залежностями та надають можливість для більш безпечного розгортання та експлуатації.
Для встановлення Gitea в Docker, на вашому сервері вже повинен бути встановлений Docker та docker-compose. Детальніше про те, як здійснити встановлення Docker + docker-compose + Portainer, ви можете прочитати в цій статті.
Створення файлів конфігурації
Створіть папку, де буде зберігатися конфігураційний файл docker-compose.yml та інші файли, пов’язані з gitea.
Створіть файл docker-compose.yml за допомогою текстового редактора та вставте наступний код:
version: "3"
services:
server:
image: gitea/gitea:latest
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- ./data:/data
- ./custom:/app/gitea/custom
- ./log:/app/gitea/log
ports:
- "3000:3000"
- "2222:22"
image: gitea/gitea:latest
– вказує на те, що ви хочете використовувати останню версію gitea, доступну в Docker Hub.container_name: gitea
– задає ім’я контейнера Docker.restart: always
– автоматично перезапускає контейнер при його зупинці.environment: - USER_UID=1000 - USER_GID=1000
– встановлює ідентифікатор користувача та групу, які використовуються в контейнері.volumes: - ./data:/data - ./custom:/app/gitea/custom - ./log:/app/gitea/log
– визначає місцезнаходження на жорсткому диску, де будуть зберігатися дані gitea (./data), користувацькі файли конфігурації (./custom) та журнали (./log).ports: - "3000:3000" - "2222:22"
– визначає порти, які будуть використовуватися для доступу до gitea. Перший порт (3000) використовується для веб-інтерфейсу, а другий порт (2222) використовується для доступу до репозиторію через SSH.
Запуск контейнера з Gitea
Перейдіть у директорію, де знаходиться файл docker-compose.yml.
Запустіть контейнер за допомогою команди:
docker-compose up -d
Це запустить контейнер gitea у фоновому режимі. Перший запуск може зайняти кілька хвилин.

Після запуску, відкрийте веб-браузер і введіть адресу http://server-ip:3000 для доступу до веб-інтерфейсу gitea. Ви повинні побачити сторінку входу в систему. Заповніть всі необхідні поля відповідно до вашої конфігурації. У полі Server Domain обов’язково вкажіть IP адресу або доменне ім’я, яке спрямоване на ваш сервер.
У випадку якщо при встановленні ви вказали неправильні значення, ви можете їх змінити в головному файлі конфігурації gitea, який знаходиться в /data/gitea/conf/app.ini
За замовчуванням використовується база даних SQLite, за необхідності ви можете вибрати та налаштувати MySQL або PostgresSQL.

У Administrator Account Settings обов’язково вкажіть ім’я користувача та пароль для облікового запису адміністратора.
Після встановлення Gitea ми можемо приступити до створення нашого першого сховища.
Використання gitea

Щоб створити новий репозиторій, виберіть у меню “Create a New Repository” і введіть ім’я та опис репозиторію.
Для клонування сховища за допомогою SSH, необхідно використати порт 2222 і команду
git clone ssh://<адреса_вашого_сервера>:2222/<ім'я_користувача>/<ім'я_репозиторію>.git
Щоб зберегти дані gitea при перезапуску або видаленні контейнера, необхідно зберегти дані, які знаходяться в папці ./data.

Це все! Тепер у вас встановлено Gitea на власному сервері в Docker контейнері.
Оновлення Gitea в Docker
Увага
Перед оновленням Gitea обов’язково зробіть резервну копію вашої директорії data.
Перед оновленням Gitea обов’язково зробіть резервну копію вашої директорії data. Для оновлення перейдемо в директорію, в якій у нас знаходиться файл docker-compose і виконаємо команду
docker-compose pull
docker-compose up -d
VPS сервер для Gitea
Отримайте повний контроль над своїми репозиторіями з VPS хостингом від UnixHost.