В моих заметках про self-hosted сервера GIT постоянно возникали упоминания Gogs. Это тоже легковесный open source сервис GIT от китайских разработчиков. Причём упоминаемая несколько раз ранее Gitea является форком Gogs, который случился довольно давно. С тех пор Gitea развивается намного активнее, обросла дополнительной функциональностью, была приобретена коммерческой компанией и получила какие-то проблемы с лицензией, так что и её уже форкнули в новый проект Forgejo.
Если вам нужно простое хранилище кода с различной функциональностью только вокруг него, то Gogs будет оптимальным выбором с точки зрения потребления ресурсов. Там нет ни своего registry, ни инструментов для CI/CD, ни учёта времени, ни многих других возможностей, которые есть в той же Gitea.
При этом базовые возможности для совместной работы с кодом там будут:
- привычные профили пользователей, дашборды с активностью и т.д.;
- доступ к репам по ssh и https;
- веб редактор для работы с кодом и записями в wiki;
- аутентификация по паролям, через LDAP или SMTP (!) сервер
- управление пользователями, организациями, репозиториями.
В общем, тут только GIT и ничего больше. В качестве хранилища состояния могут использоваться PostgreSQL, MySQL, SQLite3 и TiDB. При использовании SQLite3 для запуска службы не нужно ничего, кроме самого бинарника gogs и установленного в системе git:
Запускается gogs в режиме веб сервера. Можно идти на 3000-й порт по IP адресу и выполнять настройку. Как я уже сказал, если выбрать в качестве СУБД SQLite3, то установка будет выполнена тут же, а база будет создана в файле data/gogs.db.
Веб интерфейс работает очень быстро и легко. Системные требования минимальны. Запускается на VPS с 512 МБ оперативной памяти. Есть русский язык. По умолчанию выбирается язык браузера. Чтобы его поменять, надо выйти к окну логина и там снизу выбрать. Я сначала долго искал, никак не мог понять, как изменить язык.
Доступа к сайту gogs.io без VPN нет. Как я понял, это блокировка со стороны РФ для хостера DigitalOcean. Сайт живёт на нём.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#git
Если вам нужно простое хранилище кода с различной функциональностью только вокруг него, то Gogs будет оптимальным выбором с точки зрения потребления ресурсов. Там нет ни своего registry, ни инструментов для CI/CD, ни учёта времени, ни многих других возможностей, которые есть в той же Gitea.
При этом базовые возможности для совместной работы с кодом там будут:
- привычные профили пользователей, дашборды с активностью и т.д.;
- доступ к репам по ssh и https;
- веб редактор для работы с кодом и записями в wiki;
- аутентификация по паролям, через LDAP или SMTP (!) сервер
- управление пользователями, организациями, репозиториями.
В общем, тут только GIT и ничего больше. В качестве хранилища состояния могут использоваться PostgreSQL, MySQL, SQLite3 и TiDB. При использовании SQLite3 для запуска службы не нужно ничего, кроме самого бинарника gogs и установленного в системе git:
# apt update && apt install git -y# wget https://dl.gogs.io/0.13.0/gogs_0.13.0_linux_amd64.tar.gz# tar xzvf gogs_0.13.0_linux_amd64.tar.gz# cd gogs# ./gogs webЗапускается gogs в режиме веб сервера. Можно идти на 3000-й порт по IP адресу и выполнять настройку. Как я уже сказал, если выбрать в качестве СУБД SQLite3, то установка будет выполнена тут же, а база будет создана в файле data/gogs.db.
Веб интерфейс работает очень быстро и легко. Системные требования минимальны. Запускается на VPS с 512 МБ оперативной памяти. Есть русский язык. По умолчанию выбирается язык браузера. Чтобы его поменять, надо выйти к окну логина и там снизу выбрать. Я сначала долго искал, никак не мог понять, как изменить язык.
Доступа к сайту gogs.io без VPN нет. Как я понял, это блокировка со стороны РФ для хостера DigitalOcean. Сайт живёт на нём.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#git
👍93👎8
Очень простая и быстрая в настройке утилита для бэкапа GIT репозиториев. Можно использовать как для бэкапа куда-то локально или в S3, так и для копирования из одного репозитория в другой. Речь пойдёт про open source проект gickup.
Сразу покажу на примере, как я забэкапил к себе локально несколько своих закрытых репозиториев на публичном gitlab.
Создаю конфигурационный файл
Для получения token сходил в Preferences ⇨ Access tokens и создал personal access token с доступом только на чтение. В своём примере я забэкапил только 3 репозитория: gatus, scripts, configs. Если их не указать, забэкапит все.
Запускаю бэкап:
Вот и всё. Gickup поддерживает все популярные платформы для хостинга git, как публичные, так и приватные:
- Github
- Gitlab
- Gitea
- Gogs
- Bitbucket
- Onedev
- Sourcehut
В качестве источников для сохранения или копирования поддерживает их же, плюс:
- локальная директория
- S3 хранилище
Настройка источников и приёмников отражена в документации. Там всё кратко и по делу. Список параметров невелик. У меня сразу всё получилось.
Очень простой и быстрый способ копировать репозитории в одно или несколько мест одновременно. Дополнительно gickup умеет отправлять уведомления о своей работе в ntfy, gotify и apprise. Также может локально логи писать и отправлять метрики в Prometheus. Правда не очень понял какие. Не проверял это.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#git #backup #devops
Сразу покажу на примере, как я забэкапил к себе локально несколько своих закрытых репозиториев на публичном gitlab.
# wget https://github.com/cooperspencer/gickup/releases/download/v0.10.38/gickup_0.10.38_linux_amd64.tar.gz# tar xzvf gickup_0.10.38_linux_amd64.tar.gzСоздаю конфигурационный файл
conf.yml:source:
gitlab:
- token: glpat-GtPuYrBvnxxkTFsq-Y
url: https://gitlab.com/
user: zeroxzed
include:
- gatus
- scripts
- configs
wiki: true
issues: true
destination:
local:
- path: /home/zerox/backup-gitlab
structured: true
keep: 5
Для получения token сходил в Preferences ⇨ Access tokens и создал personal access token с доступом только на чтение. В своём примере я забэкапил только 3 репозитория: gatus, scripts, configs. Если их не указать, забэкапит все.
Запускаю бэкап:
# ./gickup conf.ymlВот и всё. Gickup поддерживает все популярные платформы для хостинга git, как публичные, так и приватные:
- Github
- Gitlab
- Gitea
- Gogs
- Bitbucket
- Onedev
- Sourcehut
В качестве источников для сохранения или копирования поддерживает их же, плюс:
- локальная директория
- S3 хранилище
Настройка источников и приёмников отражена в документации. Там всё кратко и по делу. Список параметров невелик. У меня сразу всё получилось.
Очень простой и быстрый способ копировать репозитории в одно или несколько мест одновременно. Дополнительно gickup умеет отправлять уведомления о своей работе в ntfy, gotify и apprise. Также может локально логи писать и отправлять метрики в Prometheus. Правда не очень понял какие. Не проверял это.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#git #backup #devops
2👍92👎3