Каждую неделю на GitHub появляется новый список «обязательных open source-инструментов на 2026 год». Звёзды показывают только то, что кто-то нажал Star, а не какую конкретную работу инструмент за вас сделал. Ниже — 30 проектов по задачам: по 10 на разработку, офис и автоматизацию. В список попадают только те, кто умеет работать на вашей машине, чья лицензия разрешает личное использование и кто заменяет понятный труд: поиск по коду, чтение diff, склейка PDF, учёт бюджета, мониторинг сайтов, реальный бэкап в другое место.
n8n и многие «open source-панели» встречаются часто, но лицензия не из семейства MIT, Apache или GPL — поэтому их здесь нет. Оркестрацию процессов оставляем Activepieces с MIT-ядром и Node-RED. Теги образов и условия меняются — перед установкой откройте LICENSE и README репозитория. Все 30 не нужно ставить за раз.
Как отбирали этот список
Трёх категорий достаточно — не нужно снова делить на «AI / продуктивность / гик».
- Командная строка: ставите сегодня на dev-машину — поиск по коду, diff, версии языков, вызов API.
- Десктоп или локальные заметки: данные сначала на вашем диске, синхронизация — следующий шаг.
- Self-hosting: Docker Compose из репозитория. Админку вешаем на loopback, в браузер заходим через SSH.
Заметки, синхронизация папок, оркестрация, бэкап — по одному стеку. Две системы заметок на одну папку: при удалении файла непонятно, это синхронизация или бэкап. Syncthing синхронизирует и удаления; restic — это шифрованный бэкап.
Разработка: десять репозиториев на каждый день
Почти всё здесь — CLI, лицензии прозрачные, на macOS ставится через Homebrew. На Linux — пакеты дистрибутива или скрипт upstream, команды те же.
| Инструмент | Задача | Лицензия | Форма |
|---|---|---|---|
| ripgrep | Поиск по содержимому в репозитории | Unlicense | CLI |
| lazygit | Staging, ветки и коммиты на одном экране | MIT | TUI |
| delta | Diff, который можно читать и править | MIT | CLI |
| GitHub CLI | PR, Issue, Actions в терминале | MIT | CLI |
| act | Локальный прогон GitHub Actions | MIT | CLI + Docker |
| uv | Версии Python, venv и установка пакетов | MIT OR Apache-2.0 | CLI |
| Ruff | Проверка и форматирование Python | MIT | CLI |
| mise | Версии Node, Python, Go по проекту | MIT | CLI |
| k9s | Kubernetes в терминале | Apache-2.0 | TUI |
| Bruno | Коллекции API-запросов в Git | MIT | Десктоп |
1. ripgrep: искать по содержимому в репозитории
BurntSushi/ripgrep · Unlicense · CLI
Встроенный grep работает, но в большом репозитории нужны уважение к .gitignore, номера строк и скорость как в редакторе. Это и делает ripgrep. Поиск в VS Code часто строится на нём; отдельная установка в терминале выравнивает скрипты и редактор по одним правилам игнорирования.
macOS: brew install ripgrep, из корня репозитория rg "TODO|FIXME". Если раз в год ищете по маленькому проекту, ack или ag сверху не нужны.
2. lazygit: видеть, что именно изменилось
jesseduffield/lazygit · MIT · TUI
Он не учит Git — он выкладывает на один экран staging по кускам, ветки и свежие коммиты. Staging по блокам, stash, reflog быстрее, чем крутить git status. Опасные действия тоже под рукой: перед потерей коммита разберитесь с разницей git reset и git revert.
brew install lazygit, в репозитории lazygit. Это вид, а не «больше никогда не запоминать команды».
3. delta: diff должен читаться
dandavison/delta · MIT · CLI
У git diff по умолчанию на больших правках остаются два пятна красного и зелёного. delta подсвечивает синтаксис, side-by-side или inline — меньше сюрпризов при ревью своих коммитов. После brew install git-delta:
git config --global core.pager delta
git config --global interactive.diffFilter "delta --color-only"
Если diff уже читается в привычном инструменте, ради цвета менять не обязательно.
4. GitHub CLI: PR без выхода из терминала
cli/cli · MIT · CLI
gh — про GitHub: открыть PR, смотреть Checks, Issues, логи Actions. История репозитория по-прежнему у git. Вход — gh auth login, токен в связке ключей системы или хранилище gh, не в history shell и не в репозитории.
brew install gh
gh pr create
gh run watch
5. act: прогнать workflow локально до push
nektos/act · MIT · CLI + Docker
act запускает GitHub Actions в Docker на вашей машине. Меняете workflow — сначала act -l для списка job, потом только тот, что трогали, без десяти push «пока не зелёное». brew install act, Docker должен быть запущен.
Эмулируется типичный Linux runner, не macOS runner GitHub. Нужны Xcode, подпись или симулятор — act не заменит настоящий Mac. Такие job гоняйте на Mac.
6. uv: Python без трёх слоёв инструментов
astral-sh/uv · MIT OR Apache-2.0 · CLI
pip, venv, pyenv и pip-tools на одной машине — первый день новичка уходит на «почему пакет установился, а import не находится». uv собирает установку Python, venv и зависимости в один набор команд.
brew install uv
uv python install 3.12
uv init
uv add ruff
Если в документации и CI уже Poetry или PDM, не вводите uv параллельно, пока не готовы менять lockfile и инструкции.
7. Ruff: линт и формат из одного инструмента
astral-sh/ruff · MIT · CLI
Многое из того, что раньше делали Flake8, isort и Black, он тянет сам и достаточно быстр для save hook и CI. ruff check . — проблемы, ruff format . — стиль. Не гоняйте Ruff format и Black на одном репозитории — форматы будут перетирать друг друга.
Правила в pyproject.toml. Неделю на дефолтах, потом сужайте по ложным срабатываниям, а не включайте все плагины в первый день.
8. mise: версии по репозиторию
jdx/mise · MIT · CLI
Node 22, Python 3.12, Go 1.23 не должны жить в устных договорённостях в ~/.zshrc каждого. mise кладёт .mise.toml в проект: зашли в каталог — нужные версии, вышли — откат. Заменяет стек «nvm + pyenv + заброшенный asdf», а не сам язык.
После brew install mise добавьте строку активации в shell по README. Только бинарник без hook — версии за каталогом не переключатся.
9. k9s: сначала смотреть на кластер, не править вслепую
derailed/k9s · Apache-2.0 · TUI
Pod не стартует, у сервиса нет endpoints, логи смыло — в kubectl это три-четыре команды. k9s собирает namespace, pod, логи и port-forward в один клавиатурный интерфейс. brew install k9s, затем k9s.
На прод — kubeconfig только на чтение. Есть шорткаты на удаление и exec в контейнер; на общей машине не вешайте cluster-admin.
10. Bruno: коллекции API в репозитории
usebruno/bruno · MIT · Десктоп
Коллекция Postman в чужом аккаунте — пропали URL окружений и примеры запросов. Bruno хранит запросы текстом (.bru) и ревьюит их вместе с кодом. brew install --cask bruno.
Секреты — в env-файлах вне Git, не в коммитимых .bru. Команда уже на другом API-клиенте — не плодите «личную» коллекцию.
Офис: десять инструментов вместо подписок
Офис здесь: PDF, заметки, схемы, таблицы, задачи, бюджет, синхронизация файлов, архив сканов. Что можно сначала локально — не отдавать сразу подписку за место. Если у self-hosted лицензия делится на «ядро» и «enterprise-каталог», ниже это указано.
| Инструмент | Задача | Лицензия | Форма |
|---|---|---|---|
| Stirling-PDF | Слияние, разбиение, сжатие PDF | ядро MIT, есть proprietary-каталоги | Self-hosting |
| SiYuan | Блочные ссылки, данные локально | AGPL-3.0 | Десктоп / self-hosting |
| Joplin | Markdown-заметки и шифрованная синхронизация | клиент AGPL-3.0 | Десктоп / мобильные |
| draw.io desktop | Диаграммы в Git | GPL-3.0 | Десктоп |
| Penpot | UI-дизайн под своим контролем | MPL-2.0 | Self-hosting |
| Grist | Таблица как база данных | Apache-2.0 | Self-hosting |
| Vikunja | Задачи, канбан, календарь | AGPL-3.0 | Self-hosting |
| Actual | Бюджет по конвертам | MIT | Local-first |
| Syncthing | Синхронизация папок между устройствами | MPL-2.0 | Десктоп / сервер |
| Paperless-ngx | OCR и архив сканов | GPL-3.0 | Self-hosting |
11. Stirling-PDF: PDF не на чужой сайт
Stirling-Tools/Stirling-PDF · ядро MIT, есть proprietary-каталоги · Self-hosting
Слияние, разбиение, поворот, сжатие — договор не должен уезжать на случайную веб-страницу. Stirling-PDF собирает типовые операции с PDF на вашем деплое. LICENSE репозитория: вне каталогов proprietary, saas, engine и т.п. — MIT; если такие каталоги есть, у них свой LICENSE. На часть функций у проекта отдельные условия production use.
Перед деплоем смотрите README: какой образ и tag рекомендованы, затем LICENSE этого tag. Для личных файлов на своей машине можно начать сразу; отдавать как сервис или перепродавать — сначала прочитайте условия proprietary-каталогов. Китайский OCR в дефолтном образе не предполагайте.
12. SiYuan: база знаний сначала на своём диске
siyuan-note/siyuan · AGPL-3.0 · Десктоп / self-hosting
Блочные ссылки, обратные ссылки, local-first. Текст заметок в каталоге данных на этой машине, а не в аккаунте с половинным экспортом. Официальная синхронизация — опциональный платный сервис; свою можно поднять по S3 из их документации. Лицензия AGPL-3.0: для себя и своих правок — нормально; публичный сетевой сервис — выполняйте обязательства AGPL.
Если ядро отдаёт веб-интерфейс, слушайте 127.0.0.1. Не открывайте 0.0.0.0 «для телефона» без аутентификации.
13. Joplin: клиппинг и шифрованная синхронизация
laurent22/joplin · клиент AGPL-3.0 · Десктоп / мобильные
Скорее блокнот, чем блочный редактор: Markdown, веб-клиппинг, E2E-шифрование. Цель синхронизации — свой Joplin Server, WebDAV или object storage. В корне репозитория код по умолчанию AGPL-3.0; у packages/server может быть отдельный LICENSE — откройте перед деплоем сервера.
Потеряли пароль шифрования — синхронизированные заметки не расшифровать; способ восстановления храните в менеджере паролей, не в самих заметках. Уже ведёте базу в SiYuan — не дублируйте те же заметки в Joplin, два оглавления разойдутся.
14. draw.io desktop: архитектурные схемы с репозиторием
jgraph/drawio-desktop · GPL-3.0 · Десктоп
Блок-схемы, сети, sequence — в .drawio (XML), можно в Git: diff не красивый, но не заперт в аккаунте «только PNG». Десктопный репозиторий сейчас GPL-3.0. Без совместного курсора хватает десктопа, отдельный draw-сервер не обязателен.
Это не design system — стили компонентов и правила подписей задаёте вы. В VS Code есть официальное расширение, когда правите одну схему без выхода из редактора.
15. Penpot: макеты, которые можно сохранить у себя
penpot/penpot · MPL-2.0 · Self-hosting
Экраны, компоненты, спеки для фронта в чужом облаке — аккаунт замёрз, остались скриншоты. Penpot можно развернуть самим, файлы ближе к открытому SVG/CSS. Лицензия MPL-2.0. Стек: фронт, бэк, PostgreSQL и Redis — ради двух эскизов в одиночку сервис не тянуть.
Нужно «дизайн-файлы на нашей машине» — Docker Compose из репозитория и зафиксированная версия, которую вы прочитали. Иначе draw.io или локальные файлы.
16. Grist: когда Excel уже стал базой
gristlabs/grist-core · Apache-2.0 · Self-hosting
Таблицу гоняют десять человек в мессенджере, в колонках номера, статусы и комментарии — это уже БД без ограничений. Grist оставляет табличный вид, под ним реляционные колонки и формулы. Ядро Apache-2.0.
Не BI. Большие дашборды и сложные права — сначала приведите модель данных в порядок. При self-hosting бэкапьте базу, а не разовый xlsx.
17. Vikunja: списки задач без тяжёлой PM-системы
go-vikunja/vikunja · AGPL-3.0 · Self-hosting
Дела, списки, канбан, шаринг на нескольких человек — часто раздувают до «сначала развернём полный PM». Vikunja компактнее, старт на SQLite, при росте — PostgreSQL. Лицензия AGPL-3.0.
Нужны тикеты в репозитории, почта поддержки и SLA — мало. Оставьте процесс в системе, которой уже пользуетесь, не плодите второй источник правды по задачам.
18. Actual: сначала — в каком конверте деньги
actualbudget/actual · MIT · Local-first
Конвертный бюджет: доход режется на аренду, налоги, серверы, прочее. Actual держит учёт локально, синхронизация — опционально свой сервер. Лицензия MIT. Автоимпорт из банка зависит от региона и коннекторов; для карт КНР не предполагайте автоматическую выгрузку.
Личный или малой команды учёт, не налоговая отчётность и не главная книга компании. Счета и накладные — в Paperless, не единственная копия PDF во вложениях бюджета.
19. Syncthing: папки между устройствами без чужого облака
syncthing/syncthing · MPL-2.0 · Десктоп / сервер
Два ПК и телефон синхронизируют каталог без загрузки в облако. Устройства знакомятся по ID, трафик peer-to-peer. Лицензия MPL-2.0.
Удаления тоже синхронизируются. Случайно стёрли на одной машине — пропадёт везде. Это не бэкап. Важные каталоги: Syncthing плюс restic с шифрованием и историей версий.
20. Paperless-ngx: по сканам можно искать текст
paperless-ngx/paperless-ngx · GPL-3.0 · Self-hosting
Договоры, чеки, накладные в каталог — OCR, теги, архив по контрагенту. Лицензия GPL-3.0. Для китайского нужны языковые пакеты Tesseract (например chi_sim), дефолтный образ может их не включать.
Оригиналы едят диск, OCR — CPU. Не ставьте на ту же машину с 16 GB RAM, где параллельно собираете iOS. Админку не светите в интернет; бэкапьте каталог оригиналов вместе с БД.
Автоматизация: десять проектов против рутины
Автоматизация здесь — один процесс, одно уведомление, один бэкап, одно обновление зависимостей. Если хватает скрипта и cron, оркестратор рано.
| Инструмент | Задача | Лицензия | Форма |
|---|---|---|---|
| Activepieces | Связать SaaS и webhook в процесс | ядро MIT, каталог ee отдельно | Self-hosting |
| Node-RED | Клей между событиями и API | Apache-2.0 | Self-hosting |
| Windmill | Скрипты → расписание и внутренние страницы | community в основном AGPL | Self-hosting |
| ntfy | Уведомления на телефон по HTTP | Apache-2.0 (сервер) | Self-hosting |
| Uptime Kuma | Жив ли сайт и порт | MIT | Self-hosting |
| changedetection.io | Страница изменилась — сообщить | Apache-2.0 | Self-hosting |
| Renovate | Обновления зависимостей как PR | AGPL-3.0 | GitHub App / self-hosting |
| restic | Шифрованный бэкап с восстановлением | BSD-2-Clause | CLI |
| Vaultwarden | Свой сервер для хранилища паролей | AGPL-3.0 | Self-hosting |
| IT-Tools | Кодирование, хеши, JWT, cron | GPL-3.0 | Браузер / self-hosting |
21. Activepieces: визуальный процесс — сначала что под MIT
activepieces/activepieces · ядро MIT, каталог ee отдельно · Self-hosting
Форма → таблица → письмо можно скриптом, но при передаче схема нагляднее. LICENSE Activepieces: вне packages/ee/ — MIT; enterprise-каталог — отдельная enterprise-лицензия, в проде эти функции — по их подписке.
У n8n Sustainable Use License: свой инстанс можно, хостинг для других — ограничен, поэтому его нет в этих 30. Уже крутите n8n только для себя — мигрировать из-за списка не обязательно. Новый процесс и MIT-ядро — community Activepieces; enterprise без договора не включайте.
22. Node-RED: сообщение от webhook к следующей системе
node-red/node-red · Apache-2.0 · Self-hosting
Хорош для событий: webhook, правка JSON, другой API или очередь. Apache-2.0. Потоки экспортируйте в Git. Токены — в credential store Node-RED, не в коммитимый JSON потока.
Большие объёмы и сложные retry не раздувайте на одном холсте — Windmill или ваш job scheduler.
23. Windmill: ящик скриптов и внутренняя страница
windmill-labs/windmill · community в основном AGPL · Self-hosting
LICENSE репозитория: по умолчанию AGPL, есть файлы Apache-2.0, enterprise-функции — proprietary. Удобно превратить Python или TypeScript в «коллега заполнил форму — запустилось» с расписанием.
Один cron и один скрипт — Windmill лишний. Если ставите — отделите community от enterprise и решите, приемлем ли AGPL.
24. ntfy: уведомления не только в логах
binwiederhier/ntfy · сервер Apache-2.0 · Self-hosting
Упал бэкап, скоро истекает сертификат, сборка красная — только в логе сервера это не уведомление. ntfy шлёт на телефон или десктоп одним HTTP-запросом. Сервер Apache-2.0. На публичном ntfy.sh имена тем угадывают; свой инстанс и токен доступа.
curl -d "backup failed" -H "Authorization: Bearer TOKEN" https://ntfy.example/ops
Подставьте свой токен и домен. Имена тем из примеров в прод не тащите.
25. Uptime Kuma: сначала узнать, что упало
louislam/uptime-kuma · MIT · Self-hosting
HTTP, TCP, ping, срок сертификата — одной статус-страницы хватает малой команде. MIT. Не система метрик: CPU и гистограммы задержек — Prometheus и аналоги, не Kuma.
Публичная статус-страница светит внутренние hostname. Внутренние проверки — за VPN или SSH; наружу только то, что готовы показать пользователям. Алерты — в свой ntfy.
26. changedetection.io: страница изменилась — не вы обновляете каждый день
dgtlmoon/changedetection.io · Apache-2.0 · Self-hosting
Цена, абзац документации, вакансии, release notes — селектор, при изменении уведомление. Apache-2.0. Страницы с JavaScript тянут браузер, CPU выше, чем у статического HTML — интервал увеличьте.
Соблюдайте условия сайта и robots. Не бейте в страницы после логина и явно запрещённый контент. Уведомления — через ntfy, отдельный чат-бот ради этого не нужен.
27. Renovate: обновления зависимостей как PR, которые можно отклонить
renovatebot/renovate · AGPL-3.0 · GitHub App / self-hosting
Lockfile устарел не потому, что никто не знал, а потому что никто не хочет искать breaking change в гигантском diff. Renovate режет PR по пакетам, конфиг в renovate.json репозитория. Лицензия AGPL-3.0. Публичные репо — часто hosted GitHub App; приватные без чужого App — свой инстанс.
На первой неделе не включайте auto-merge для major. Dependabot — продукт GitHub, не в этом self-hosted списке; если устраивает, менять не обязательно.
28. restic: бэкап — это когда вы пробовали восстановление
restic/restic · BSD-2-Clause · CLI
Шифрование, дедупликация, репозиторий на локальный диск, SFTP или object storage. BSD-2-Clause. Syncthing гоняет текущее состояние, restic хранит снимки истории.
restic init --repo /path/to/repo
restic -r /path/to/repo backup "$HOME/Documents"
restic -r /path/to/repo snapshots
restic -r /path/to/repo restore latest --target /tmp/restore-test
Пароль через RESTIC_PASSWORD_FILE на файл вне Git. Раз в квартал восстанавливайте хотя бы раз — убедитесь, что снимки не пустые.
29. Vaultwarden: сервер хранилища паролей у себя
dani-garcia/vaultwarden · AGPL-3.0 · Self-hosting
Реализует API, совместимый с клиентами Bitwarden, легче официального сервера, лицензия AGPL-3.0. Это community-реализация, не официальный сервер Bitwarden Inc. Клиенты — по-прежнему официальные приложения Bitwarden.
Только HTTPS. Admin-токен не в репозиторий. Бэкапьте каталог данных и держите мастер-пароль отдельно — бэкап без пароля при смерти диска равен потере vault. Не выставляйте на публичный порт без аутентификации.
30. IT-Tools: мелочи в браузере
CorentinTh/it-tools · GPL-3.0 · Браузер / self-hosting
Base64, хеши, разбор JWT, расшифровка cron, regex — раз в неделю, не стоит каждый раз искать сомнительный сайт. IT-Tools локально или свой деплой. GPL-3.0. Многое считается в браузере.
Всё равно не вставляйте прод-токены в инстанс для всей компании без аудита. На своём ПК одной копии достаточно.
Что ставить на первой неделе
30 пунктов — меню, не install-скрипт. На первой неделе только ниже; через семь дней добавляйте.
| Чем заняты | Сначала | Пока нет |
|---|---|---|
| Код каждый день | mise, uv, Ruff, ripgrep, lazygit, delta, gh | act (нет Actions для правок), k9s (нет кластера) |
| Заметки и файлы | SiYuan или Joplin — одно, плюс Syncthing | Вторая система заметок, Penpot |
| Деньги и договоры | Actual, PDF через образ Stirling после LICENSE | Paperless (диск и OCR не готовы) |
| Своя инфраструктура | ntfy, Uptime Kuma, restic и одно восстановление | Activepieces, Windmill (нет второго процесса) |
brew install ripgrep lazygit git-delta gh uv ruff mise
git config --global core.pager delta
git config --global interactive.diffFilter "delta --color-only"
uv python install 3.12
Строка активации mise — по актуальному README. gh — gh auth login, токен не в репозиторий.
Ловушки self-hosting
- Админка на
127.0.0.1, SSH local forward на ноутбук. Так же для Uptime Kuma, Vaultwarden, SiYuan, Paperless, Activepieces. - Enterprise-каталог — не «склонировал и работает».
packages/eeу Activepieces, proprietary-каталоги Stirling, enterprise Windmill, проекты вроде AFFiNE («фронт MIT, сервер с enterprise-условиями») — в проде читайте тот LICENSE. В тексте SiYuan вместо self-hosted AFFiNE как «бесплатного» бэкенда именно поэтому. - AGPL для себя обычно ок; публичный сетевой сервис — обязанности по исходникам. Сомневаетесь — LICENSE, не маркетинговое «open source».
- Синхронизация ≠ бэкап. Syncthing разносит удаления; restic — снимки. Пароль vault и каталог данных — в разных местах.
- Фиксируйте версии. В Compose — tag, который вы читали, не плавающий
latest. Перед апгрейдом — migration notes версии. - Секреты не в Git. Env Bruno, токены Node-RED, файл пароля restic, Bearer ntfy — в игнорируемых путях.
На Cloud Mac
CLI-группу ставьте через Homebrew на Mac — памяти мало. OCR в Docker, дизайн-коллаборация и оркестрация едят RAM и диск. На 16 GB с параллельным Xcode и симулятором не ставьте китайский OCR Paperless или полный стек БД Penpot на тот же Mac. PDF и сканы лучше на машине с большим диском, без конкуренции за CPU со сборкой.
act — Linux-контейнеры, не замена GitHub Actions с Xcode. Сборка iOS, подпись и симулятор — на Mac; в workflow только lint или Linux-тесты — act для репетиции локально.
Админки на loopback. С рабочего ПК — SSH forward порта в локальный браузер, а не проброс Vaultwarden или Kuma на публичный IP. Репозиторий restic — object storage или другой диск; единственная копия не должна быть только на этом Mac. Заметки и .mise.toml, конфиг Ruff — в Git; пароли и API-токены — нет.
FAQ
Много звёзд — значит ставить? Не как аргумент. Звёзды — про распространённость, не про вашу лицензию и вашу задачу. Запишите одну работу, которую хотите снять на этой неделе, и выберите из таблицы выше.
Почему нет n8n? Лицензия Sustainable Use License, не MIT / Apache / GPL. Свой инстанс без хостинга для чужих — многие так и живут, миграция из-за списка не обязательна. Здесь альтернативы с яснее границами: MIT-ядро Activepieces или Apache-2.0 Node-RED.
Нужны все 30? Нет. На первой неделе — строки из блока «Что ставить на первой неделе», что про вас. По одному стеку на заметки, синхронизацию, оркестрацию и бэкап.
AGPL и MIT для себя — в чём разница? Использовать и править на своей машине можно в обоих случаях. Разница в распространении и сетевом сервисе: у AGPL обязанности по исходникам при предоставлении через сеть, у MIT в основном сохранение copyright. Enterprise-каталоги и proprietary-дополнения читайте отдельно — «на главной MIT» не описывает весь репозиторий.
Self-hosted хранилище паролей безопасно? Vaultwarden держит данные на вашем диске, а HTTPS, обновления, бэкап и мастер-пароль — на вас. Официальный хостинг Bitwarden — другой компромисс. В любом случае пароль и бэкап данных раздельно и с пробным restore.
Всё на одном Cloud Mac? CLI — да. OCR, Penpot и несколько БД не влезают с Xcode в 16 GB. Админки через SSH, копии restic не только на этом Mac.