Рубрика «docker» - 2

Всем привет! В апреле я создавал сервис для логирования серверов в Discord. Моя идея была максимально простой: бот отвечает за отслеживание событий и запись логов в базу данных, а веб-интерфейс отображает их.

Первоначально я задумывал делать это через связку MySQL c ботом на Python и сайтом на PHP. Такая задумка работала и вышла в свет 11 февраля 2025 года. Но все оказалось не так гладко как я думал. 4 апреля проект получил обновление 2.0 где были мелкие исправления и редизайн веб-интерфейса.

Читать полностью »

Введение

Здравствуйте, дорогие друзья! Сегодня хочу поделиться опытом, который был получен за 2 часа изучения того, как развернуть Gitlab и подключить к нему Gitlab Runner из‑под Docker, и всё это на домашней Fedora 44.

Всё то, что было сделано, вызвано желанием немного потыкать и узнать, что из себя представляет Gitlab как для DevOps, так и для QA. При этом я не ограничивал себя в возможностях бесплатной удалённой версии от самого Gitlab.

Читать полностью »

Есть два способа узнать, что вам пришло письмо. Первый — каждые тридцать секунд бегать к почтовому ящику и заглядывать внутрь. Второй — почтальон звонит в дверь, когда письмо реально есть.

Long Polling — это первый способ. Бот в бесконечном цикле долбит getUpdates на серверы Telegram: «есть что‑нибудь? а сейчас? а сейчас?». Telegram, надо отдать ему должное, держит соединение открытым и отвечает не мгновенно, а когда появляются апдейты — поэтому polling и называется long. Но суть не меняется: инициатор — вы, соединение висит постоянно, и весь этот механизм живёт внутри одного вашего процесса.

Читать полностью »

6 pro-фишек FluxCD. Выжимаем все соки из GitOps - 1

Если вы применяете в своей инфраструктуре GitOps-подход, то вам точно знакомы такие решения по автоматизации доставки для Kubernetes, как FluxCD и ArgoCD. Это популярные инструменты, которые позволяют синхронизировать наполнение отслеживаемого Git-репозитория и отобразить его в кластере Читать полностью »

В какой‑то момент у меня накопилось несколько VPS у разных провайдеров. Не десятки, но уже достаточно, чтобы каждый месяц ловить себя на одной и той же мысли: «А этот сервер когда оплачивать?»

Ссылка на биллинг — где‑то в закладках. Дата продления — в Telegram. Пароль от кабинета — в другом месте. Таблицы, заметки, все разбросано. Пока серверов немного, это ещё работает. Когда их перевалило за 15, начинаешь постоянно все терять. Кто хостер, а что там крутится, вкладки, вкладки, вкладки!

Так появилась идея: сделать личный кабинет для своих серверов.

Читать полностью »

MyPrepod — крупнейший портал отзывов о преподавателях российских ВУЗов. Он стал таким не только засчет того, что даже на момент MVP 2017 года он был UX‑удобнее для студентов, чем СтудИзба или professorrating, но и засчет полной анонимности. Можно написать отзыв о преподе с умного холодильника Samsung, без авторизаций и пред‑модерации. Сказать все, что бы хотел сказать, не опасаясь «пометочки» от преподавателя около твоей фамилии, и уже спокойным пойти на пересдачу.

Читать полностью »

Предисловие

Статья получилась большой: практик много, и каждая из них важна по-своему. Я собрал её как набор best practices: не все пункты нужны каждому проекту, но почти каждый пункт однажды всплывает на ревью, в CI или после неприятного инцидента.

Я старался писать для разных грейдов: от базовых ошибок вроде COPY . ., latest и root-пользователя до продовых тем вроде BuildKit, секретов, SBOM, подписи образов и защиты цепочки поставки ПО.
Читать полностью »

  • Navidrome — опенсорсный стриминговый сервер. Читает папку с музыкой, отдаёт через браузер и приложения.

  • Работает через Subsonic API → совместим с десятками готовых клиентов на всех платформах.

  • Ставится через Docker: один docker-compose.yml, пять минут, готово.

  • Работает на чём угодно с Linux: RPi, NAS, VPS, старый ноутбук.

  • Поддерживает несколько пользователей, плейлисты, scrobbling, транскодинг.

Зачем это нужно

Читать полностью »

Вы написали docker‑compose.yml, подняли сервис локально, всё крутится. Задеплоили на сервер, запустили docker compose up -d, неделю всё нормально. А потом контейнер с Postgres тихо съедает всю память на хосте и OOM‑киллер убивает соседний сервис. Или приложение падает в два часа ночи, а Docker не перезапускает его, потому что restart policy стоит в дефолтном no. Или логи за месяц занимают 40 ГБ, и на диске кончается место.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js