Собственный легковесный Git-сервис на базе Forgejo — свободного, открытого и управляемого сообществом форка Gitea. Сервис развернут на личном VPS и служит единым источником правды (Single Source of Truth) для репозиториев, исходного кода сайта gluek.info, скриптов автоматизации и вспомогательных ботов.
Проект полностью укладывается в философию IndieWeb / POSSE: владение собственными данными, независимость от коммерческих Git-платформ и бесшовная интеграция с персональной инфраструктурой.
Стек
- Forgejo в Docker-контейнере
- Caddy в роли reverse proxy (с автоматическим HTTPS от Let’s Encrypt)
- Forgejo Actions (act runner в Docker) для сборки и автоматизации
- REST API для внешних интеграций
Как я это использую
1. Автоматический деплой сайта и кросспостинг
Все коммиты в ветку main блога автоматически подхватываются раннером:
- Собирается статический сайт на Astro.
- Подтягивается кэш npm и сгенерированных OG-картинок (
.og-cache), так что пересборка 1300+ постов занимает буквально считанные секунды. - Готовый
dist/копируется в директорию Caddy на сервере. - Скрипты проверяют свежие посты и автоматом закидывают анонсы в мой Telegram-канал (@gluekinfo) и Mastodon (@gluek@mastodon.social).
2. Постинг со смартфона в один коммит
Через REST API инстанс связан с моим ботом Delta Chat Publish: я могу набросать заметку с фотографиями прямо в мессенджере на телефоне, а бот отправит всё одним запросом через ChangeFilesOptions — ровно один коммит, один триггер пайплайна, и через минуту пост на сайте.
3. Зеркала репозиториев (mirrors)
В отдельный аккаунт mirrors я настроил зеркалирование внешних репозиториев и зависимостей, которые использую в своих проектах — чтобы они всегда были под рукой локально на случай, если с оригинальным репозиторием что-то случится.
Из-за постоянного наплыва ботов и скрейперов аккаунт
mirrorsсейчас закрыт от анонимного просмотра и доступен только залогиненным пользователям. Если вам нужен доступ — просто скажите мне, и я сделаю аккаунт.
4. Автономность
Свои секреты в репозиториях, SSH-ключи, двухфакторка и полный контроль над своими данными без лишнего трекинга и корпоративного контроля.