TGViewer
Cododel.dev | Александр Cododel.dev | Александр @cododel_dev · 228 subscribers
Post #537 96
Я теперь DevOps
Недавно Ansible освоил

А этой ночью научился деплоить проекты через докер, без использования гита и Docker-Registry
У меня для этого свой небольшой скрипт, одной командой собирает image из Dockerfile через buildx под amd64 архитектуру (тк у меня arm, а сервера нет)
Шаги такие:
• Сбор docker image из Dockerfile
• В нём идёт сборка и настройка проекта переменными окружения из файла deploy.env
• Дамп image в taball сжатый gzip
• Передача дампа по ssh при помощи scp (можно заменить на rsync, вероятно будет чуть шустрее, но это всего один файл, так что не критично)
• Удаленное исполнение скрипта по ssh на сервере
• Скрипт распаковывает tarball
• Загружает актуальный image в docker
• Останавливает, удаляет и запускает обратно image, но уже актуальный
• Удаляет полученный архив
• Затем локальный скрипт тоже удаляет за собой архив

Предусловие для всего этого будет только доступ к серверу по ssh ключу, в остальном всё в конфиге можно указать от юзера и хоста, до путей и названия image и контейнера

Выходит я теперь когда хочу задеплоить фронтенд на сервер, выполняю для dev среды (staging):

./deploy --dev

И он сразу собирает образ и деплоит проект

Либо для продакшна

./deploy

Который ещё попросит подтверждение, и написать y в ответ, чтобы убедиться, что намерение совпадает с введенной командой, и не задеплоить в продакшн dev ветку.

У меня на этом проекте ещё Directus, являющийся CMS, а я из нелюблю очень.
Так что там в разработке утилита и для него.
Сейчас для синхронизации схемы базы данных локальной копии с удалённой используется directus-sync, но он дико медленный.
А кроме того он работает по http, и чуть ли ни каждый insert делает отдельным запросом...
Есть ещё миграции у самого directus, как и в моей утилите, но у directus нет толком по ним документации, как и по архитектуре, так что тоже голяк...
Надо придумать решение быстрое, удобное, и с точки зрения проектирования надёжное.
БЭКАПЫ НЕ ПРЕДЛАГАТЬ!!! — Прошлые разработчики такое решение сделали, а теперь бэкап сайта весит 60GB, и все файлы в перемешку благодаря архитектуре Directus. Так что равернул пустую копию сайта и с заказчиком будем делать демо наполнение, из которого уже будем разворачивать копии.
И да, автогенерации фейк контента тоже в cms нет, придется руками.
Если Faker для directus найдете, и что-то типа orm нормальной (не knex, что-то более тесно интегрированное в архитектуру) — я бонусом косарь закину 😚
  • ⚡ 1
More from @cododel_dev
  1. Sep 21, 2026Ого какие вакансии бывают Больше удивлен что предложения на почти пустой линкдин приходят…
  2. Sep 15, 2026Все что нужно знать сегодня о “Работать будет только на английском” 😐
  3. Sep 15, 2026Post #1153
  4. Sep 14, 2026200 🤝 Всех новоприбывших обнял-приподнял Умного пока ничего не придумал, чем хотел бы сро…
  5. Sep 3, 2026~/.agents — Или как устроен мой агентский воркфлоу Не знаю шарится ли кто-то по таким репо…
  6. Sep 2, 2026Прикол, а я как лох 200$ плачу... Без рофла, где они такие цены на codex берут? https://t.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →