Финал модуля про Docker: volumes и persistence. Named volume — рабочая лошадка для прод-данных (Postgres, очереди), bind mount — для разработки. Объявляем volume в docker-compose.yml, управляем через docker volume ls/inspect/rm и запоминаем главные грабли: docker compose down -v стирает данные вместе с volume. Разбор на devtrends.ru.
#docker #volumes #devops #postgres #dockercompose #bindmount #бэкап #контейнеры #ansible #devtrends #kubernetes #k8s
Пишем первый Dockerfile для FastAPI-приложения notes: FROM, WORKDIR, COPY, RUN, EXPOSE, CMD — строка за строкой. Разбираем кэш слоёв (почему requirements копируем до кода) и главную граблину новичков — --host 0.0.0.0 вместо 127.0.0.1. Собираем docker build -t notes:0.1, запускаем docker run. Это ролик 18 курса по DevOps на devtrends.ru
#docker #dockerfile #fastapi #python #devops #контейнеры #докер #бэкенд #deploy #кэшслоёв #kubernetes #k8s
Открываем модуль про контейнеризацию. Что такое Docker и почему контейнер — это не виртуалка, а обычный процесс. Разбираем образ, контейнер и реестр, ставим docker.io, добавляем юзера в группу docker и проверяем через docker run hello-world. Дальше — Dockerfile для проекта notes. Подробнее на devtrends.ru
#docker #контейнеризация #контейнеры #dockerhub #devops #helloworld #образ #linux #бэкенд #обучение #сервер #kubernetes
Что такое pull request (и merge request в GitLab) и как проходит кодревью push, CI, комментарии, merge. Две ошибки новичков: пустое описание PR и пропущенный self-review (git diff main). Плюс этикет ревью с обеих сторон и почему гигантские PR протаскивают баги в прод. Дальше — Docker.
Полный разбор .gitignore: четыре категории запретного — секреты (.env, ключи), артефакты (venv, node_modules), мусор IDE и логи. Синтаксис * / #, как убрать случайно закоммиченный файл через git rm --cached и готовые шаблоны с gitignore.io. Часть DevOps-курса на devtrends.ru.
#gitignore #git #гит #devops #девопс #версионирование #секреты #env #githubsecurity #контрольверсий #обучениеit #kubernetes
Второй ролик модуля Git: зачем нужны ветки, как создать (git switch -c), переключаться, слить в main (git merge) и спокойно разрулить конфликт по маркерам ﹤﹤﹤﹤﹤﹤﹤ ======= ﹥﹥﹥﹥﹥﹥﹥, а потом убрать ветку (git branch -d). Ровный учебный разбор на сквозном проекте notes. Продолжение на devtrends.ru.
#git #gitbranch #gitmerge #devops #контрольверсий #обучениеit #githubдляновичков #программирование #версионирование #вебразработка #kubernetes #docker
Открываем модуль 2 DevOps-курса: git с нуля. Настройка (apt install git, git config), два пути к репозиторию (git init / git clone) и базовый рабочий цикл — git status, git add, git commit, git push, git pull, git log. Продолжение модуля по настройке сервера. Полная программа — на devtrends.ru
#git #devops #версионирование #github #gitlab #обучение #курс #junior #разработка #контрольверсий #kubernetes #docker
Сервис в active (running) — это ещё не значит, что внутри всё хорошо. Разбираем journalctl (-u, -f, --since, -p err) для systemd-сервисов и tail -f для логов nginx на проекте notes. Это финал ступени 0 — базовая настройка сервера руками. Дальше — про то, почему так жить больно. devtrends.ru
#journalctl #systemd #nginx #логи #logs #linux #сервер #devops #sysadmin #fastapi #мониторинг #selfhosted
Оборачиваем FastAPI-приложение в systemd-юнит: отдельный системный юзер, notes.service с Restart=always, enable --now. Жёсткий тест — kill процесса, и systemd сам его поднимает. Финал прод-фундамента ступени 0.
Закрываем замок в браузере: бесплатный TLS-сертификат Let's Encrypt через certbot с плагином для nginx. certbot сам правит конфиг — listen 443 ssl и редирект 80→443 — и заводит systemd-таймер автопродления. Нужен домен с A-записью на IP сервера. Пятый ролик про сервер для проекта notes на devtrends.ru.
#certbot #letsencrypt #https #tls #ssl #nginx #сервер #devops #вебсервер #systemd #kubernetes #docker
Поднимаем nginx как reverse proxy перед FastAPI-приложением notes: пишем server-блок с proxy_pass на 127.0.0.1:8000, пробрасываем заголовки, включаем сайт симлинком в sites-enabled и применяем через reload без разрыва соединений. Это ролик 4 сквозного цикла про сервер — впереди HTTPS и автозапуск. Разбираем как инженеры на devtrends.ru
#nginx #reverseproxy #proxypass #fastapi #uvicorn #deploy #вебсервер #бэкенд #devops #sysadmin #питон #сервер
Деплой FastAPI на сервер руками: venv, .env, uvicorn по шагам
Поднимаем FastAPI-приложение notes на сервере вручную: git clone, venv, pip install -r requirements.txt, секреты в .env (и обязательно в .gitignore), запуск через uvicorn и проверка через curl. Ручной деплой — намеренная ступень: дальше в цикле будет Docker. Разбираем по шагам на devtrends.ru
#fastapi #python #uvicorn #venv #dotenv #gitignore #deploy #devops #backend #postgres #сервер #бэкенд
Ставим Postgres на свежий сервер и готовим базу для приложения: apt install postgresql, заходим через sudo -u postgres psql, создаём отдельного пользователя notes_user и базу командой CREATE DATABASE notes OWNER notes_user, проверяем подключение. Часть сквозного цикла по настройке сервера — от безопасности до DevOps. Разбираем на devtrends.ru.
Язык — это только верхушка. Что под ним?
Личное мнение: настоящий сеньор знает систему — компилятор, интерпретатор, shell, файловую систему, процессы, память. Не язык. Никакой ИИ эту целостную картину тебе в голову не загрузит — её строят только сами. Заходи на devtrends.ru — копаем самый низ по-взрослому.
#программирование #разработка #сеньор #junior #middle #операционнаясистема #компилятор #интерпретатор #shell #файловаясистема #процессы #память
Зачем учить Linux, если есть ИИ? Отвечаю один раз
Нейросеть — это молоток. Она заменит того, кто не умеет ей пользоваться. Инженерное мышление — это контекст, архитектура, история решений. Этого ChatGPT за тебя не сделает. Учим основам на devtrends.ru.
#инженер #инженерноемышление #нейросети #ии #ai #chatgpt #чатгпт #linux #devops #сети #программирование #разработка
Защитили сервер — а он молчит. Поднимаем nginx, открываем порт в ufw и видим Welcome to nginx в браузере. Первый ролик блока «сервер работает». Учим держать свой сервер на devtrends.ru.
#nginx #вебсервер #linuxдляновичков #ufw #selfhosted #vps #девопс #сисадмин #сервер #деплой #linuxсервер #linuxадмин
Автообновления безопасности: сервер латает себя сам
Часть 5 — финал серии «первые шаги на новом сервере». Ставим unattended-upgrades: критичные заплатки приезжают сами, крупные версии контролируешь руками. Базовая гигиена, которая отличает любителя от инженера. Подробнее → devtrends.ru
#linux #unattendedupgrades #автообновления #обновления #sysadmin #хардеринг #сервер #безопасность #devops #vps #linuxдляначинающих #apt
Часть 4 серии «первые шаги на новом сервере». Ставим fail2ban поверх ufw: безопасный конфиг через jail.local, секция [sshd] под нестандартный порт 2222 и banaction=ufw, строгость maxretry/findtime/bantime, рестарт, fail2ban-client status — и сервер сам банит атакующих. Подробнее → devtrends.ru
#linux #fail2ban #ufw #ssh #sysadmin #хардеринг #сервер #безопасность #devops #vps #linuxдляначинающих #автобан
Часть 3 серии «первые шаги на новом сервере». Ставим ufw, разрешаем свой SSH-порт ДО включения (иначе блокировка), задаём политику default deny incoming / allow outgoing, открываем http и https, проверяем ufw status. Спокойный хардеринг своего сервера. Подробнее → devtrends.ru
#linux #ufw #файрвол #фаервол #firewall #ssh #sysadmin #хардеринг #сервер #безопасность #devops #vps
Перестаём ходить рутом: пользователь + sudo за минуту
Часть 2 серии «первые шаги на новом сервере». Заводим обычного пользователя через adduser, даём ему sudo через usermod, переносим SSH-ключ, проверяем — и закрываем PermitRootLogin no. Спокойный сисадминский хардеринг своего сервера. Подробнее → devtrends.ru
#linux #ssh #sudo #sysadmin #хардеринг #сервер #сетевой #безопасность #devops #vps #linuxдляначинающих #rootless




