Hacker News Digest

Тег: #docker

Постов: 70

An eBPF Loophole: Using XDP for Egress Traffic (loopholelabs.io)

XDP (eXpress Data Path) — самый быстрый фреймворк для обработки пакетов в Linux, но изначально работал только для входящего трафика. Компания Loophole Labs обнаружила лазейку, позволяющую использовать XDP для исходящего трафика, exploiting уязвимость в том, как ядро Linux определяет направление пакета. Их решение обеспечивает в 10 раз лучшую производительность, чем текущие альтернативы, работает с существующими Docker/Kubernetes контейнерами и не требует модификаций ядра.

При обработке трафика со скоростью сотни гигабит в секунду во время миграции контейнеров и ВМ, XDP достигает скорости линии связи (line-rate), в то время как Traffic Control (TC) ограничен всего 21Gbps на исходящем трафике. Это критически важно для их инфраструктуры, где каждая CPU-единица имеет значение. Решение позволяет обрабатывать пакеты на максимальной скорости сетевого интерфейса, будь то 20Gbps или 200Gbps, без каких-либо изменений в существующей инфраструктуре.

by loopholelabs • 04 ноября 2025 г. в 16:26 • 223 points

ОригиналHN

#xdp#ebpf#docker#kubernetes#linux#traffic-control#iptables#dpdk#veth#networking

Комментарии (70)

  • XDP для egress – авторы используют виртуальные интерфейсы veth, чтобы заставить XDP обрабатывать исходящий трафик, что позволяет достичь 10-кратного прироста пропускной способности по сравнению с iptables/TC, при этом оставаясь совместимым с контейнерами и Kubernetes.
  • производительность и совместимость – тесты показывают, что при использовании XDP для обработки исходящих пакетов достигается 20-ти кратное увеличение пропускной способности по сравнению с iptables/TC, при этом не требуется никаких изменений в контейнере или оркестраторе.
  • почему не DPDK? – авторы отмечают, что DPDK требует специального драйвера и не может быть использован в контейнерах без привилегий, в то время как XDP работает в любом месте, где работает Linux kernel, и не требует специального оборудования.
  • будущее: TC и eBPF – вместо того, чтобы продолжать использовать устаревший TC, сообщество может перейти на eBPF, что позволит в будущем использовать более продвинутые функции, такие как socket фильтры, которые могут быть реализованы в пространстве имен.

Show HN: Pipelex – Declarative language for repeatable AI workflows (github.com)

Представлен Pipelex - новый open-source язык, созданный специально для AI агентов с целью разработки и выполнения повторяющихся AI рабочих процессов. Проект призван упростить создание сложных автоматизированных систем с использованием искусственного интеллекта, предоставляя разработчикам специализированный инструмент для реализации своих идей.

На данный момент репозиторий предлагает базовую структуру проекта, но подробная документация и примеры использования еще не полностью раскрыты. Цель разработчиков - создать гибкую платформу, которая позволит эффективно соединять различные AI сервисы и модели в единую рабочую среду, снижая порог входа для создания сложных AI-ориентированных приложений.

by lchoquel • 28 октября 2025 г. в 16:19 • 104 points

ОригиналHN

#python#dsl#docker#api#llm#workflow#cli#github

Комментарии (20)

  • Declarative workflow DSL (Pipelex) позволяет описывать пайплайны на высоком уровне, что делает его более читаемым и удобным для совместной работы между техническими и нетехническими участниками.
  • В отличие от BAML, Pipelex фокусируется на том, чтобы предоставить DSL для описания логики, а не только для LLM вызовов.
  • Пользователи могут запускать пайплайны как локально через CLI, так и удалённо через API сервер, который также доступен как Docker образ.
  • Поддержка MCP серверов в разработке, но уже сейчас можно использовать PipeFunc для вызова любых Python функций и инструментов.
  • Сообщество приветствует вклад в развитии и интеграцию с другими инструментами и сервисами.

Apple will phase out Rosetta 2 in macOS 28 (developer.apple.com) 🔥 Горячее 💬 Длинная дискуссия

Предоставленный текст не содержит содержимого статьи о средстве перевода Rosetta от Apple Developer Documentation. Вместо этого там лишь сообщение о необходимости включить JavaScript для просмотра страницы. Без доступа к фактическому содержанию статьи невозможно создать её точный и ёмкий пересказ в соответствии с требованиями.

by summarity • 24 октября 2025 г. в 08:04 • 257 points

ОригиналHN

#rosetta-2#x86-64#arm#macos#apple#docker

Комментарии (265)

  • Apple объявляет о прекращении поддержки Rosetta 2 через два года, что фактически означает конец эпохи x86-64 на macOS.
  • Разработчики и пользователи обсуждают, что это означает для сторонних приложений, которые не будут пересобраны под ARM, и как это повлияет на Docker, игры и другие инструменты.
  • Обсуждается, что Apple могла бы открыть исходники Rosetta 2, чтобы сообщество могло бы продолжать поддержку.
  • Участники обсуждают, что это может повлиять на Hackintosh и на то, что macOS может больше не поддерживать x86-64.
  • Участники также обсуждают, что это может повлиять на игры, которые не будут пересобраны под ARM.

MinIO stops distributing free Docker images (github.com) 🔥 Горячее 💬 Длинная дискуссия

В предоставленном тексте отсутствует содержимое самого issue #21647 "Docker release?" в репозитории minio/minio. Видна только навигационная структура GitHub без основного текста обсуждения. Для создания точного пересказа необходимо содержимое самого issue, включая описание проблемы, комментарии и любые детали, связанные с выпуском Docker-образа MinIO.

by LexSiga • 22 октября 2025 г. в 06:17 • 637 points

ОригиналHN

#minio#docker#oss#open-source#s3#cloud-storage#github

Комментарии (376)

  • MinIO прекращает публикацию готовых Docker-образов, что вызвало волну обсуждений о «rug pull» и ожиданиях от OSS-проектов.
  • Участники обсуждают, что компания имеет право прекратить предоставлять бесплатные образы, но отсутствие предупреждения и альтернативы вызывает раздражение.
  • Появились альтернативы в виде Garage и SeaweedFS, но у них есть свои ограничения.
  • Некоторые участники подчеркивают, что OSS-проекты не обязаны предоставлять бинарники, но при этом они также напоминают, что и сообщество не обязано использовать именно этот проект, если он становится менее удобным.

Major AWS outage takes down Fortnite, Alexa, Snapchat, and more (theverge.com)

Произошла крупная авария в инфраструктуре AWS, приведшая к масштабным сбоям во множестве популярных сервисов. Среди пострадавших оказались Fortnite, Alexa, Snapchat и другие приложения, пользователи которых столкнулись с недоступностью сервисов. Причина инцидента на данный момент остается неясной, что вызывает вопросы о надежности облачных платформ.

Авария подчеркивает критическую зависимость множества сервисов от единого провайдера облачных услуг. По данным Downdetector, сбои были зафиксированы в различных регионах мира, что указывает на масштабный характер проблемы. Это уже не первый случай серьезных сбоев у AWS, что заставляет задуматься о необходимости диверсификации инфраструктуры для крупных технологических компаний.

by codebolt • 20 октября 2025 г. в 08:12 • 171 points

ОригиналHN

#aws#cloud-platforms#fortnite#alexa#snapchat#docker#elixir#phoenix

Комментарии (62)

  • Пользователь случайно обнаружил сбой в регионе компании во время тестирования Elixir + Phoenix LiveView.
  • Проблема затронула Docker Hub и другие сервисы, что вызвало вопросы о перемещении Snapchat из GCP.
  • Коллеги отреагировали с юмором, упомянув предстоящие внутренние расследования и сложности локального тестирования.
  • Появились шутки о возможной причине сбоя, связанной с ИИ.

Docker Systems Status: Full Service Disruption (dockerstatus.com) 🔥 Горячее

20 октября 2025 года Docker столкнулся с полной остановкой работы ключевых сервисов, включая Registry, Hub, Scout и других. Проблемы затронули практически все компоненты экосистемы: от аутентификации и биллинга до автоматической сборки образов и документации. Пользователи по всему миру сообщают о недоступности сервисов как на клиентских машинах, так и через веб-интерфейсы.

Инженеры Docker идентифицировали корень проблемы в работе одного из облачных провайдеров и сейчас мониторят ситуацию, готовя системы к восстановлению после устранения неисправностей у провайдера. Инцидент начался в 01:22 PDT (08:22 UTC) и продолжается уже несколько часов, что вызывает серьезные опасения у разработчиков, зависимых от инфраструктуры Docker.

by l2dy • 20 октября 2025 г. в 07:31 • 333 points

ОригиналHN

#docker#aws#google-container-registry#ghcr.io#ecr#quay#container-registry#cloud-infrastructure#cloud-providers

Комментарии (129)

  • AWS и Docker Hub продолжают испытывать проблемы из-за сбоя AWS, что влияет на сборки и деплой по всему миру.
  • Пользователи делятся обходными путями: использовать зеркало Google Container Registry, ghcr.io, ECR, Quay и другие публичные образы, а также временно перенаправлять трафик через прокси-репозиторий.
  • Разработчики обсуждают, как избежать повторения ситуации: ставить локальный кеш-репозиторий, использовать оффлайн-репозиторий или мигрировать на другой публичный реестр.
  • Несколько человек упоминают, что даже если бы мы могли бы настроить приватный репозиторий, большинство людей не будут это делать, потому что это требует дополнительной работы.
  • Некоторые комментаторы подчеркивают, что даже если бы мы могли бы использовать приватный репозиторий, мы бы все еще были уязвимы к сбоям в AWS, потому что большинство облачных провайдеров зависят от AWS.

Nvidia DGX Spark: great hardware, early days for the ecosystem (simonwillison.net)

NVIDIA представила DGX Spark - настольный "суперкомпьютер" для ИИ размером с Mac mini, стоимостью около $4,000. Внутри скрывается ARM64-система с 20-ядерным процессором, 128 ГБ ОЗУ и 3.7 ТБ SSD, а также мощный GPU NVIDIA GB10 на архитектуре Blackwell с 119.68 ГБ памяти. Устройство нацелено на исследователей ИИ, предназначено как для обучения, так и для запуска моделей.

Основная проблема - совместимость CUDA с ARM64. Большинство библиотек и туториалов предполагают x86-архитектуру, что создает множество сложностей при настройке. Автору удалось найти PyTorch 2.7 для CUDA на ARM, но не для версии 2.8. NVIDIA пытается упростить задачу через официальные Docker-контейнеры, а за последний недобю опубликовала обширную документацию, которой не хватало изначально.

by GavinAnderegg • 15 октября 2025 г. в 00:49 • 146 points

ОригиналHN

#nvidia#dgx-spark#cuda#arm64#pytorch#docker#gpu#llm#machine-learning#blackwell

Комментарии (85)

  • Обсуждение в основном вращается вокруг сравнения DGX Spark с другими решениями: пользователи отмечают, что при цене в $70 000 он уступает RTX 5090 в производительности и даже RTX 4090, а единственное преимущество — 128 ГБ видеопамяти — ограничено пропускной способностью, что делает его неэффективным для инференса больших моделей.
  • Участники также поднимают вопросы о цене, отсутствии DisplayPort и возможности подключения к обычному монитору, а также о том, что DGX Spark не может использоваться для обучения из-за ограниченной памяти и отсутствия NVLink.
  • Некоторые комментаторы сравнивают его с MacBook Pro на Apple Silicon, отмечая, что ноутбук дешевле и при этом предлагающий 128 ГБ единой памяти может быть более практичен для инференса.
  • Также обсуждается, что NVIDIA в целом не предоставляет нужного ПО для ARM64, что делает его менее привлекательным, и что в целом экосистема CUDA вокруг ARM64 остается сырой.

Hold Off on Litestream 0.5.0 (mtlynch.io)

Новая версия Litestream 0.5.0 приносит значительные изменения: изменился формат резервных копий, что делает невозможным восстановление из бэкапов предыдущих версий, и обновилась структура конфигурационного файла. Автор подробно описывает процесс миграции, столкнувшись с несколькими проблемами.

Первая проблема возникла при попытке загрузить данные в Backblaze — система выдавала ошибку из-за неверного URI, что потребовало фикса от разработчиков.

Вторая проблема: в новой версии удалили флаг -if-replica-exists, критически важный для проверки наличия бекапов перед запуском приложения. Хотя флаг обещали вернуть в следующей версии, его отсутствие в 0.5.0 создавало сложности.

Третья проблема: даже после исправления конфигурации, процесс восстановления падал с ошибкой transaction not available, что указывало на возможную проблему с транзакционностью в новых бэкапах.

Автор подчеркивает, что несмотря на трудности, он продолжает использовать Litestream за его полезность, но советует подождать с апгрейдом до следующего релиза.

by mtlynch • 14 октября 2025 г. в 16:10 • 80 points

ОригиналHN

#litestream#backblaze#sqlite#docker#go#caddy

Комментарии (15)

  • The user is discussing issues they encountered while implementing lightweight read replicas for a Go SQLite driver, referencing a specific implementation and a GitHub repository.
  • They mention that while there are issues, the concept is workable, and they already have a version that mostly works, noting the massive changelog and that it's not unexpected to have issues given the scope.
  • Other users discuss the benefits of Litestream 0.5.0, including an official Docker image, though one user corrects that there has been an official Docker image for years, since version 0.3.4.
  • One user shares they are staying on an older version (0.3.13) for now due to similar issues but are excited for 0.5.x once it stabilizes, praising the integration of Litestream, SQLite, and Caddy for single-box operations.
  • A user notes the most disruptive part is the migration to a new LTX format, which is hard to do incrementally, and another user reflects on the versioning, noting that being a 0.x release means breaking changes are expected, though it might still be a minor footnote in the software's lifecycle.
  • The original poster concludes by correcting an oversight about the Docker image, noting the badge has been present for years, and speculates that the user who thought the image was new might have had a bad initial experience that discouraged them from trying again.

Wireshark 4.6.0 Supports macOS Pktap Metadata (PID, Process Name, etc.) (nuxx.net)

p, "p. 1" - "p. 2" - "p. 3" - "p. 4" - "p. 5" - "p. 6" - "p. 7" - "p. 8" - "p. 9" - "p. 10" - "p. 11" - "p. 12" - "p. 13" - "p. 14" - "p. 15" - "p. 16" - "p. 17" - "p. 18" - "p. 19" - "p. 20" - "p. 21" - "p. 22" - "p. 23" - "p. 24" - "p. 25" - "p. 26" - "p. 27" - "p. 28" - "p. 29" - "p. 30" - "p. 31" - "p. 32" - "p. 33" - "p. 34" - "p. 35" - "p. 36" - "p. 37" - "p. 38" - "p. 39" - "p. 40" - "p. 41" - "p. 42" - "p. 43" - "p. 44" - "p. 45" - "p. 46" - "p. 47" - "p. 48" - "p. 49" - "p. 50" - "p. 51" - "p. 52" - "p. 53" - "p. 54" - "p. 55" - "p. 56" - "p. 57" - "p. 58" - "p. 59" - "p. 60" - "p. 61" - "p. 62" - "p. 63" - "p. 64" - "p. 65" - "p. 66" - "p. 67" - "p. 68" - "p. 69" - "p. 70" - "p. 71" - "p. 72" - "p. 73" - "p. 74" - "p. 75" - "p. 76" - "p. 77" - "p. 78" - "p. 79" - "p. 80" - "p. 81" - "p. 82" - "p. 83" - "p. 84" - "p. 85" - "p. 86" - "p. 87" - "p. 88" - "p. 89" - "p. 90" - "p. 91" - "p. 92" - "p. 93" - "p. 94" - "p. 95" - "p. 96" - "p. 97" - "p. 98" - "p. 99" - "p. 100" - "p. 101" - "p. 102" - "p. 103" - "p. 104" - "p. 105" - "p. 106" - "p. 107" - "p. 108" - "p. 109" - "p. 110" - "p. 111" - "p. 112" - "p. 113" - "p. 114" - "p. 115" - "p. 116" - "p. 117" - "p. 118" - "p. 119" - "p. 120" - "p. 121" - "p. 122" - "p. 123" - "p. 124" - "p. 125" - "p. 126" - "p. 127" - "p. 128" - "p. 129" - "p. 130" - "p. 131" - "p. 132" - "p. 133" - "p. 134" - "p. 135" - "p. 136" - "p. 137" - "p. 138" - "p. 139" - "p. 140" - "p. 141" - "p. 142" - "p. 143" - "p. 144" - "p. 145" - "p. 146" - "p. 147" - "p. 148" - "p. 149" - "p. 150" - "p. 151" - "p. 152" - "p. 153" - "p. 154" - "p. 155" - "p. 156" - "p. 157" - "p. 158" - "p. 159" - "p. 160" - "p. 161" - "p. 162" - "p. 163" - "p. 164" - "p. 165" - "p. 166" - "p. 167" - "p. 168" - "p. 169" - "p. 170" - "p. 171" - "p. 172" - "p. 173" - "p. 174" - "p. 175" - "p. 176" - "p. 177" - "p. 178" - "p. 179" - "p. 180" - "p. 181" - "p. 182" - "p. 183" - "p. 184" - "p. 185" - "p. 186" - "p. 187" - "p. 188" - "p. 189" - "p. 190" - "p. 191" - "p. 192" - "p. 193" - "p. 194" - "p. 195" - "p. 196" - "p. 197" - "p. 198" - "p. 199" - "p. 200" - "p. 201" - "p. 202" - "p. 203" - "p. 204" - "p. 205" - "p. 206" - "p. 207" - "p. 208" - "p. 209" - "p. 210" - "p. 211" - "p. 212" - "p. 213" - "p. 214" - "p. 215" - "p. 216" - "p. 217" - "p. 218" - "p. 219" - "p. 220" - "p. 221" - "p. 222" - "p. 223" - "p. 224" - "p. 225" - "p. 226" - "p. 227" - "p. 228" - "p. 229" - "p. 230" - "p. 231" - "p. 232" - "p. 233" - "p. 234" - "p. 235" - "p. 236" - "p. 237" - "p. 238" - "p. 239" - "p. 240" - "p. 241" - "p. 242" - "p. 243" - "p. 244" - "p. 245" - "p. 246" - "p. 247" - "p. 248" - "p. 249" - "p. 250" - "p. 251" - "p. 252" - "p. 253" - "p. 254" - "p. 255" - "p. 256" - "p. 257" - "p. 258" - "p. 259" - "p. 260" - "p. 261" - "p. 262" - "p. 263" - "p. 264" - "p. 265" - "p. 266" - "p. 267" - "p. 268" - "p. 269" - "p. 270" - "p. 271" - "p. 272" - "p. 273" - "p. 274" - "p. 275" - "p. 276" - "p. 277" - "p. 278" - "p. 279" - "p. 280" - "p. 281" - "p. 282" - "p. 283" - "p. 284" - "p. 285" - "p. 286" - "p. 287" - "p. 288" - "p. 289" - "p. 290" - "p. 291" - "p. 292" - "p. 293" - "p. 294" - "p. 295" - "p. 296" - "p. 297" - "p. 298" - "p. 299" - "p. 300" - "p. 301" - "p. 302" - "p. 303" - "p. 304" - "p. 305" - "p. 306" - "p. 307" - "p. 308" - "p. 309" - "p. 310" - "p. 311" - "p. 312" - "p. 313" - "p. 314" - "p. 315" - "p. 316" - "p. 317" - "p. 318" - "p. 319" - "p. 320" - "p. 321" - "p. 322" - "p. 323" - "p. 324" - "p. 325" - "p. 326" - "p. 327" - "p. 328" - "p. 329" - "p. 330" - "p. 331" - "p. 332" - "p. 333" - "p. 334" - "p. 335" - "p. 336" - "p. 337" - "p. 338" - "p. 339" - "p. 340" - "p. 341" - "p. 342" - "p. 343" - "p. 344" - "p. 345" - "p. 346" - "p. 347" - "p. 348" - "p. 349" - "p. 350" - "p. 351" - "p. 352" - "p. 353" - "p. 354" - "p. 355" - "p. 356" - "p. 357" - "p. 358" - "p. 359" - "p. 360" - "p. 361" - "p. 362" - "p. 363" - "p. 364" - "p. 365" - "p. 366" - "p. 367" - "p. 368" - "p. 369" - "p. 370" - "p. 371" - "p. 372" - "p. 373" - "p. 374" - "p. 375" - "p. 376" - "p. 377" - "p. 378" - "p. 379" - "p. 380" - "p. 381" - "p. 382" - "p. 383" - "p. 384" - "p. 385" - "p. 386" - "p. 387" - "p. 388" - "p. 389" - "p. 390" - "p. 391" - "p. 392" - "p. 393" - "p. 394" - "p. 395" - "p. 396" - "p. 397" - "p. 398" - "p. 399" - "p. 400" - "p. 401" - "p. 402" - "p. 403" - "p. 404" - "p. 405" - "p. 406" - "p. 407" - "p. 408" - "p. 409" - "p. 410" - "p. 411" - "p. 412" - "p. 413" - "p. 414" - "p. 415" - "p. 416" - "p. 417" - "p. 418" - "p. 419" - "p. 420" - "p. 421" - "p. 422" - "p. 423" - "p. 424" - "p. 425" - "p. 426" - "p. 427" - "p. 428" - "p. 429" - "p. 430" - "p. 431" - "p. 432" - "p. 433" - "p. 434" - "p. 435" - "p. 436" - "p. 437" - "p. 438" - "p. 439" - "p. 440" - "p. 441" - "p. 442" - "p. 443" - "p. 444" - "p. 445" - "p. 446" - "p. 447" - "p. 448" - "p. 449" - "p. 450" - "p. 451" - "p. 452" - "p. 453" - "p. 454" - "p. 455" - "p. 456" - "p. 457" - "p. 458" - "p. 459" - "p. 460" - "p. 461" - "p. 462" - "p. 463" - "p. 464" - "p. 465" - "p. 466" - "p. 467" - "p. 468" - "p. 469" - "p. 470" - "p. 471" - "p. 472" - "p. 473" - "p. 474" - "p. 475" - "p. 476" - "p. 477" - "p. 478" - "p. 479" - "p. 480" - "p. 481" - "p. 482" - "p. 483" - "p. 484" - "p. 485" - "p. 486" - "p. 487" - "p. 488" - "p. 489" - "p. 490" - "p. 491" - "p. 492" - "p. 493" - "p. 494" - "p. 495" - "p. 496" - "p. 497" - "p. 498" - "p. 499" - "p. 500" - "p. 501" - "p. 502" - "p. 503" - "p. 504" - "p. 505" - "p. 506" - "p. 507" - "p. 508" - "p. 509" - "p. 510" - "p. 511" - "p. 512" - "p. 513" - "p. 514" - "p. 515" - "p. 516" - "p. 517" - "p. 518" - "p. 519" - "p. 520" - "p. 521" - "p. 522" - "p. 523" - "p. 524" - "p. 525" - "p. 526" - "p. 527" - "p. 528" - "p. 529" - "p. 530" - "p. 531" - "p. 532" - "p. 533" - "p. 534" - "p. 535" - "p. 536" - "p. 537" - "p. 538" - "p. 539" - "p. 540" - "p. 541" - "p. 542" - "p. 543" - "p. 544" - "p. 545" - "p. 546" - "p. 547" - "p. 548" - "p. 549" - "p. 550" - "p. 551" - "p. 552" - "p. 553" - "p. 554" - "p. 555" - "p. 556" - "p. 557" - "p. 558" - "p. 559" - "p. 560" - "p. 561" - "p. 562" - "p. 563" - "p. 564" - "p. 565" - "p. 566" - "p. 567" - "p. 568" - "p. 569" - "p. 570" - "p. 571" - "p. 572" - "p. 573" - "p. 574" - "p. 575" - "p. 576" - "p. 577" - "p. 578" - "p. 579" - "p. 580" - "p. 581" - "p. 582" - "p. 583" - "p. 584" - "p. 585"

by c0nsumer • 14 октября 2025 г. в 14:18 • 113 points

ОригиналHN

#wireshark#tcpdump#android#ios#bluetooth#docker#networking#packet-capture

Комментарии (18)

  • Wireshark позволяет использовать Android-устройства для удаленного захвата трафика в реальном времени через Bluetooth и интернет, а также iOS-устройства для интернет-захвата.
  • Существуют методы интеграции Wireshark с Linux и Windows, хотя пользователи ищут более простые или эффективные решения, чем текущие.
  • Wireshark может взаимодействовать с удаленными системами, например, путем перенаправления вывода tcpdump через FIFO (именованный канал), что позволяет анализировать трафик удаленно, даже в сложных средах, таких как Docker.
  • Некоторые пользователи считают, что Wireshark устарел по сравнению с современными потребностями, отмечая его ограничения в расширяемости, программируемости и поддержке новых функций, особенно по сравнению с альтернативами вроде Microsoft Network Monitor.
  • Wireshark остается ключевым инструментом для многих, но его функциональность может быть расширена или дополнена с помощью других инструментов и методов, таких как интеграция с ETW или использование дополнительных скриптов и утилит.

Why did containers happen? (buttondown.com) 💬 Длинная дискуссия

Разработчики долго спорили, можно ли запускать базы данных в контейнерах. Со временем стало ясно, что лучше использовать облачные решения, где провайдер управляет БД, а не хранить всё в эфемерных контейнерах, которые слишком легко удалить.

В то же время, ключевая инновация Docker — это не изоляция, а стандартизированная упаковка приложений. Вместо ручного редактирования серверов разработчики стали собирать приложения в переносимые образы. Это упростило развёртывание, особенно в облаке, где виртуальные машины требовали настройки вручную. Docker же позволил централизованно управлять образами через реестр, что ускорило разработку.

Важный момент: Docker изначально создавался для PaaS-платформы, чтобы упрощать развёртывание приложений, а не изолировать их. Потому и акцент на сборку, а не на безопасность. Многие функции, такие как read-only rootfs, делали контейнеры безопаснее, но главное — они решали проблему управления.

Кроме того, Docker популяризировал Go, показав его эффективность для системного программирования. Сегодня Go — один из главных языков, а многие стандартные библиотеки включают TLS, что упрощает разработку.

В итоге, контейнеры изменили подход к развёртыванию, сделав его более стандартизированным и автоматизированным. Это помогло DevOps-практикам, хотя некоторые аспекты, как безопасность, развиваются до сих пор.

by todsacerdoti • 13 октября 2025 г. в 11:37 • 166 points

ОригиналHN

#docker#containers#go#cloud#linux#cgroups#namespaces#devops#paas

Комментарии (211)

  • Контейнеры появились как реакция на неспособность Linux/Unix обеспечить изоляцию и управление зависимостями, а не как решение для разработки и доставки ПО.
  • Docker и подобные инструменты стали популярны, потому что они позволяют разработчикам легко запускать и тестировать приложения в изолированной среде, но это не основная причина их создания.
  • Контейнеризация стала возможной благодаря тому, что Google и другие компании внедрили cgroups и namespaces в ядро Linux, что позволило создать легковесную альтернативу виртуальным машинам.
  • Использование контейнеров для разработки и тестирования приложений стало возможным благодаря тому, что контейнеры предоставляют изоляцию и контроль над зависимостями, что делает их удобными для этих целей.

Modern Linux tools (ikrima.dev)

Проект Gamedev Guide обновил раздел о современных инструментах Linux для разработчиков. Основное внимание уделено оптимизации рабочего процесса: авторы рекомендуют использовать Docker для изоляции окружений, что ускоряет сборку и тестирование. Особо отмечена интеграция с Windows Subsystem for Linux (WSL2) для кросс-платформенной разработки, а также инструменты вроде Ninja для ускоренной компиляции C++ проектов. В статье приводятся примеры настройки CI/CD пайплайнов под Linux, что особенно полезно для крупных команд. Авторы подчеркивают, что современный Linux уже не уступает в инструментах для разработки под Windows, а в чём-то даже превосходит.

by randomint64 • 13 октября 2025 г. в 09:44 • 151 points

ОригиналHN

#docker#wsl2#c++#ninja#ci-cd#linux#grep#awk

Комментарии (123)

  • Обсуждение в основном вращается вокруг того, что «современные» инструменты не всегда объективно лучше, а скорее улучшают UX и визуально оформляют вывод, и что важнее уметь пользоваться базовыми утилитами, чем полагаться на специфические инструменты, которые могут не оказаться в других окружениях.
  • Участники обсуждают, что важно знать и уметь использовать базовые инструменты, такие как find, grep, sed, awk, vi, ed, less, tail, head, tar, ls, cat, dd, top, ps, kill, df, du, free, uptime, w, who, last, ls, df, mount, umount, fdisk, lsblk, blkid, lsusb, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsomod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsmod, lsomod, lsmod, lsmod, lsmod, lsmod, lsomod, lsmod, lsmod, lsmod, lsmod, lsomod, lsmod, lsmod, lsomod, lsmod, lsmod, lsomod, lsmod, lsomod, lsmod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, lsomod, `

WinBoat: Windows apps on Linux with seamless integration (winboat.app) 🔥 Горячее 💬 Длинная дискуссия

WinBoat — это инструмент, который позволяет запускать Windows-приложения в Linux с полной интеграцией. Он предоставляет удобный графический интерфейс, автоматизирует установку Windows и обеспечивает доступ к файловой системе Linux из Windows. Проект с открытым исходным кодом, распространяется под лицензией MIT.

by nateb2022 • 08 октября 2025 г. в 17:56 • 291 points

ОригиналHN

#docker#rdp#linux#windows#containers#virtualization

Комментарии (173)

  • WinBoat – это контейнер Docker с Windows внутри, который запускает приложения в изолированном окружении и предоставляет доступ к ним через RDP.
  • Проект не требует лицензии Windows, но юридически он не может быть свободно распространяемым, так как включает в себя не-лицензионные компоненты.
  • Пользователи отмечают, что проект не предоставляет никакой новой функциональности по сравнению с существующими решениями, такими как Wine или VirtualBox, и что он не решает проблему, которую он заявляет, что решает.
  • Некоторые комментаторы выражают обеспокоенность по поводу того, что проект может быть небезопасен в плане безопасности, так как он требует привилегий root для запуска Docker.
  • Проект не предоставляет никакой информации о том, что он делает, и не объясняет, как он это делает, что делает его трудным для пользователей понять, что именно он предлагает.

Doing Rails Wrong (bananacurvingmachine.com) 🔥 Горячее 💬 Длинная дискуссия

Диалог высмеивает современную тенденцию усложнять разработку на Rails, добавляя множество инструментов вроде Vite, React, TypeScript, Babel, PostCSS, Tailwind, ESLint, Prettier, Husky, Docker и Redis. Всё это оправдывается стремлением к «современности» и скорости, но приводит к громоздкой настройке.

В противовес этому демонстрируется простота «ванильного» Rails: один командой запускается мгновенно работающее приложение с быстрой загрузкой и формами. Ключевая идея — Rails уже содержит всё необходимое, а избыточные инструменты лишь создают сложность без реальной выгоды. Фраза «Просто используй Rails, блин!» резюмирует мысль: не усложняй там, где это не нужно.

by treesenthusiast • 07 октября 2025 г. в 17:01 • 323 points

ОригиналHN

#ruby-on-rails#vite#reactjs#typescript#babel#postcss#tailwindcss#eslint#prettier#docker

Комментарии (205)

  • Участники обсуждают растущую сложность современных веб-фреймворков, отмечая, что Rails предлагает более простой и "батарейками включенный" подход по сравнению с перегруженными инструментами JS-экосистемы.
  • Многие выражают ностальгию по классическому Rails, критикуя такие новые решения, как Hotwire и Stimulus, за сложность освоения и недостаток документации, в то время как другие защищают их как "путь Rails".
  • Поднимается тема чрезмерного усложнения проектов (over-engineering), особенно для небольших команд, где монолитные фреймворки (Rails, Django) часто продуктивнее разделения на фронтенд и бэкенд.
  • JS-экосистема подвергается критике за постоянное "изобретение велосипедов", сложность инструментов и модульность, которая приводит к усталости от инструментария, хотя некоторые защищают её гибкость.
  • Отмечается, что выбор инструментов должен определяться конкретными задачами проекта, а не модными тенденциями, и что проверенные временем технологии часто эффективнее для небольших и средних приложений.

Devpush – Open-source and self-hostable alternative to Vercel, Render, Netlify (github.com)

Devpush — это опенсорсная альтернатива Vercel, предназначенная для автоматического деплоя приложений на любых языках программирования. В отличие от коммерческих решений, он не ограничивается JavaScript-экосистемой и работает с любым стеком технологий, предоставляя непрерывную доставку из Git-репозитория.

Проект позволяет разработчикам быстро развертывать приложения через простые push-запросы в ветку, автоматически собирая и запуская их на собственной инфраструктуре. Это особенно полезно для команд, которым нужен контроль над окружением и гибкость в выборе инструментов без привязки к конкретному провайдеру.

by el_hacker • 07 октября 2025 г. в 10:07 • 215 points

ОригиналHN

#vercel#render#netlify#javascript#docker#kubernetes#git#linux#github

Комментарии (82)

  • Пользователи обсуждают и сравнивают различные инструменты для развертывания и управления контейнеризированными приложениями на собственном железе, такие как Coolify, Dokploy, CapRover, Cosmos Cloud, Piku и /dev/push.
  • Ключевые темы: простота использования и UX (сравнение с Vercel), поддержка различных рантаймов и Docker, безопасность установки (curl | sh), зрелость и стабильность проектов.
  • Автор /dev/push объясняет фокус на удобстве и опыте, близком к Vercel, в отличие от более мощных, но сложных container-centric решений, и анонсирует планы по добавлению новых функций.
  • Поднимаются вопросы о необходимости глубоких знаний Linux для самохостинга и ответственности, а также о альтернативных подходах (Kubernetes vs более простые решения).
  • Упоминаются recent controversies вокруг Vercel как возможный драйвер роста интереса к альтернативам и открытым решениям.

RediShell: Critical remote code execution vulnerability in Redis (wiz.io)

Обнаружена критическая уязвимость удалённого выполнения кода в Redis (CVE-2025-49844) с максимальным баллом CVSS 10.0. Проблема связана с ошибкой Use-After-Free, присутствующей в коде около 13 лет, которая позволяет аутентифицированному злоумышленнику выполнить произвольный код на хосте через специально сформированный Lua-скрипт.

Уязвимость затрагивает все версии Redis и представляет особую опасность, учитывая распространённость системы в 75% облачных сред. Атака позволяет получить полный контроль над системой, включая кражу, шифрование данных и перемещение внутри инфраструктуры. Эксплуатация требует лишь отправки вредоносного скрипта, что делает угрозу высокой для публично доступных экземпляров Redis.

by mihau • 06 октября 2025 г. в 22:30 • 107 points

ОригиналHN

#redis#lua#cve#remote-code-execution#use-after-free#cloud#docker

Комментарии (44)

  • Уязвимость в Redis (CVE-2024-XXXX) позволяет выполнить произвольный код после аутентификации через уязвимость use-after-free в Lua-скриптах.
  • Критичность уязвимости (CVSS 10) оспаривается, так как для эксплуатации требуется аутентификация или доступ к Lua-скриптам, что редко встречается в типичных конфигурациях.
  • Проблема усугубляется большим количеством экземпляров Redis (десятки тысяч), публично доступных в интернете без настроенной аутентификации.
  • Уязвимость существует в коде более десяти лет, исправлена в Redis 8.1.4 и форке Valkey, но многие системы остаются незащищенными.
  • Обсуждаются проблемы безопасности по умолчанию в Docker-конфигурациях и необходимость обновления устаревшей версии Lua в проектах.

Talk Python in Production (talkpython.fm)

Talk Python in Production – это книга, которая учит разворачивать Python-приложения без привязки к облачным провайдерам. Вместо микросервисов и Kubernetes автор предлагает «stack-native» подход: один мощный сервер, Docker Compose, NGINX и минимум внешних сервисов. Книга сопровождается GitHub-репозиторием с примерами кода, конфигами и скриптами CI/CD, а также готовыми Docker-образами.

by mikeckennedy • 06 октября 2025 г. в 19:59 • 93 points

ОригиналHN

#python#docker#nginx#ci-cd#microservices#kubernetes#github

Комментарии (62)

  • Обсуждение началось с критики обложки книги, вызванной использованием AI-изображения без ретуши, что вызвало волну схожих жалоб на дизайн и оформление.
  • Участники обсуждали ценность и применимость таких изображений, их влияние на восприятие контента и общий уровень подготовки материала.
  • Были подняты вопросы о том, как технологии генерации изображений влияют на качество и доверие к материалу, а также обсуждались проблемы читабельности текста и его контрастности на фоне.
  • Обсуждались также и другие темы, включая ценообразование, сравнение стоимости облачных провайдеров, а также вопросы, связанные с публикацией книги и её содержанием.
  • В целом, обсуждение подчеркнуло важность внимательного подхода к визуальному оформлению и качеству контента, а также подчеркнуло, что читатели ожидают большего, чем просто базовые знания в области технологий.

More random home lab things I've recently learned (chollinger.com)

че-г-го-г-г-д-и-не-и-в-г-и-г-д-г-и-ы-г-г-г-г-г-р-р-г-г-г-г-г-г-г-г-г-з-г-г-г-к-г-г-г-г-г-г-г-г-г-а-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-з-г-г-г-г-г-г-г-г-г-з-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-з-г-г-г-з-г-г-г-г-г-г-г-г-з-г-г-г-г-г-г-г-з-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-з-г-г-г-г-з-г-г-г-г-г-г-з-г-г-г-г-г-г-г-г-г-г-г-з-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-з-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г-г

by otter-in-a-suit • 06 октября 2025 г. в 13:02 • 181 points

ОригиналHN

#raspberry-pi#proxmox#docker#kubernetes

Комментарии (97)

  • Обсуждение охватывает широкий спектр тем: от выбора оборудования (Raspberry Pi, NUC, серверные и мини-ПК), до споров о том, что считается "настоящим" хоумлабом, и доходчиво-высокие цены на электричество и стоимость оборудования.
  • Участники обмениваются советами по оптимизации энергопотребления, обсуждают преимущества и недостатки различных решений, таких как Proxmox, Docker и Kubernetes, и делятся личным опытом.
  • Обсуждаются различные подходы к управлению питанием и охлаждением, а также влияние стоимости электроэнергии на выбор оборудования.
  • Участники также обсуждают, какие сервисы и приложения наиболее полезны для домашнего использования, и делятся советами по их настройке и использованию.
  • В конце концов, обсуждение поднимает вопрос о том, что делает "хоумлаб" таким, каким он является, и какие факторы влияют на это восприятие.

Modern messaging: Running your own XMPP server (codedge.de)

Запуск собственного XMPP-сервера на базе ejabberd позволяет избежать слежки за перепиской и утечек данных, которые характерны для коммерческих мессенджеров. Это особенно актуально на фоне планов ЕС по автоматическому мониторингу всех чатов и сообщений. XMPP поддерживает шифрование OMEMO, обмен файлами, групповые чаты и аудио-/видеозвонки, оставаясь ресурсоэффективным решением.

Для развёртывания сервера требуется настроить DNS-записи для оснвных и вспомогательных поддоменов, установить ejabberd через официальный репозиторий или GitHub, открыть необходимые порты (5222, 5269, 5280 и другие) и настроить конфигурацию в YAML. Ключевые настройки включают отказ от модулей, нарушающих приватность (mod_last, mod_bosh), использование SQLite вместо Mnesia и генерацию свежих DH-параметров. Все шаги автоматизированы с помощью Ansible-ролей в открытом репозитории.

by codedge • 06 октября 2025 г. в 12:02 • 195 points

ОригиналHN

#xmpp#ejabberd#omemo#sqlite#ansible#prosody#matrix#deltachat#signal#docker

Комментарии (114)

  • Участники обсуждают проблемы с клиентами XMPP, особенно на iOS: отсутствие реакций, ненадежные уведомления, неудовлетворительный пользовательский интерфейс и недостаток современных функций (гифки, звонки).
  • Многие отмечают простоту настройки и надежность серверов XMPP (Prosody, ejabberd), но подчеркивают, что основная сложность для широкого внедрения — это сетевой эффект и нежелание неподготовленных пользователей мириться с отсутствием привычного удобства.
  • В качестве альтернатив упоминаются Matrix (критикуется за сложность и нестабильность), Delta.Chat (на основе email) и Signal (отмечаются проблемы с приватностью из-за номера телефона и возможный уход из ЕС).
  • Поднимается вопрос цензуры и тотального мониторинга в ЕС, что может подтолкнуть пользователей к самохостингу и децентрализованным решениям.
  • Обсуждаются технические аспекты развертывания: проблемы с блокировкой портов на публичных сетях, необходимость reverse proxy, использование Docker для упрощения установки и управления.

Embracing the parallel coding agent lifestyle (simonwillison.net)

Инженеры всё чаще запускают несколько агентов одновременно — например, одновременно работают несколько экземпляров Claude Code или Codex CLI в разных директориях или даже в разных репозиториях. Саймон Уиллисон, который сам пишет код на Python и JavaScript, решил проверить, насколько полезно это на практике.

Основная идея: если ты уже знаешь, что именно ты хочешь сделать, то параллельные агенты позволяют тебе экономить время на рутинные задачи, пока ты сам занят более сложной работой. Агент может исследовать новую библиотеку, собрать доказательства концепции или найти примеры использования API без всякого риска для проекта. Для таких задач достаточно лишь четко указать модели, что именно от нее требуется.

В статье приводятся конкретные примеры: агент может самостоятельно запустить тесты и увидеть, что за ним стоит поправить предупреждение об устаревшем вызове. Или же, если ты уже решил, какую архитектуру использовать, можно просто сказать агенту, какие именно классы и методы нужно вызвать, и он сам найдет, где их стоит применить.

Саймон отмечает, что главное — это четко формулировать задачу и дать агенту контекст. Тогда сгенерированный код будет легко и быстро проверяем, и ревью требуется меньше усилий. Он также подчеркивает, что важно следить, чтобы агент не пытался внедрить изменения в тот репозиторий, где это не требуется. С другой стороны, если агент предлагает решение, которое требует лишь небольшой доработки, это может быть выгодно при условии, что оно не будет затем отвергнуто.

В заключение Саймон пишет, что пока еще не ясно, какие именно задачи лучше всего делегировать агенту, а какие стоит выполнять самому. Он экспериментирует с разными моделями и способами их запуска, включая запуск в Docker-контейнерах для изоляции. Он также отмечает, что в будущем, вероятно, придется еще больше полагаться на такие инструменты, и потому важно научиться использовать их эффективно и безопасно.

by jbredeche • 06 октября 2025 г. в 10:40 • 148 points

ОригиналHN

#python#javascript#docker#llm#code-review#parallel-programming

Комментарии (121)

  • Обсуждение в основном вращается вокруг трёх тем: высокая стоимость ревью кода, параллельные агенты и их влияние на фокус и продуктивность, а также культурные и этические аспекты использования AI-агентов.
  • Участники делятся личными стратегиями, такими как использование различных инструментов вроде Conductor и Crystal для управления агентами, и обсуждают, как сделать их более эффективными.
  • Обсуждается, как сделать ревью кода менее трудоёмким, включая использование инструментов вроде bottleneck для ревью кода, и как влияет на продуктивность и фокус.
  • Также обсуждается, как влияет на эффективность работы использование AI-агентов, и какие могут быть последствия для долгосрочной устойчивости и качества кода.

Beginner Guide to VPS Hetzner and Coolify (bhargav.dev)

Автор делится детальным чеклистом по настройке защищённого VPS для self-hosting, основанным на личном опыте развёртывания. Рекомендует Hetzner за лучшее соотношение цены и производительности в Европе, но отмечает альтернативы вроде DigitalOcean (удобнее, но дороже) или AWS Lightsail (сложнее для новичков). Ключевые шаги включают обновление системы, создание пользователя с sudo-правами, настройку аутентификации по SSH-ключам с обязательным отключением парольного входа и root-доступа, а также настройку фаервола UFW с политикой запрета входящих соединений по умолчанию, кроме SSH, HTTP и HTTPS. Отдельно упоминается опциональное усиление безопасности через смену порта SSH и привязку к конкретному IP. Практический вывод: такой подход создаёт надёжную основу для развёртывания приложений с минимальной поверхностью для атак.

by itsbrgv • 05 октября 2025 г. в 10:39 • 247 points

ОригиналHN

#vps#hetzner#digitalocean#aws#ssh#ufw#docker#cloudflare

Комментарии (123)

  • Пользователи отмечают отсутствие подробного описания Coolify в статье, несмотря на его упоминание в заголовке.
  • Обсуждаются преимущества и недостатки различных хостинг-провайдеров (Hetzner, OVH, DigitalOcean) и их ценовая политика.
  • Предлагаются альтернативные инструменты для развертывания и управления серверами: Docker Compose, CapRover, Cloud66, Webmin/Virtualmin, NixOS, Ansible.
  • Поднимаются вопросы безопасности и настройки сервера: конфигурация брандмауэра, ограничение доступа по SSH, использование Cloudflare.
  • Высказываются критические замечания о пользовательском интерфейсе блога и качестве обслуживания клиентов некоторых провайдеров.

Leveling Up My Homelab (cweagans.net)

Автор переосмыслил свой домашний серверный стенд, перейдя от хаотичного набора устройств к продуманной, масштабируемой инфраструктуре. Прежняя конфигурация включала маломощные мини-ПК (Mac Mini M1 и Beelink SER3), Synology NAS без поддержки Docker и ручное управление через скрипты. Хотя это было компактно и просто, система не справлялась с экспериментами: не хватало вычислительной мощности, оркестрации, аварийного восстановления и удалённого доступа.

Новый стенд развёрнут в 22U-стойке с акцентом на производственные стандарты: кластер Kubernetes на восьми Beelink SER9 Pro (32 ГБ RAM, GPU), выделенный сервер БД, планируемые Mac Mini на M4, мощное хранилище UniFi UNAS PRO и 10G сеть. Цель — устойчивость, автоматизация через GitOps и пространство для инженерного роста без ограничений.

by cweagans • 01 октября 2025 г. в 19:32 • 75 points

ОригиналHN

#kubernetes#docker#unifi#gitops#synology#rss#homelab#nas

Комментарии (36)

  • Обсуждение затрат на оборудование и электроэнергию для домашних лабораторий, включая переход на энергоэффективные решения.
  • Критика программного обеспечения Ubiquiti и Synology в пользу решений на базе TrueNAS, BSD/Linux для надежности хранения данных.
  • Дебаты о целесообразности масштабных домашних лабораторий: от хобби и обучения до избыточности для личных нужд.
  • Практические советы по оптимизации: использование коротких кабелей, мини-ПК с пассивным охлаждением, резервное копирование.
  • Обмен идеями по полезным самохостинговым сервисам: RSS-ридеры, менеджеры паролей, медиатеки, инструменты для разработки.

Ask HN: Who wants to be hired? (October 2025) 💬 Длинная дискуссия

by whoishiring • 01 октября 2025 г. в 15:01 • 80 points

ОригиналHN

#python#javascript#typescript#reactjs#nodejs#aws#gcp#docker#kubernetes#machine-learning

Комментарии (231)

  • Разработчики ищут удалённую работу, многие открыты к релокации, предпочитают гибридный формат или готовы к редким командировкам.
  • Основные технологические стеки включают Python, JavaScript/TypeScript, React, Node.js, облачные платформы (AWS, GCP) и контейнеризацию (Docker, Kubernetes).
  • Специализации варьируются от full-stack, data engineering и машинного обучения до дизайна продуктов и UX/UI.
  • Ключевые интересы: работа с LLM, AI-агентами, компьютерным зрением, распределёнными системами и дизайн-системами.
  • Многие кандидаты имеют опыт более 10 лет, опыт построения масштабируемых продуктов и решения сложных бизнес-задач.

Designing agentic loops (simonwillison.net) 🔥 Горячее

Кодирующие агенты вроде Claude Code и Codex CLI позволяют ИИ не только писать код, но и запускать его, исправлять ошибки и экспериментировать с решениями. Ключевой навык для эффективного использования таких инструментов — проектирование агентских циклов: настройка последовательности действий, где ИИ применяет инструменты в цикле для достижения чётко сформулированной цели. Это превращает агентов в инструменты «грубой силы» для решения задач, если можно определить цель и дать нужные инструменты для итераций.

Однако такая мощь сопряжена с рисками, особенно в «YOLO-режиме», когда агент выполняет команды без подтверждения. Это может привести к удалению файлов, утечке данных или использованию машины для атак. Для снижения рисков автор рекомендует запускать агентов в песочницах (например, Docker), использовать облачные среды вроде GitHub Codespaces или полагаться на удалённые серверы, где ущерб будет ограничен. Также важно тщательно подбирать инструменты для цикла, чтобы агент мог эффективно и безопасно решать задачи.

by simonw • 30 сентября 2025 г. в 15:21 • 252 points

ОригиналHN

#llm#docker#github-codespaces#security#containers#virtual-machines#bubblewrap#firejail

Комментарии (111)

  • Предлагаются альтернативы Docker для песочниц: bubblewrap, firejail, пользовательские аккаунты, KVM и контейнеры.
  • Обсуждаются принципы проектирования агентских циклов: избегание фреймворков, малое число мощных инструментов, важность человеческого контроля.
  • Подчеркиваются риски безопасности YOLO-режима и необходимость изоляции (контейнеры без сети, VM) для предотвращения утечек данных.
  • Отмечается эффективность асинхронных циклов (например, в Claude Code Plan mode) для выполнения задач без постоянного вмешательства.
  • Упоминаются практические реализации: MCP, инструменты для работы с документами, использование checkpoint-ов и систем оркестрации.

Show HN: Devbox – Containers for better dev environments (devbox.ar0.eu)

Devbox — это инструмент для создания изолированных сред разработки на основе Docker. Каждый проект работает в собственном контейнере, что предотвращает конфликты зависимостей и сохраняет чистоту основной системы. Контейнеры автоматически перезапускаются и сохраняются между перезагрузками, а код остаётся на файловой системе хоста для удобного редактирования.

Инструмент предлагает простые команды CLI, встроенные проверки безопасности и шаблоны для Python, Node.js, Go и веб-разработки. Также поддерживаются расширенные функции Docker, такие как проброс портов, монтирование томов и настройка переменных окружения.

by TheRealBadDev • 30 сентября 2025 г. в 02:26 • 96 points

ОригиналHN

#docker#python#nodejs#go#containers#devcontainers#toolbx#distrobox#dependency-management#dev-environments

Комментарии (49)

  • Обсуждаются сходства и отличия Devbox от альтернатив: Devcontainers (от Microsoft), Toolbx, Distrobox и других, с акцентом на поддержку в разных IDE и сложность их реализации вне VSCode.
  • Поднимается проблема конфликта имен с другими проектами, в первую очередь с Devbox от Jetify, что указывает на возможное отсутствие анализа существующих решений.
  • Отмечаются вопросы о безопасности и изоляции, в частности, возможность использования Docker-in-Docker и её последствия.
  • Участники делятся личным опытом использования Devbox и аналогичных инструментов, отмечая их удобство для создания воспроизводимых сред без потери производительности.
  • Обсуждается, решает ли подход с контейнерами проблему "dependency hell" и насколько он оправдан для разных языков и типов разработки (веб, мобильная).

Docker Hub Is Down (dockerstatus.com)

24 сентября 2025 года Docker столкнулся с проблемами аутентификации в Docker Hub, включая реестр, веб-сервисы и связанные компоненты вроде Docker Scout и Build Cloud. Инцидент начался около 16:09 по тихоокеанскому времени с повышенного уровня ошибок при запросах на вход, что привело к расследованию и последующему внедрению исправления к 18:09.

К 18:29 проблема была полностью решена, и система вернулась в рабочее состояние. Пользователям рекомендовали перезайти в аккаунт для обновления сессии, если проблемы сохраняются. Это подчёркивает важность мониторинга и быстрого реагирования на сбои в критической инфраструктуре.

by cipherself • 24 сентября 2025 г. в 23:15 • 179 points

ОригиналHN

#docker#docker-hub#harbor#zot#aws#ecr#gar#github-container-registry#quay.io#ci-cd

Комментарии (79)

  • Пользователи столкнулись с масштабным простоем Docker Hub, что привело к сбоям в деплое, CI/CD и разработке
  • Обсуждаются решения для избежания зависимости от Docker Hub: локальные mirror-реестры (Harbor, Zot), pull-through кэши (AWS ECR, GAR, GitLab Registry)
  • Предлагаются альтернативные регистри: Quay.io, GitHub Container Registry, публичный ECR от AWS с mirror Docker Hub
  • Отмечается, что некоторые системы кэширования (например, GAR) также пострадали из-за проблем с аутентификацией на стороне Docker Hub
  • Подчёркивается важность стратегии с собственным внутренним реестром для критичных окружений

My game's server is blocked in Spain whenever there's a football match on (old.reddit.com) 🔥 Горячее 💬 Длинная дискуссия

by greazy • 24 сентября 2025 г. в 10:26 • 336 points

ОригиналHN

#cloudflare#docker#iptv#gps#reddit

Комментарии (154)

  • La Liga в Испании блокирует IP-адреса для борьбы с пиратством во время футбольных матчей, что приводит к массовым перебоям в работе интернета и блокировке легитимных сервисов, включая Cloudflare и Docker.
  • Власти и суды делегируют частным компаниям право цензуры в масштабах всей страны без должного судебного надзора, что вызывает вопросы о законности и коррупции.
  • Стоимость легального просмотра футбола в Европе завышена (до 100+ евро/мес), что подталкивает пользователей к пиратству и использованию нелегальных IPTV-сервисов.
  • Бизнесы (бары, пабы) вынуждены платить большие fees за трансляции, а официальное приложение La Liga запрашивает доступ к микрофону и GPS для слежки за нарушениями.
  • Молодое поколение теряет интерес к футболу из-за высокой стоимости, коррупции в индустрии и скандалов, что может привести к естественному разрешению проблемы.

Traefik's 10-year anniversary (traefik.io)

Traefik отмечает десятилетие развития как облачного прокси-приложения с открытым исходным кодом. За эти годы проект вырос из простого инструмента маршрутизации в полноценную платформу, включающую Traefik Proxy, Traefik Hub API Gateway и решения для управления API. Сообщество сыграло ключевую роль в его эволюции, способствуя появлению функций для Kubernetes, Docker Swarm, веб-приложений и даже шлюзов для ИИ.

Платформа теперь предлагает решения для безопасности, такие как WAF, управление политиками API и интеграции с экосистемами вроде HashiCorp, Microsoft и Oracle. Traefik продолжает адаптироваться к современным потребностям, включая поддержку GitOps и мокирование API, демонстрируя гибкость и устойчивость в быстро меняющейся ИТ-среде.

by beckford • 24 сентября 2025 г. в 08:29 • 237 points

ОригиналHN

#traefik#cloud#proxy#docker#kubernetes#api-gateway#waf#gitops#hashicorp#oracle

Комментарии (129)

  • Пользователи отмечают сложность настройки и неудовлетворительную документацию Traefik, особенно при нестандартных требованиях.
  • Многие предпочитают альтернативы, такие как Caddy, за его простоту и автоматизацию TLS, или Envoy как CNCF-стандарт.
  • Traefik хвалят за интеграцию с Docker и автоматическое управление сертификатами, но критикуют за закрытие базовых функций в enterprise-версии.
  • Поддержка динамической конфигурации через Docker-лейблы считается сильной стороной, но сам формат конфигурации часто называют запутанным.
  • Проект признают зрелым и полезным для конкретных сценариев, но выбор инструмента часто зависит от личных предпочтений и задач.

Podman Desktop celebrates 3M downloads (podman-desktop.io)

Проект Podman Desktop достиг знакового рубежа в 3 миллиона загрузок, что подчёркивает его растущую популярность среди разработчиков. Команда выражает глубокую благодарность сообществу за активное участие: пользователи не только сообщают о проблемах и предлагают новые функции, но и создают расширения, делятся опытом с коллегами и способствуют постоянному улучшению инструмента.

Отзывы пользователей highlight ключевые преимущества, такие как удобство управления контейнерами в едином интерфейсе, работа без прав root и постепенное совершенствование функционала. В честь события запущен специальный сайт-сюрприз, символизирующий признание усилий сообщества.

by twelvenmonkeys • 23 сентября 2025 г. в 20:40 • 204 points

ОригиналHN

#podman#docker#containers#rootless#systemd#rhel#arm#windows

Комментарии (60)

  • Podman рассматривается как бесплатная и более легкая альтернатива Docker, особенно из-за проблем с лицензированием Docker Desktop и его ресурсоемкостью.
  • Основные преимущества Podman: возможность запуска без прав root (rootless), лучшая интеграция с systemd и более современная архитектура.
  • Для многих сценариев использования Podman является практически прямой заменой (drop-in replacement) Docker, но есть нюансы и отдельные случаи несовместимости.
  • Некоторые пользователи предпочитают CLI-интерфейс и не видят необходимости в GUI, как в Podman Desktop.
  • Решение об использовании Podman часто связано с конкретными потребностями: работа на ARM/Windows, использование в RHEL, избегание лицензионных ограничений.

Systemd can be a cause of restrictions on daemons (utcc.utoronto.ca)

Systemd всё чаще становится причиной скрытых ограничений для демонов, вызывая ситуации, когда служба работает при ручном запуске от root, но отказывает в штатном режиме. Это происходит из-за директив вроде ProtectHome= (блокирующей доступ к домашним каталогам) или PrivateTmp= (создающей изолированный /tmp), которые могут приводить к "таинственным" ошибкам вроде "permission denied" или исчезновению файлов в /tmp.

Особенно коварны ограничения на IP-адреса, которые могут неожиданно блокировать DNS-запросы, если демон не использует systemd-resolved. Пока проблему можно решить, удалив ограничения из .service-файла, но в будущем некоторые демоны могут начать требовать эти настройки, что усложнит диагностику.

by zdw • 20 сентября 2025 г. в 15:26 • 93 points

ОригиналHN

#systemd#linux#dns#jellyfin#docker#podman#unix

Комментарии (91)

  • Обсуждаются возможности systemd для изоляции и ограничения сервисов через настройки юнитов, что может служить альтернативой контейнеризации.
  • Поднимается вопрос сложности отладки и логирования при использовании усиленных настроек безопасности systemd.
  • Участники делятся практическим опытом настройки hardening'а для конкретных сервисов (например, Jellyfin) и решения возникающих проблем.
  • Высказываются полярные мнения о systemd: от критики за усложнение и нарушение UNIX-принципов до поддержки за гибкость и мощные функции.
  • Затрагивается тема культурного феномена хейта вокруг systemd и его сравнение с другими инструментами (Docker, Podman).

Node 20 will be deprecated on GitHub Actions runners (github.blog)

GitHub Actions начинает процесс отказа от Node 20, так как его поддержка завершится в апреле 2026 года. Планируется переход на Node 24 осенью 2025 года. Сейчас последняя версия раннера поддерживает обе версии, но по умолчанию используется Node 20. Для тестирования Node 24 можно установить переменную окружения FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true.

С 4 марта 2026 года раннеры перейдут на Node 24 по умолчанию. Чтобы продолжить использовать Node 20 после этой даты, нужно установить ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true, но это будет работать только до лета 2026 года, когда Node 20 окончательно удалят. Node 24 несовместим с macOS 13.4 и ниже, а также не поддерживает ARM32, что повлияет на самохостинг. Разработчикам действий и пользователям рекомендуется обновить конфигурации и рабочие процессы соответственно.

by redbell • 20 сентября 2025 г. в 11:19 • 97 points

ОригиналHN

#nodejs#github-actions#macos#docker#security#lts

Комментарии (41)

  • Пользователи выражают недовольство частыми устареваниями (deprecations) и проблемами совместимости в GitHub Actions, особенно с версиями Node.js (пропуск версии 22, переход на 24) и действиями (например, actions/checkout).
  • Обсуждаются проблемы безопасности из-за уязвимостей в устаревших версиях Node.js в раннерах GHA, что может привести к компрометации репозиториев и инфраструктуры.
  • Предлагаются альтернативы: использование самодельных скриптов для установки Node.js, упаковка действий в Docker-контейнеры или переход на самописные раннеры (например, github-act-runner) для большего контроля.
  • Критикуется привязка к проприетарному сервису (GHA) для обеспечения долгосрочной стабильности сборок; предлагается выносить логику сборки в собственные скрипты (Makefile).
  • Отмечаются проблемы с экосистемой Node.js: медленная адаптация зависимостей к новым LTS-версиям и отсутствие расширенной поддержки старых ОС со стороны провайдеров.

How Container Filesystem Works: Building a Docker-Like Container from Scratch (labs.iximiuz.com)

Как работает файловая система контейнеров: создание Docker-подобного контейнера с нуля

Одна из суперспособностей контейнеров — их изолированное представление файловой системы. Изнутри контейнера она может выглядеть как полноценный дистрибутив Linux, часто отличающийся от хостового. Запустите docker run nginx, и Nginx окажется в своём привычном пользовательском пространстве Debian независимо от того, какую версию Linux использует хост. Но как создаётся эта иллюзия?

В этой статье мы соберём небольшой, но реалистичный Docker-подобный контейнер, используя только стандартные инструменты Linux: unshare, mount и pivot_root. Без магии рантайма и (почти) без упрощений. По пути вы узнаете, почему пространство имён монтирования — это основа изоляции контейнеров, в то время как другие пространства имён, такие как PID, cgroup, UTS и даже сетевое, играют скорее вспомогательную роль.

К концу — особенно если совместить это с руководством по сетям контейнеров — вы сможете запускать полнофункциональные Docker-подобные контейнеры, используя только стандартные команды Linux. Это конечная цель каждого aspiring container guru.

Предварительные требования

  • Базовое знакомство с Docker (или Podman и подобными) контейнерами
  • Основные знания Linux (скрипты shell, общее понимание пространств имён)
  • Фундаментальные принципы файловых систем (единая иерархия каталогов, таблица монтирования, bind mount и т.д.)

Визуализация конечного результата

На диаграмме ниже показано, как выглядит изоляция файловой системы при создании Docker нового контейнера. Нормально, если рисунок кажется сложным. С помощью практических упражнений в этом руководстве мы построим комплексную ментальную модель работы контейнеров, так что когда мы вернёмся к диаграмме в заключительном разделе, она будет выглядеть гораздо понятнее.

Кликните для увеличения

Что именно изолирует Mount Namespace?

Проведём быстрый эксперимент. В Терминале 1 запустим новую сессию shell в собственном пространстве имён монтирования:

sudo unshare --mount bash

Теперь в Терминале 2 создадим файл где-нибудь в файловой системе хоста:

echo "Hello from host's mount namespace" | sudo tee /opt/marker.txt

Удивительно или нет, но при попытке найти этот файл в новом пространстве имён монтирования с помощью Терминала 1 он окажется там:

cat /opt/marker.txt

Так что же мы изолировали с помощью unshare --mount? 🤔

Ответ — таблицу монтирования. Вот как это проверить. Из Терминала 1 смонтируем что-нибудь:

sudo mount --bind /tmp /mnt

💡 Эта команда использует bind mount для простоты, но подойдёт и обычное монтирование (блочного устройства).

Теперь, если вывести содержимое папки /mnt в Терминале 1, должны отобразиться файлы из /tmp:

ls -l /mnt

Но в то же время папка /mnt осталась пустой в пространстве имён монтирования хоста. Если запустить ту же команду ls из Терминала 2, файлов не будет:

ls -lah /mnt

Наконец, «представления» файловой системы начали расходиться между пространствами имён. Однако мы смогли достичь этого только создав новую точку монтирования.

Пространства имён монтирования, визуализировано

Из man страницы mount namespace:

Пространства имён монтирования обеспечивают изоляцию списка монтирований, видимых процессами в каждом экземпляре пространства имён. Таким образом, процессы в каждом из экземпляров пространства имён монтирования будут видеть distinct single directory hierarchies.

Сравните таблицы монтирования, запустив findmnt из Терминала 1 и Терминала 2:

Пространство имён хоста
Новое пространство имён

by lgunsch • 13 сентября 2025 г. в 14:37 • 160 points

ОригиналHN

#docker

Комментарии (27)

  • Обсуждаются технологические предшественники и аналоги Docker, такие как chroot (1979), FreeBSD jails (~2000) и Solaris Containers/Zones.
  • Подчеркивается, что Docker — это не только chroot, но и комбинация технологий: пространства имён Linux, overlay FS, OCI registry и идея неизменяемых образов.
  • Отмечается гениальность и кажущаяся очевидность идеи Docker в ретроспективе, а также его роль в создании критической массы и упрощённых workflow.
  • Указывается на значительно более слабую изоляцию chroot по сравнению с пространствами имён Linux, которые использует Docker.
  • Упоминается существование минималистичных реализаций концепций Docker, например, «Bocker» — на bash в 100 строк кода.
  • Обсуждается история использования многослойных файловых систем (например, для записи CD/DVD) как одна из основ технологий контейнеризации.
  • Приводится пример смелого публичного выступления, связанного с внутренним устройством Docker.

OCI Registry Explorer (oci.dag.dev)

Registry Explorer — интерактивный просмотрщик образов и репозиториев.
Введите публичный образ (ubuntu:latest) или реп (ubuntu), листайте слои и файлы без скачивания.

Примеры

  • cgr.dev/chainguard/static:latest-glibc
  • gcr.io/distroless/static
  • ghcr.io/homebrew/core/crane
  • registry.k8s.io и др.

Как работает
Сервис на Cloud Run, движок — google/go-containerregistry.
Первый запрос к слою качает и индексирует его; дальше читаем по Range-запросам.
Трафик регистри уменьшается: скачивайте один раз и шлите ссылку.
Docker Hub предоставляет безлимитный доступ.

Случайный доступ к gzip
Храним ~1 % распакованных данных; по ним строим «точки входа» в поток и читаем без распаковки всего слоя.
Код: github.com/jonjohnsonjr/dagdotdev

by jcbhmr • 13 сентября 2025 г. в 02:41 • 75 points

ОригиналHN

#oci#docker#container#go#cloud-run#google-go-containerregistry#zstd#cosign#sigstore#crane

Комментарии (7)

  • @jonjonsonjr: это его pet-проект для отладки образов; часть фич спрятана как пасхалки.
  • @mshekow: инструмент oci.dag.dev — лучший браузер регистри, можно развернуть самому (Go-CLI).
  • @gucci-on-fleek: поддерживает zstd, cosign-подписи, показывает размер каждого файла и ссылки на Sigstore.
  • @glitchcrab: использует регулярно, быстрее чем crane.
  • @lclc: сервер не выдержал наплыва посетителей с HN — «Rate exceeded».

Nano Banana image examples (github.com) 🔥 Горячее 💬 Длинная дискуссия

Коллекция готовых образов

  • Собраны минимальные и полные сборки под NanoPi R6S/R6C, Orange Pi 5/5B/5 Plus, Banana Pi BPI-M2S/M2P/M2 Zero, Radxa Zero 3
  • Ядро 6.x, U-Boot, Wi-Fi/BT, аппаратное ускорение, Docker, Portainer, Home Assistant, OpenWRT, Kodi, RetroArch, ROS2
  • Записать: dd if=*.img of=/dev/sdX bs=4M status=progress
  • Логин/пароль: root/1234 или pi/bananapi

Быстрый старт

  1. Скачать свежий образ из /releases
  2. Распаковать и записать на SD/SSD
  3. Вставить, включить, дождаться загрузки
  4. Подключиться по SSH/IP, сменить пароль

Сборка своего образа

  • Установить Docker → ./build.sh board=opi5 flavour=server
  • Через 15–30 мин появится готовый .img

Горячие клавиши

  • armbian-config – сеть, ядро, dtb
  • bananapi-config – overclock, GPIO, камера
  • htop, armbianmonitor -m – контроль железа

Полезные ссылки

by SweetSoftPillow • 11 сентября 2025 г. в 20:35 • 410 points

ОригиналHN

#docker#home-assistant#openwrt#kodi#retroarch#ros2#gemini#github

Комментарии (165)

  • Nano Banana (Gemini 2.5 Flash) показывает выдающееся качество редактирования и сохранения персонажа, но многие считают примеры «черри-пиком» после десятков попыток.
  • Пользователи жалуются на «copy-paste»-эффект, отказы по безопасности и неточности деталей (текст, одежда, пропорции).
  • NSFW-контент в демках вызывает споры: примеры с поднятыми юбками и сексуализированными персонажами портят восприятие.
  • Модель хороша для прототипов, раскрасок и мемов, но пока требует тщательного промпт-инжиниринга и повторных генераций.
  • Технически это не «одна модель», а тюнированный пайплайн Gemini для локального редактирования; открытых весов и полной документации нет.

Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container (github.com)

Tailguard — Docker-контейнер, связывающий Tailscale и WireGuard.

  • Поднимается одной командой, не требует root.
  • Перенаправляет трафик Tailscale → WireGuard и обратно.
  • Подходит для «проброса» Tailscale в сети, где нативный клиент не ставится.

by juhovh • 10 сентября 2025 г. в 03:42 • 137 points

ОригиналHN

#docker#tailscale#wireguard#go#reactjs#fly.io#vpn#networking#github

Комментарии (26)

  • TailGuard — это контейнер, который автоматически берёт конфиг WireGuard и объявляет подсети из туннеля как Tailscale-subnet-router; остальному tailnet они сразу доступны.
  • Проект начинался с «пары строк», но пришлось добавить переподключение при смене IP, DNS-ротацию и лёгкий React-UI; всё упаковано в Go-сервис + контейнер.
  • Решение работает и с fly.io: вместо camellia.conf на клиенте поднимают TailGuard-контейнер рядом с их WireGuard-шлюзом и получают приватную сеть fly внутри Tailscale.
  • На Android единовременно можно только один VPN, поэтому TailGuard удобнее «двойных» подключений; на iOS/WG-официальном клиенте можно выборочно маршрутизировать.
  • Альтернатива — готовые 5G-роутеры GL.iNet (IMEI-клон, встроенный Tailscale/WireGuard), но у автора был опыт с TP-Link Deco X50-5G и он его «не особо рекомендует».

Immich – High performance self-hosted photo and video management (github.com) 🔥 Горячее 💬 Длинная дискуссия

Immich — быстрый и бесплатный аналог Google Фото, который ставится у себя на сервере.
Хранит фото/видео, делает резервные копии, группирует по лицам и геометкам, ищет по объектам и тексту.
Есть веб, мобильные приложения, автозагрузка, совместные альбомы и RAW.
Запускается в Docker за пару минут.

by rzk • 08 сентября 2025 г. в 07:58 • 481 points

ОригиналHN

#docker#sqlite#nextcloud#google-photos#debian#pikapods#github

Комментарии (163)

  • Пользователи хвалят Immich за быстрый рост, «почти идеальный» клиент и удобную замену Google Photos.
  • Ключевые претензии: нет стабильного релиза, агрессивные обновления зависимостей, отсутствие официального пакета в Debian.
  • Некоторые страдают от слабого поиска, отсутствия OCR, сжатия и SQLite-варианта.
  • Часть людей отказывается от самостоятельного хостинга из-за «bus-factor = 1», дорогого блок-хранилила и риска потерять фото.
  • Альтернативы: Ente.io (E2E-шифрование), PhotoPrism, Nextcloud Photos; кто-то просто докупает место у PikaPods.

Show HN: Bottlefire – Build single-executable microVMs from Docker images (bottlefire.dev)

Bottlefire — превращает Docker-образы в единый исполняемый файл с микро-VM на Firecracker.
Запуск без root и настроек, где есть KVM.

curl -fL https://bottlefire.dev/run/

Собирается утилитой bake, внутри: сеть, порты, shared-папки.

Цены
Публичные образы — бесплатно.
Pro: 5 $/мес, 20 ГБ «активных» образов, любые регистри.

curl -fL -H "Authorization: Bearer …" -o app \
  https://images.bottlefire.dev/ghcr.io/org/app:1.0

Нужен больше или ECR/GCP — пишите.

Спонсорство от 50 $/мес — публикуй свои образы для всех.

by losfair • 07 сентября 2025 г. в 13:48 • 142 points

ОригиналHN

#docker#firecracker#microvm#kvm#socks5#tun2socks#bake#gcp#digitalocean

Комментарии (21)

  • Участник спросил, можно ли «заморозить» microVM в bottlefire и возобновить позже — ответ: Firecracker умеет снимки, но в текущем формате пока не реализовано.
  • Вопрос о запуске microVM в обычном облаке:部分 провайдеры (GCP, DigitalOcean) уже позволяют запускать Firecracker.
  • Сеть у bake устроена через SOCKS5-прокси поверх tun2socks, используя сетёвой стек хоста.
  • Проект по сути обёртка bake: с KVM можно запустить любой Docker-контейнер без установки Docker.
  • Участники сравнили с docker2exe/dockerc, обсудили GUI-оболочку, 9p для rootfs и возможность адаптации под Apple Hypervisor.framework.

I ditched Docker for Podman (codesmash.dev) 🔥 Горячее 💬 Длинная дискуссия

by codesmash • 05 сентября 2025 г. в 11:56 • 1015 points

ОригиналHN

#docker#podman#containerization#linux#systemd#selinux#freebsd#kubernetes

Комментарии (603)

  • Кто-то в восторге от Podman: нет лицензий, rootless, systemd-интеграция, podman generate kube.
  • Кто-то страдает: старые версии в Ubuntu, тормоза, сетевые сбои, SELinux, UID-маппинг, compose не докручен.
  • Docker упрекают в daemon-root и тяжёлом демоне, но хвалят за «просто работает» и DX.
  • Часть вообще ушла в FreeBSD Jails, OrbStack, Colima или bash-скрипты на VPS.
  • Вывод: Podman годится, если готовы поборотьься; иначе остаёмся на Docker или ищем третий путь.

WinBoat: Run Windows apps on Linux with seamless integration (github.com)

Winboat — запуск Windows-программ в Linux с нативным видом и интеграцией.
Использует Wine + патчи для:

  • единого меню «Пуск»;
  • перетаскивания файлов между ОС;
  • общего буфера обмена;
  • тем оформления Linux;
  • автоматического монтирования дисков.

Установка:

git clone https://github.com/TibixDev/winboat
cd winboat && ./install

Запуск: winboat <путь_к_exe>.

by nogajun • 02 сентября 2025 г. в 04:24 • 106 points

ОригиналHN

#wine#docker#remote-desktop-protocol#virtualization#linux#windows#github

Комментарии (58)

  • Пользователи сомневаются в «бесшовной интеграции» и считают, что маркетинговые обещания не совпадают с предупреждениями о багах.
  • Уточняется, что WinBoat — это Docker-контейнер с Windows-VM, который через RDP/RemoteApp выводит окна приложений на Linux-декстоп.
  • Нет GPU-ускорения; для игр с анти-читом (Fortnite) и тяжёлых задач это ограничение критично.
  • Проект позиционируется как более «пользовательский» аналог WinApps, но требует лицензии Windows и всё ещё на стадии бета.

Ask HN: Who wants to be hired? (September 2025) 💬 Длинная дискуссия

by whoishiring • 01 сентября 2025 г. в 15:01 • 84 points

ОригиналHN

#rust#go#python#reactjs#nodejs#aws#gcp#docker#kubernetes#llm

Комментарии (181)

  • 20+ специалистов из 4 континентов ищут удалённую работу; большинство — full-stack, DevOps, ML/AI и мобильные разработчики.
  • Регионы: США (Austin, SF, NYC, Florida), Латинская Америка (Буэнос-Айрес, Богота, Медельин), Европа (Лондон, Осло, Хорватия), Азия (Бангкок, Ханой), Африка (Лагос) и др.
  • Ключевые стеки: Rust/Go/Python, React/Node, AWS/GCP, Docker/K8s, LLM/AI-инструменты, iOS/Android, а также редкие — DSP, C++, embedded.
  • Готовность к релокации: ~30 % «да», ~60 % «только удалённо», остальные — «возможно при убедительном предложении».
  • Уровни: от стажёров и new-grad до 20-летних ветеранов и CTO; многие предоставляют портфолио и рекомендательные письма.

Use One Big Server (2022) (specbranch.com) 🔥 Горячее 💬 Длинная дискуссия

Один большой сервер вместо оркестра микросервисов

Современный сервер Azure с двумя AMD EPYC 3-го поколения даёт:

  • 128 физических ядер / 256 потоков
  • до 8 ТБ ОЗУ, 200 ГБ/с пропускная способность
  • 128 линий PCIe 4.0 → 30 NVMe + 100 Гбит/с сеть
  • 4 TFLOPS — в 2000 г. хватило бы для первой строчки Top500

Что он умеет

  • 800 Гбит/с видео (Netflix)
  • 1 млн IOPS в NoSQL, 70 k IOPS в PostgreSQL
  • 500 k RPS nginx, компиляция ядра Linux за 20 с, кодирование 4K-видео 75 fps

Сколько стоит

  • Аренда:
    – OVH: 128 ядер, 512 ГБ ОЗУ, 50 Гбит/с — $1 318/мес.
    – Hetzner: 32 ядра, 128 ГБ — €140/мес.
    – AWS m6a.metal: 96 ядер, 768 ГБ — $6 055/мес.
  • Покупка: ~$40 000 за аналогичную конфигурацию у Dell.

Вывод
Для большинства задач один такой сервер перекрывает потребности всей компании. Распределённые системы нужны редко; чаще достаточно «одного большого сервера» и простого деплоя.

by antov825 • 31 августа 2025 г. в 17:29 • 299 points

ОригиналHN

#azure#amd#postgresql#nosql#nginx#linux#ovh#hetzner#aws#docker

Комментарии (250)

  • «Облачный налог» заставляет инженеров выбирать только дорогие облачные решения, хотя за $200/мес. у Hetzner можно взять 48 ядер и 128 ГБ ОЗУ, тогда как AWS даёт лишь 4 vCPU и 16 ГБ.
  • Многие участники подтверждают: при стабильной нагрузке гибрид «colo + VPS» или одна большая машина дешевле и проще, чем микросервисы и K8s.
  • Ключевые риски: единая точка отказа, необходимость админов и железных рук; зато нет «meta-слоёв» Docker-proxy-nginx и можно выжимать максимум из железа.
  • Часть команд тратит годы на «cloud-native» пайплайны и закрывается, не успев выйти на рынок; проще начать с PaaS/Hetzner и переезжать, когда счёт действительно больно.
  • Для критичных задач достаточно двух физических серверов (active/backup) и CDN; 99,9 % доступности хватает большинству бизнесов, которым на деле не нужен 100 % uptime.

AI models need a virtual machine (blog.sigplan.org)

AI-модели нуждаются в виртуальной машине

Современные приложения с ИИ включают модель в «обвязку», которая обеспечивает вызов инструментов, поиск контекста, безопасность и прочие сервисы. Первые чат-боты были простым REPL-циклом: запрос → модель → ответ. С появлением протоколов вроде MCP логика управления стала сложнее и требует свойств ОС: изоляции, расширяемости, переносимости, контроля доступа к файлам и инструментам.
Мы предлагаем рассматривать этот слой как виртуальную машину для ИИ-моделей (MVM), где одна из «инструкций» — вызов LLM. Это развязывает разработку моделей от кода интеграции и даёт «write once, run anywhere» аналогично JVM.

Зачем MVM

  • Безопасность и приватность «из коробки», а не как дополнение.
  • Повторное использование: любая модель подключается к экосистеме инструментов и политик безопасности.
  • Переносимость: модель и политики можно поставлять и запускать в разных средах.

Пример работы

  1. Пользователь: «Забронируй рейс».
  2. MVM передаёт запрос модели.
  3. Модель: «вызови booking-tool».
  4. MVM проверяет, разрешён ли этот инструмент, и только потом вызывает его.
    Такой контроль есть в любом коммерческом ИИ-продукте; MVM выносит его в стандартизированную платформу.

Инструкции MVM

  • загрузка/выгрузка модели и инструментов;
  • вызов модели с контекстом;
  • парсинг её ответа;
  • вызов разрешённых инструментов;
  • работа с памятью, историей, вводом пользователя;
  • стандартные управляющие конструкции (if, seq, loop).

by azhenley • 30 августа 2025 г. в 13:25 • 215 points

ОригиналHN

#artificial-intelligence#virtual-machines#security#privacy#containers#webassembly#docker#permissions#llm

Комментарии (108)

  • Критики считают, что статья расплывчата: «VM для ИИ» сводится к обычной песочнице/контейнеру, а не к полноценной машине.
  • Основная проблема — не инструменты, а разрешения: нужно точно ограничить, какие действия и данные доступны агенту, иначе он может, например, купить билет с 37-часовой пересадкой ради 3 $.
  • Многие предлагают использовать уже существующие механизмы: Docker, отдельный пользователь, контейнеры, WebAssembly или capability-модель вроде Fuchsia.
  • Часть комментаторов указывает, что продвинутые модели (ChatGPT Code Interpreter, OpenHands) уже работают в изолированных средах, но этого всё равно недостаточно.
  • Итог: вместо новой «ОС для ИИ» нужно чёткое управление правами и данными; VM лишь метафора для этой задачи.

Seedbox Lite: A lightweight torrent streaming app with instant playback (github.com)

seedbox-lite — лёгкий торрент-медиацентр «всё в одном».
Склонируйте репозиторий, запустите docker-compose up, и получите:

  • qBittorrent — закачка/раздача
  • Jellyfin — потоковое видео/аудио
  • Jackett — поиск торрентов
  • FlareSolverr — обход Cloudflare
  • FileBrowser — файловый менеджер

Всё упаковано в один docker-compose.yml, занимает минимум ресурсов и работает на любом железе с Docker.

by redbell • 29 августа 2025 г. в 15:18 • 98 points

ОригиналHN

#docker#qbittorrent#jellyfin#jackett#flaresolverr#filebrowser#bittorrent#github

Комментарии (51)

  • Проект SeedBox Lite позиционируется как «образовательный», но сопровождается смехотворным легальным дисклеймером и скриншотом Marvel-фильма, что вызывает насмешки.
  • По коду заметны следы генерации ИИ: шаблонная аутентификация, бесполезные комментарии в Dockerfile.
  • Клиент фактически является «leech-only»: есть скрипт verify-no-uploads.js, гарантирующий нулевой сид.
  • Пользователи критикуют нарушение принципов торрент-сети (последовательное скачивание, отсутствие раздачи) и отмечают, что такие клиенты попадают в чёрные списки.
  • Проект не решает проблему совместимости с TV-приставками (Jellyfin уже на Roku/LG) и вызывает вопросы о целесообразности серверной части.

The Deletion of Docker.io/Bitnami (community.broadcom.com) 🔥 Горячее 💬 Длинная дискуссия

  • Отложено: удаление каталога docker.io/bitnami перенесено на 29 сентября.
  • Браун-ауты: 28 авг, 2 и 17 сентября по 10 образов будут недоступны 24 ч.
  • С 28 августа новые образы и Helm-чарты больше не публикуются в Docker Hub; исходники остаются на GitHub.

Что меняется

Образы и чарты переезжают в Bitnami Legacy; для продолжения работы обновите CI/CD и кластеры.

Как действовать

  1. Bitnami Secure Images (BSI) — рекомендованный путь; часть бесплатна только для dev/test, продакшен требует подписки.
  2. Bitnami Legacy Registry — временное решение.

BSI предлагает как обновлённые Debian-образы, так и новые Photon Linux hardened (совместимы с теми же Helm-чартами).

by zdkaster • 28 августа 2025 г. в 04:37 • 320 points

ОригиналHN

#docker#bitnami#helm#oci#debian#linux#apache-2#github#broadcom#opensource

Комментарии (213)

  • Broadcom/Bitnami прекращают публикацию готовых образов в публичных регистри, оставляя только исходники под Apache-2, и требуют платной подписки для OCI-хостинга.
  • Пользователи обвиняют компанию в «оркловом» повороте: монетизация на чужом open-source, отсутствие вклада, резкое отключение «доброй воли».
  • Многие рады уходу Bitnami: образы считаются перегруженными, с непонятными скриптами и сложной кастомизацией.
  • Обсуждаются альтернативы — Minimus, Chainguard, StageX, официальные образы; возникают вопросы о судьбе Helm-чартов и совместимости.
  • Кто-то уже мигрировал, кто-то зеркалирует; другие предлагают форкнуть репозиторий и собирать образы самостоятельно.

Show HN: Meetup.com and eventribe alternative to small groups (github.com)

Cactoide — мобильная open-source платформа для RSVP и управления мероприятиями.
Альтернатива Meetup.com и Eventbrite для малого бизнеса и небольших групп.

  • GitHub: polaroi8d/cactoide
  • Лицензия: MIT
  • Стек: Go, PostgreSQL, React Native (iOS/Android), Tailwind CSS
  • Функции
    • Создание/редактирование событий
    • Подтверждение участия (RSVP)
    • Push-уведомления
    • QR-коды на входе
    • Ограничение по билетам
    • Экспорт списков в CSV
  • Установка
    git clone https://github.com/polaroi8d/cactoide.git
    cd cactoide
    docker-compose up
    
  • Вклад: присылайте PR и issues.

by orbanlevi • 27 августа 2025 г. в 20:53 • 88 points

ОригиналHN

#go#postgresql#react-native#tailwind-css#docker#open-source#self-hosted#rsvp#github

Комментарии (48)

  • Meetup.com критикуют за цену ($180/год) и старый UI, но хвалят за базу участников и дискавери.
  • Facebook/WhatsApp/Telegram используют бесплатно, но с плохим поиском и рассылками.
  • Punchbowl, Luma, Partiful — удобные, но закрытые и собирают данные.
  • Появляются открытые альтернативы: Mobilizon (федеративный), Cactoide (self-host, open-source, без регистрации).
  • Основной барьер для новых платформ — отсутствие накопленной базы участников, а не функционал.

Kiwi.com flight search MCP server (mcp-install-instructions.alpic.cloud)

Как создать инструкцию по установке MCP-сервера

  1. Определите тип сервера

    • stdio – локальный процесс.
    • sse – удалённый HTTP-эндпоинт.
  2. Соберите метаданные

    • Название, описание, автора, ссылку на репозиторий.
    • Требования: Node.js, Python, Docker и т.д.
    • Порт (для SSE), путь к исполняемому файлу (для stdio).
  3. Сформируйте claude_desktop_config.json
    Пример stdio:

    {
      "mcpServers": {
        "my-server": {
          "command": "node",
          "args": ["build/index.js"],
          "env": { "API_KEY": "xxx" }
        }
      }
    }
    

    Пример SSE:

    {
      "mcpServers": {
        "my-server": {
          "url": "http://localhost:3000/sse",
          "headers": { "Authorization": "Bearer xxx" }
        }
      }
    }
    
  4. Сгенерируйте инструкцию

    • Установите зависимости (npm i, pip install -r requirements.txt).
    • Скопируйте claude_desktop_config.json в %APPDATA%\Claude\ (Win) или ~/Library/Application Support/Claude/ (macOS).
    • Перезапустите Claude Desktop.
  5. Проверьте работу
    Откройте Claude → шестерёнка → Developer → MCP → убедитесь, что сервер “Connected”.

  6. Опубликуйте
    Добавьте README.md с шагами выше и примером конфига.

by Eldodi • 27 августа 2025 г. в 15:56 • 78 points

ОригиналHN

#nodejs#python#docker#json#sse#api#cli#npm#cloud

Комментарии (82)

  • Пользователи хотят не просто «забронировать», а исследовать: «покажи самые дёшевые окна в Токио за 3 месяца».
  • Все сходятся, что полностью автономное бронирование пока ненадёжно: доверие к ИИ низкое, цены скачут, а условия договора надо принимать вручную.
  • MCP-серверы рассматриваются как новая «AI-API» — удобно для агентов, но бизнес может быстро закрыть доступ, если это ударит по рекламе и контролю.
  • Kiwi и прочие агрегаторы могут зарабатывать на самой продаже билетов и страховках, а не на рекламе, но риски покупки у посредников остаются.
  • Пока что MCP-инструменты лучше работают как «умный поиск с последующим подтверждением человека», а не как полностью автономный консьерж.

Running our Docker registry on-prem with Harbor (dev.37signals.com)

Мы перенесли Docker-реестр в собственный дата-центр на Harbor, отказавшись от Docker Hub и ECR.
Причины: счета за лицензию и трафик, 45-секундные задержки деплоя, риски утечек, лимиты API.

Критерии нового решения: надёжность, скорость, простота, open-source.
Выбрали Harbor: богаче функций, чем «голый» distribution, ставится через docker-compose.

v1-дизайн

  • Хранилище: S3-совместимый Pure FlashBlade.
  • Две независимые копии в Ashburn и Chicago (пока без HA PostgreSQL/Redis).
  • Политики очистки для экономии места.

Минимальные права на бакет
s3:AbortMultipartUpload, DeleteObject, GetBucketLocation, GetObject, ListBucket, ListBucketMultipartUploads, ListMultipartUploadParts, PutObject

harbor.yml (фрагмент)

hostname: "#{node['fqdn']}"
http: { port: 80 }
data_volume: /data
storage_service:
  s3:
    bucket: docker-registry-bucket
    accesskey: "#{bucket_credentials['access_key']}"
    secretkey: "#{bucket_credentials['secret_key']}"
    regionendpoint: "https://purestorage.#{node['domain']}"
metric: { enabled: true, port: 9090, path: /metrics }

Конфиг разворачивается Chef на выделенных нодах, SSL-терминация на F5.

by airblade • 27 августа 2025 г. в 12:10 • 138 points

ОригиналHN

#docker#harbor#s3#postgresql#redis#chef

Комментарии (59)

  • Harbor удобен: SSO, Terraform-провайдер, но нет API для токена при docker login, приходится создавать robot-аккаунты.
  • Ресурсы 32 CPU / 64 GB RAM выглядят завышенными для 32 000 пуллов за два месяца; скорее всего, просто оверпровижн.
  • Многие используют один «источник истины» Harbor + региональные кэши или просто registry в режиме pull-through-cache.
  • У Harbor нет OIDC-доступа из GitHub Actions, апгрейды ручные; Nexus проще для Maven/NuGet, но тоже прожорлив и иногда не чистит блобы.
  • ECR в AWS дешёв (~3 $/мес) и без хостинга, но не on-prem; для S3-подобного хранилища советуют SeaweedFS, Garage или Pure Flashblade.

Agent-C: a 4KB AI agent (github.com)

agent-c — сверхлёгкий AI-агент от bravenewxyz.
Проект открыт, код на GitHub.

by liszper • 25 августа 2025 г. в 10:43 • 104 points

ОригиналHN

#c#curl#openrouter#ollama#docker#python#rust#llm#agent#upx

Комментарии (78)

  • 4 КБ-агент на Си вызывает OpenRouter через curl и исполняет команды, что вызывает шутки о «русской рулетке» и безопасности.
  • Критика: сжатие UPX, отсутствие проверок ошибок, жёстко заданные константы, popen вместо libcurl.
  • Лицензии обсуждают от «Copy me» до CC0, BSD, Apache, GPL и WTFPL.
  • Некоторые предлагают запускать под отдельным пользователем или в Docker, локально через Ollama/LM Studio.
  • Промпт заставляет агента говорить как Наполеон Динамит («Gosh!», «Sweet!»).
  • Сравнивают с Rust-версией «alors» и оффлайн-Python-примером на 44 строки.

Ghrc.io appears to be malicious (bmitch.net) 🔥 Горячее

ghrc.io — опечатка к ghcr.io — маскируется под реестр контейнеров, но крадёт GitHub-токены.

Как работает атака

  • Обычные пути (/, /404) возвращают стандартную страницу nginx.
  • API-путь /v2/ отдаёт 401 Unauthorized и заголовок
    www-authenticate: Bearer realm="https://ghrc.io/token".
    Docker, containerd, podman и Kubernetes-рантаймы, получив этот заголовок, отправляют свои учётные данные на ghrc.io/token.

Когда утекут токены

  • docker login ghrc.io
  • GitHub Action docker/login-action с registry: ghrc.io
  • Секрет Kubernetes для ghrc.io

Простой docker pull ghrc.io/… без логина не передаёт токенов.

Что делать

Если вы когда-либо логинились на ghrc.io:

  1. Смените пароль GitHub.
  2. Отзовите все PAT и OAuth-токены.

by todsacerdoti • 24 августа 2025 г. в 23:27 • 352 points

ОригиналHN

#docker#kubernetes#github#nginx#containerd#podman#oauth

Комментарии (58)

  • Пользователи обсуждают, что домен-ошибка ghrc.io (вместо правильного ghcr.io) уже зарегистрирован и может использоваться для атак.
  • Основная уязвимость: GitHub Container Registry всё ещё требует «классические» токены, которые нельзя ограничить по областям, усиливая риск утечки.
  • Многие открытые проекты уже ошибочно используют ghrc.io в конфигах CI/CD, что делает атаку массовой.
  • Рекомендации: отказаться от сокращений вроде «ghcr», использовать DNSSEC/SSO-короткие токены, контактировать abuse@dynadot.com для блокировки злоумышленного домена.

We put a coding agent in a while loop (github.com) 🔥 Горячее 💬 Длинная дискуссия

RepoMirror — сервис для зеркалирования репозиториев GitHub.

  • Как работает: клонирует репозитории и обновляет их по расписанию.
  • Форматы: поддерживает Git, LFS, релизы, issues, PR, wiki.
  • Доступ: публичные и приватные репы (OAuth-токен).
  • Скорость: CDN, параллельные загрузки, дедупликация.
  • API: REST/Webhook для управления зеркалами.
  • Статистика: размер, частота обновлений, ошибки.
  • Архив: хранение старых снапшотов.
  • CLI: repomirror sync <owner>/<repo>.
  • Самостоятельный хостинг: Docker-образ + конфиг repomirror.yml.

by sfarshid • 24 августа 2025 г. в 16:18 • 382 points

ОригиналHN

#github#docker#rest#webhook#cli#oauth#cdn

Комментарии (271)

  • Появится новая «грязная» работа: разгребать legacy-код, порождённый «vibe-coding’ом» продажниками.
  • Агенты в цикле успешно портировали код, но иногда убивали себя pkill’ом, чтобы выйти из бесконечного цикла.
  • Короткие промпты (≈100 слов) работают лучше 1500-словных «улучшений» — агенты быстрее и умнее.
  • Без чётких тестов и стиля код «почти работает», но превращается в неподдерживаемый slop.
  • Стоимость: Sonnet-агент ≈ $10,5/час; без лимитов легко проснуться с огромным счётом.

DeepWiki: Understand Any Codebase (aitidbits.ai)

DeepWiki — сервис от создателей Devin, который мгновенно превращает любой GitHub-репозиторий в интерактивную вики.
Просто замените github.com на deepwiki.com и задавайте вопросы без чтения кода.

8 практических приёмов

  1. Разведка репозитория
    За 2 минуты получаю архитектуру, ключевые модули и точки расширения.

  2. Контекст для агентов
    Копирую сводку в Claude/Cursor, чтобы сразу писать релевантный код.

  3. Быстрый старт
    Генерирую README-инструкции по запуску без ручного изучения docker-compose.yml.

  4. Поиск «кухонных» деталей
    Уточняю, где хранятся env-переменные, какие скрипты npm run доступны и т.д.

  5. Сравнение форков
    Загружаю две вики и спрашиваю: «Что добавлено в форке X по сравнению с оригиналом?»

  6. Онбординг новичков
    Раздаю ссылку на вики вместо 30-минутных экскурсий по коду.

  7. Проверка зависимостей
    Запрашиваю список уязвимых пакетов и актуальные версии.

  8. Документация API
    Прошу сгенерировать примеры вызовов REST-endpoints прямо из кода.

Ограничения

  • Публичные репозитории работают сразу.
  • Приватные — через GitHub OAuth с нужными правами.
  • Нет поддержки SVN и Mercurial.

DeepWiki экономит часы при изучении чужого кода и делает LLM-агентов значительно точнее.

by childishnemo • 24 августа 2025 г. в 07:23 • 205 points

ОригиналHN

#github#docker#npm#rest#large-language-models#code-analysis

Комментарии (36)

  • DeepWiki вызывает противоречивые ощущения: кто-то хвалит автодиаграммы и «глубокие» ответы, кто-то ругает за неточности и «AI-slop».
  • Пользователи LibreOffice, PureLB и других проектов жалуются на ложную документацию и баг-репорты, которые тратят время мейнтейнеров.
  • Некоторые считают, что диаграммы слишком абстрактны и не привязаны к реальному коду.
  • Появились попытки сделать open-source/локальные аналоги, но официального способа «выключить» DeepWiki для своего репозитория пока нет.

Turning a Decommissioned iPhone into a UniFi Protect Camera (caseyliss.com)

Как превратить старый iPhone в камеру UniFi Protect

Переехав на экосистему UniFi, я захотел добавить в Protect ещё одну камеру. Под рукой оказался старый iPhone — компактный «мини-ПК» с хорошей камерой. Официально Protect работает только с UniFi-камерами, но поддерживает сторонние устройства через ONVIF.

В App Store не нашёл приложений, которые напрямую транслируют по ONVIF, зато понял: ONVIF лишь «рукопожатие», а сам поток идёт через RTSP. Значит, схема такая:

iPhone (RTSP) → ONVIF-прокси → Protect
  1. RTSP-поток с iPhone
    Установил IP Camera Lite (бесплатный тестовый режим). Настроил поток:
    rtsp://admin:admin@192.168.17.189:8554/live
    Проверил через ffplay — картинка и звук пошли.

  2. ONVIF-прокси в Docker
    Нашёл на Reddit упоминание контейнера rtsp-to-onvif. Поднял его на Synology, поправил config.yaml:

    • интерфейс eth4 (10 GbE-адаптер);
    • IP и путь RTSP-потока;
    • точные width/height, взятые из вывода ffplay.
  3. Добавление в Protect
    В веб-интерфейсе Protect включил «Discover 3rd-Party Cameras», увидел новое устройство, нажал Adopt, ввёл admin/admin. После донастройки камера появилась в списке.

Результат: iPhone теперь полноценная камера Protect, а Surveillance Station и Scrypted можно отключить.

by ingve • 24 августа 2025 г. в 06:13 • 106 points

ОригиналHN

#unifi#onvif#rtsp#docker#synology#ios

Комментарии (43)

  • Пользователь подключил iPhone к UniFi Protect, но не раскрыл, как победил «бесконечный спиннер» и зависание видео.
  • Сообщество разочаровано отсутствием деталей и подозревает, что сам автор уже не помнит, что именно помогло.
  • UniFi Protect не умеет в live-аудио и детекцию людей/машин на сторонних камерах без отдельного «AI-устройства» за ≈ $200.
  • Старые iPhone как 24/7-камеры критикуют за перегрев и разбухание батарей; предлагают либо удалить аккумулятор, либо купить $30–50 камеру.
  • Кто-то пошутил, что фанаты UniFi — «веганы техно-мира»: всем обязательно расскажут, что у них UniFi.

Nitro: A tiny but flexible init system and process supervisor (git.vuxu.org)

nitro — миниатюрный, но гибкий init и супервизор процессов.

Назначение

  • init для встраиваемых, десктопных и серверных Linux-систем
  • initramfs, контейнеров (Docker, Podman, LXC, K8s)
  • непривилегированный демон на POSIX

Конфигурация — каталог скриптов (по умолчанию /etc/nitro).

Требования

  • Unix-сокеты
  • tmpfs или записываемый /run

Плюсы

  • Всё состояние в RAM, работает на read-only root.
  • Событийная модель без polling.
  • Ноль аллокаций и ограниченных fd во время работы.
  • Один статический бинарник + опциональный nitroctl.
  • Сервисы — просто каталоги со скриптами, компиляция не нужна.
  • Перезапуск, логирование, цепочки логов, независимость от времени.
  • Запускается на FreeBSD через /etc/ttys.

Сервис

Каждый подкаталог /etc/nitro может содержать:

  • setup — предзапуск, должен завершиться с 0.
  • run — основной процесс (не должен завершаться).
  • finish — пост-обработка, получает код выхода и сигнал.
  • log → symlink на другой сервис для логов.
  • down — не поднимать автоматически.
  • Имена ≤ 64 символов, без /, ,, переводов строк.
  • Каталоги с @ в конце игнорируются (параметризованные сервисы).

Специальные сервисы

  • LOG — лог по умолчанию.
  • SYS/setup — перед стартом остальных.
  • SYS/finish — перед остановкой всех.
  • SYS/final — после завершения всех процессов.
  • SYS/fatal — при критической ошибке.
  • SYS/reincarnate — вместо выключения (полезно для initramfs).

Параметризованные сервисы

Каталог foo@ + symlink foo@bar → запуск foo@/run bar.
nitroctl up foo@baz запустит foo@/run baz даже без symlink.

Жизненный цикл

  1. Подъём: SYS/setup, затем все непомеченные down.
  2. Работа: перезапуск при падении (пауза 2 с при частых падениях).
  3. Останов: nitroctl Shutdown/RebootSYS/finish → SIGTERM (7 с) → SIGKILL → SYS/final → reboot/off/exit.

Управление nitroctl

nitroctl [команда] [сервис]

  • list — состояния, pid, uptime, код выхода.
  • up/down — запустить/остановить (SIGTERM или down-signal).
  • start/stop/restart — с ожиданием успеха.
  • p/c/h — SIGSTOP/SIGCONT/SIGHUP.

by todsacerdoti • 22 августа 2025 г. в 19:06 • 222 points

ОригиналHN

#linux#init#process-supervision#containers#docker#podman#lxc#kubernetes

Комментарии (82)

  • Участники сравнивают Nitro с runit, s6, dinit и systemd: общие черты — минимализм, отсутствие декларативных зависимостей, ручная настройка порядка запуска.
  • Некоторые считают Nitro скорее «голым» супервизором процессов, чем полноценной init-системой из-за отсутствия управления ресурсами, пользователями и параллельного запуска.
  • Обсуждаются контейнерные кейсы: одни считают наличие init внутри контейнера избыточным, другие — необходимым при форке процессов.
  • Упоминаются альтернативы: собственные минимальные init-системы на C и Rust, а также новый модульный подход в NixOS.
  • Критика имени: «nitro» уже занято AWS Nitro, Nitro.js и другими проектами; предлагают сменить название.

Leaving Gmail for Mailbox.org (giuliomagnifico.blog) 🔥 Горячее 💬 Длинная дискуссия

Покинул Gmail ради Mailbox.org.
С 2007 г. Google получал мои письма «бесплатно», но в 2025-м решил заплатить деньгами, а не приватностью: почта в открытом виде, доступ спецслужб США и пр.

Потребности: только базовый обмен письмами (≈ 50/день), без заметок, календарей и пр.
Рассматривал Proton и Tutanota (E2E-шифрование), но они требуют родных клиентов, а я привык к Apple Mail. Остался Mailbox.org:

  • €2,50/мес (оплата за год) = 10 ГБ почта + 5 ГБ облако;
  • можно докупать до 100 ГБ по €0,20/ГБ;
  • PGP встроен или внешний;
  • без автопродления.

Зарегистрировал giuliomagnifico@mailbox.org, заплатил €3 за пробный месяц. Веб-интерфейс лаконичнее Gmail, мобильный тоже удобен. Папки вместо меток — прямо в Apple Mail.

Перенёс всё через imapsync на домашнем сервере:

docker compose run --rm imapsync imapsync \
  --host1 imap.gmail.com --user1 … --password1 … --ssl1 \
  --host2 imap.mailbox.org --user2 … --password2 … --ssl2 \
  --automap --syncinternaldates --skipsize \
  --exclude "\[Gmail\]/All Mail" \
  --regextrans2 "s/\[Imap\]\/Archive/Archive/"

Процесс занял ≈ 3 ч, 11 201 письмо. Gmail теперь можно стереть.

by giuliomagnifico • 22 августа 2025 г. в 17:41 • 274 points

ОригиналHN

#mailbox.org#gmail#protonmail#tutanota#imapsync#pgp#imap#docker#fastmail#postfix

Комментарии (286)

  • Пользователи массово уходят из Gmail ради диверсификации и приватности, выбирая Fastmail, Mailbox.org, ProtonMail, Tutanota, Zoho, Migadu, Purelymail и др.
  • Fastmail хвалят за надёжность, быстрый импорт и поддержку собственного домена; Mailbox.org — за PGP и IMAP, но ругают спам-фильтр и UI.
  • Почти все письма всё равно могут попасть на серверы Google/Microsoft, а «настоящий» E2E-шифрование работает лишь внутри одного провайдера (Proton↔Proton и т.д.).
  • Самостоятельный хостинг (Postfix/Dovecot, Stalwart, mox) даёт полный контроль, но требует заморочек с DKIM/SPF и репутацией IP.
  • Ключевой совет: регистрируйте собственный домен — тогда смена почтового сервиса не заставит менять адрес.

Static sites with Python, uv, Caddy, and Docker (nkantar.com)

Стек для Python-статики: uv + Caddy + Docker

Я почти полностью перешёл на uv — он быстрый, удобен и сам ставит нужный Python. Статические сайты собираю Python-скриптами, а раздаю через Caddy в многоступенчевом Docker-контейнере.

Пример на sus

Dockerfile (сжато):

FROM ghcr.io/astral-sh/uv:debian AS build
WORKDIR /src
COPY . .
RUN uv python install 3.13
RUN uv run --no-dev sus

FROM caddy:alpine
COPY Caddyfile /etc/caddy/Caddyfile
COPY --from=build /src/output /srv/
  1. Берём образ с uv, копируем код.
  2. uv ставит Python 3.13 и зависимости, запускает sus, который кладёт сайт в /output.
  3. Вторая стадия — лёгкий Caddy. Копируем конфиг и готовые статические файлы в /srv.

Caddyfile минимален:

:80
root * /srv
file_server

Запуск:

docker build -t sus .
docker run -p 80:80 sus

Итог: быстрая сборка, маленький образ, автоматический HTTPS при нужном домене.

by indigodaddy • 22 августа 2025 г. в 15:15 • 124 points

ОригиналHN

#python#uv#caddy#docker#dockerfile#sus#coolify#nginx#apache#https

Комментарии (75)

  • Почти все комментаторы считают выбранный стек (Docker, uv, Caddy, Coolify) избыточным для статического личного сайта.
  • Критика сводится к тому, что достаточно «HTML → Nginx/Apache» или даже «HTML → FTP».
  • Автор отвечает: хотел остаться в экосистеме Coolify ради единого CI/CD и «zero-SSH» деплоя.
  • Некоторые предлагают минимальные Dockerfile (nginx:alpine + COPY) или вообще отказаться от контейнеров.
  • Обсуждение выродилось в дискуссию о «культуре овер-инжиниринга» и самоучках, использующих сложные инструменты без понимания базовых.

Don't pick weird subnets for embedded networks, use VRFs (blog.brixit.nl)

Не выбирайте странные подсети для встраиваемых сетей, используйте VRF

Встраиваемая сеть — это, например, переносная стойка с видео- и сетевым оборудованием, которую подключают к сети площадки. Устройства внутри стойки должны общаться между собой, но перенастраивать их IP при каждой смене локации неудобно. Обычно добавляют маршрутизатор с NAT и используют простую подсеть вроде 10.0.0.0/24. Проблема возникает, если внешняя сеть площадки использует ту же подсеть — возникают конфликты. Люди начинают выбирать «редкие» диапазоны (172.16.42.0/24, 10.11.12.0/24), но конфликты всё равно случаются.

IPv6-решение
Использовать link-local адреса fe80::/64 и протоколы обнаружения (avahi). Маршрутизатор раздаёт маршруты, и внутренние устройства получают доступ в интернет. Недостаток: большинство встраиваемых устройств (аудио- и видеомикшеры) не поддерживают IPv6. Аналогичный IPv4-механизм APIPA (169.254.0.0/16) не даёт шлюза и интернета.

Универсальное решение
Вместо экзотических подсетей ограничьте «странность» настройками маршрутизатора. Используйте VRF (Virtual Routing and Forwarding), чтобы изолировать внутреннюю сеть и избежать конфликтов, не меняя адресацию устройств.

by LorenDB • 21 августа 2025 г. в 12:36 • 76 points

ОригиналHN

#vrf#ipv6#ipv4#docker#aws#vlan#nat#routing

Комментарии (22)

  • Docker случайно выбирает подсеть RFC1918, которая может конфликтовать с корпоративной сетью; это частая проблема в AWS и вызывает головную боль при отладке.
  • IPv6-поддержка всё ещё редка, поэтому обсуждают альтернативы: IPv4 link-local, CGNAT 100.64.0.0/10, «benchmark» 198.18.0.0/15 и даже выделение «мертвой» подсети.
  • Некоторые просто используют VRF или VLAN, чтобы изолировать трафик и избежать конфликтов, хотя это требует понимания маршрутизации.
  • Участники сомневаются, что IPv4 исчезнет скоро: у провайдеров его много, а стимул перехода на IPv6 минимален без внешнего давления.

Using Podman, Compose and BuildKit (emersion.fr) 🔥 Горячее

Для сборки Docker Compose-проекта без Docker используются Podman, Docker Compose CLI и BuildKit.

Проблемы

  • Podman предлагает два варианта:
    – официальный docker-compose, но без BuildKit (нет additional_contexts);
    podman-compose, но без !reset, configs и т.д.
  • Постоянно догонять новые фичи Docker Compose не хочется.

Решение

  1. Запускаем официальный docker-compose через Podman

    pacman -S docker-compose docker-buildx
    systemctl --user start podman.socket
    docker context create podman --docker host=unix://$XDG_RUNTIME_DIR/podman/podman.sock
    docker context use podman
    

    Compose автоматически поднимает контейнер buildx_buildkit_default.

  2. Собственный BuildKit-демон (systemd)

    pacman -S buildkit
    systemctl --user start buildkit.service
    docker buildx create --name local unix://$XDG_RUNTIME_DIR/buildkit/rootless
    docker buildx use local
    
  3. Убираем демон: Bake → Bakah

    • docker buildx bake --print >bake.json – экспорт в JSON.
    • Bakah превращает JSON в вызовы Buildah (без демона).
    docker buildx bake --print >bake.json
    bakah --file bake.json
    

Bakah пока без HCL, переменных и прочих продвинутых фич, но достаточно для сложных проектов.

by LaSombra • 21 августа 2025 г. в 10:54 • 288 points

ОригиналHN

#podman#docker-compose#buildkit#docker#buildah#systemd

Комментарии (106)

  • Podman предлагает альтернативы Docker-Compose: kube-файлы, systemd-интеграцию и Quadlets, но у compose-режима есть баги (зависимости «убивают» общие сервисы).
  • Многие разработчики всё же возвращаются к Docker/Compose или OrbStack/Colima из-за привычного UX и меньшей борьбы.
  • Для продакшена без Kubernetes рекомендуют Docker Swarm или Quadlets, которые «встраиваются» в systemd.
  • Rootless-режим в Podman работает «из коробки», тогда как в Docker требует ручной настройки.
  • Поддержка multi-arch-сборок и BuildKit в Podman есть, но сложнее, чем у Docker.

Show HN: PlutoPrint – Generate PDFs and PNGs from HTML with Python (github.com)

PlutoPrint — библиотека Python для генерации PDF и изображений из HTML, работает на базе PlutoBook.
Установка: pip install plutoprint.

Основные возможности

  • HTML → PDF/PNG/JPEG — одна строка кода.
  • CSS/JS — полная поддержка современных стандартов.
  • Шаблоны — Jinja2, Django, Flask и др.
  • Пакетная обработка — асинхронный режим.
  • Docker-образ для быстрого деплоя.

Быстрый старт

from plutoprint import PlutoPrint

pp = PlutoPrint()
pp.html_to_pdf("report.html", "report.pdf")

Параметры

  • format: pdf, png, jpeg
  • width/height, orientation, margin, header/footer, dpi

Примеры

  • Отчёты, чеки, инвойсы, почтовые этикетки, скриншоты страниц.

Лицензия

MIT.

by sammycage • 20 августа 2025 г. в 20:37 • 133 points

ОригиналHN

#python#jinja2#django#flask#docker#pdf#html#css#javascript#github

Комментарии (30)

  • Пользователи сравнивают PlutoPrint с WeasyPrint, Puppeteer и Typst: новый движок на C++ обещает быть быстрее и легче по памяти, но покрывает не весь CSS.
  • Рекомендуют прогнать тесты с print-css.rocks и проверить прод-качество (проблемы с thead, page-break-inside и т.д.).
  • Puppeteer даёт полную поддержку веб-платформы, но требует Chromium и много RAM, особенно для 200-500-страничных PDF.
  • Есть вопросы по flexbox, SVG, оглавлению, поддержке Markdown и крэшу на macOS.
  • Несколько человек рассматривают PlutoPrint как замену wkhtmltopdf и fpdf, автор открыт к спонсорству.

Modern CI is too complex and misdirected (2021) (gregoryszorc.com) 💬 Длинная дискуссия

Современные CI-платформы стали мощнее, но и сложнее. GitHub Actions, GitLab и др. предлагают YAML-конфиги с шаблонами, условиями, секретами, кешем, артефактами, экосистемой actions — в итоге CI превращается в полноценную систему сборки.

Базовые примитивы (задачи, зависимости, шаги) не отличаются от Makefile-ов, а добавление распределённого запуска и кеша делает CI почти идентичным современным билд-системам вроде Bazel.

Сложность растёт:

  • YAML становится языком программирования.
  • Пользователи копируют чужие конфиги, не понимая, что происходит.
  • Платформы закрываются на собственных экосистемах, создавая vendor lock-in.

Итог: вместо простого «удалённого запуска тестов» мы получили громоздкую систему, где границы между CI и build-системой стёрлись.

by thundergolfer • 20 августа 2025 г. в 03:30 • 170 points

ОригиналHN

#github-actions#gitlab#yaml#ci-cd#bazel#docker#build-systems#vendor-lock-in#bash#makefile

Комментарии (159)

  • Участники сходятся во мнении, что современные CI-системы слишком сложны и слишком «далеко» от разработчика, превращаясь в гибрид билд-системы и платформы.
  • Многие предлагают упрощение: локально-переносимые скрипты (Bash, Justfile, build.bash), контейнеры или минималистичные движки вроде builds.sr.ht, Drone OSS, Buildbot, Linci.
  • Критика YAML-конфигураций и SaaS-зависимости: GitHub Actions «застрял», GitLab CI мощнее, но всё равно требует «платформы».
  • Идея «CI должен быть просто расширением билд-системы» (Bazel, Nix, Dagger) звучит, но требует единого «Steve Jobs билд-систем», а не новых технологий.
  • Итог: пока нет серебряной пули; кто хочет простоты — пишет ./build.sh и запускает где угодно, кто хочет мощности — мирится с уровнем сложности текущих CI.

I run a full Linux desktop in Docker just because I can (howtogeek.com)

Запускаю полноценный Linux-десктоп в Docker — просто потому что могу

Автор: Ali Haider

Docker считается исключительно для CLI-сервисов, но я решил разместить в контейнере полноценный графический Linux. Зачем? Из чистого любопытства и желания проверить границы технологии.

Почему не VirtualBox или dual-boot?
Хотелось получить Linux, который живёт рядом с Windows без перезагрузок и разделов. Казалось, что за пару дней подниму GNOME/KDE в контейнере, но эксперимент затянулся на четыре дня и превзошёл все ожидания.

Что получилось
На Windows 10 через Docker удалось запустить полноценный рабочий стол. Проект стал жёстким crash-курсом по X11, PulseAudio, GPU-пасsthrough и сетевым трюкам, но в итоге всё работает: окна Linux-приложений появляются поверх Windows, звук идёт, файлы доступны.

by redbell • 19 августа 2025 г. в 11:39 • 159 points

ОригиналHN

#docker#linux#gnome#kde#x11#pulseaudio#gpu-passthrough#lxc#systemd#oci

Комментарии (96)

  • Участники делятся опытом запуска полноценных Linux-десктопов в Docker/LXC: Arch + noVNC, Selkies + KDE, linuxserver/webtop, SkiffOS.
  • Обсуждают производительность: 70 % от нативной при web-VNC, лучше через Sunshine или xrdp с аппаратным ускорением.
  • Появляются идеи: эфемерные браузеры через Tailscale+Mullvad, Twitch/Discord-Plays-Pokemon, тесты из разных стран.
  • Кто-то предпочитает LXC/LXD или systemd-nspawn, чтобы не мучиться с systemd внутри OCI-контейнеров.
  • Вспоминают исторические проекты: Jess Frazelle, Samsung DeX, WSL2 + MobaXterm, MATLAB-контейнер.

Show HN: Whispering – Open-source, local-first dictation you can trust (github.com) 🔥 Горячее

Whispering — микросервис в репозитории epicenter-so/epicenter, каталог apps/whispering.
Предназначен для быстрого распознавания речи через OpenAI Whisper: принимает аудио-файл, возвращает текст.

Ключевые файлы

  • main.py — FastAPI-endpoint /transcribe (POST, multipart/form-data).
  • requirements.txtfastapi, uvicorn, openai-whisper.
  • Dockerfile — лёгкий образ на python:3.11-slim, порт 8000.

Запуск

docker build -t whispering .
docker run -p 8000:8000 whispering

или

pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000

Использование

curl -F "file=@audio.mp3" http://localhost:8000/transcribe

Ответ: {"text": "распознанный текст"}.

by braden-w • 18 августа 2025 г. в 16:52 • 532 points

ОригиналHN

#python#fastapi#uvicorn#openai-whisper#docker#sqlite#local-first#speech-recognition#microservices#github

Комментарии (135)

  • Пользователи делятся «костыльными», но рабочими схемами диктовки на Linux и обсуждают, как локально запускать Whisper/Parakeet без облаков.
  • Epicenter продвигает идею «local-first»: plaintext + SQLite, прозрачные данные, открытый код, совместимые инструменты.
  • Постоянно сравнивают альтернативы (VoiceInk, Superwhisper, Wispr Flow, Willow, whishper, Vibe) и жалуются на подписки, задержки, качество и отсутствие разметки динамиков.
  • Разработчик Epicenter уже добавляет whisper.cpp и планирует Parakeet; просит помощи в PR для ускорения.

Vibe coding tips and tricks (github.com)

Основы

  • Определите цель: чётко сформулируйте задачу перед генерацией кода.
  • Начинайте с README: описание проекта помогает ИИ и команде.
  • Используйте шаблоны: готовые структуры (FastAPI, React) экономят время.

Промпты

  • Контекст: указывайте язык, фреймворк, стиль (PEP8, camelCase).
  • Мелкие задачи: дробите фичи на куски по 50–100 строк.
  • Примеры: прикладывайте JSON-ответы или SQL-запросы.
  • Итерации: улучшайте код по одному аспекту за раз.

Рабочий процесс

  • Сессии: 30-минутные циклы «запрос-ревью-запуск».
  • Git-коммиты после каждого шага для отката.
  • Линтеры/тесты сразу: pytest, eslint, mypy.
  • Code Review: проверяйте всё, даже «очевидное».

Инструменты

  • Copilot Chat в IDE для быстрых правок.
  • Cursor / Windsurf для многофайлового рефакторинга.
  • Playwright для e2e-спек, сгенерированных из текста.
  • Docker для воспроизводимого окружения.

Качество

  • Типы: добавляйте аннотации (TypedDict, Pydantic).
  • Док-строки: пишите для всех публичных функций.
  • Тесты: покрывайте критические пути ≥80 %.
  • Логи: структурированные (structlog) для отладки.

Безопасность

  • Секреты: проверяйте .env и git history.
  • OWASP Top 10: сканируйте зависимости (pip-audit, npm audit).
  • RBAC: реализуйте роли и разрешения сразу.

Производительность

  • Профилирование: cProfile, py-spy для горячих точек.
  • Кеш: Redis для частых запросов.
  • CDN для статики фронтенда.

Деплой

  • CI/CD: GitHub Actions → Docker → ECS/Fargate.
  • Feature flags для постепенного релиза.
  • Мониторинг: CloudWatch + Grafana.

Советы

  • Не доверяйте 100 %: всегда читайте сгенерированный код.
  • Учитесь у ИИ: спрашивайте «почему так» для роста навыков.

by mooreds • 18 августа 2025 г. в 12:57 • 154 points

ОригиналHN

#fastapi#reactjs#pytest#eslint#mypy#docker#redis#aws#github

Комментарии (77)

  • Подавляющее большинство участников считает «vibe-coding» либо вредным, либо вообще не тем, что описано в документе.
  • Настоящий vibe-coding — это «не смотреть код, а принимать результат, если визуально работает»; любые советы «тщательно читайте код» противоречат самому термину.
  • Многие предпочитают писать чёткие спецификации и использовать LLM как «парного программиста», но подчёркивают, что это уже не «vibe», а обычная работа с AI.
  • Частый риск — накопление непонятного, неотрефакторенного кода и «отравление» контекста при изменении требований.
  • Итоговый совет большинства: «Don’t go full vibe» — даже при активном использовании LLM нужно понимать и контролировать результат.

ArchiveTeam has finished archiving all goo.gl short links (tracker.archiveteam.org) 🔥 Горячее

Как запустить ArchiveTeam Warrior

Это виртуальная машина для архивации сайтов. Работает на Windows, macOS, Linux через VirtualBox или VMware, не влияет на систему, использует лишь трафик и немного диска.

Быстрый старт (VirtualBox)

  1. Скачайте образ (357 МБ).
  2. VirtualBox → Файл → Импортировать → выбрать файл.
  3. Запустите ВМ; она обновится и предложит открыть браузер.

После запуска

  • Откройте http://localhost:8001/
  • Укажите имя для таблицы лидеров.
  • Выберите проект во вкладке «All projects» или оставьте «ArchiveTeam’s Choice» для автоматического выбора приоритетной задачи.

Goo-gl tracker
Загрузка…

by pentagrama • 17 августа 2025 г. в 17:46 • 384 points

ОригиналHN

#virtualbox#vmware#docker#archiveteam#wayback-machine#goo.gl#url#web-archiving#data-preservation

Комментарии (90)

  • ArchiveTeam (не Archive.org) спас 3,75 млрд коротких ссылок goo.gl и весь их контент (91 ТиБ) до отключения Google 25 августа.
  • Данные уже поступают в Wayback Machine; сами файлы WARC пока закрыты «access-restricted».
  • Участники просто запускали Docker-контейнер, перебирая пространство URL, чтобы не попасть под бан.
  • Поднимались идеи блокчейн/P2P-краулера и сравнение с CommonCrawl, но основная цель — предотвратить link rot.
  • Reddit и Twitter тоже архивировались (Pushshift, ArcticShift, AcademicTorrents), пока API не закрыли.

Wan – Open-source alternative to VEO 3 (github.com)

Wan2.2 — открытая генеративная модель для создания видео.
Репозиторий: Wan-Video/Wan2.2

  • Масштабируемость — работает от локального GPU до кластеров.
  • Качество — высокое разрешение, плавность, точность текста.
  • Гибкость — обучение, дообучение, инференс через PyTorch.
  • Форматы — MP4, GIF, WebM; выбор fps и разрешения.
  • API & CLI — простой запуск: wan2.2 generate --prompt "...".
  • Docker — готовый образ wanvideo/wan2.2:latest.
  • Лицензия Apache 2.0, коммерческое использование разрешено.

by modinfo • 17 августа 2025 г. в 05:00 • 190 points

ОригиналHN

#pytorch#docker#apache-2.0#gpu#nvidia#video-generation#lora#moe-architecture#github

Комментарии (31)

  • Wan2GP позволяет запускать модели Wan 2.1/2.2 на видеокартах всего 6 ГБ VRAM (Nvidia) и объединяет десятки вариантов моделей с LoRA-ускорением и активным Discord-сообществом.
  • Пользователи хвалят качество Wan 2.2: 27B «MoE»-архитектура (два 14B эксперта для разных уровней детализации), 5B-модель выдаёт 720p24 на RTX 4090/24 ГБ или двух 12 ГБ GPU.
  • Генерация 4-секундного видео Image-to-Video занимает 3–4 мин, апскейл до 4K — ещё 2–3 мин; изображения рендерятся за 20–40 с.
  • Участники спрашивают о бенчмарках видео-моделей, UI-обёртке «Obi» и высокопроизводительных инференс-фреймворках вроде vLLM для видео.
  • Некоторые критикуют название «Wan», спорят о корректности термина MoE и отмечают, что Replicate-версия дешевле и проще в использовании.

Vaultwarden commit introduces SSO using OpenID Connect (github.com)

Кратко о PR #3899
Добавлена поддержка SSO через OpenID Connect (OIDC) в Vaultwarden.

  • Что нового

    • Авторизация через внешний OIDC-провайдер (Keycloak, Azure AD, Google и др.).
    • Автоматическое создание/обновление пользователей при первом входе.
    • Настройка через переменные окружения: SSO_ENABLED, SSO_AUTHORITY, SSO_CLIENT_ID, SSO_CLIENT_SECRET.
    • Поддержка PKCE и offline_access для refresh-токенов.
  • Как использовать

    1. Указать параметры OIDC в .env.
    2. Включить SSO в админ-панели.
    3. Пользователи входят кнопкой «Login with SSO».
  • Ограничения

    • Только веб-клиент; мобильные/CLI пока без SSO.
    • Не работает с двухфакторной аутентификацией Vaultwarden (используйте MFA у провайдера).
  • Проверено

    • Keycloak, Auth0, Azure AD, Google Workspace.

PR готов к слиянию; дальнейшие улучшения (SAML, группы) в roadmap.

by speckx • 15 августа 2025 г. в 12:31 • 173 points

ОригиналHN

#openid-connect#sso#keycloak#azure-ad#google-workspace#auth0#vaultwarden#oidc#pkce#docker

Комментарии (91)

  • Внедрённый SSO в Vaultwarden в первую очередь нужен корпоративным и командным средам, где упрощает автоматическое добавление/удаление пользователей и управление доступом к коллекциям паролей.
  • Для личного или семейного использования польза минимальна: мастер-пароль всё равно требуется, а SSO не заменяет шифрование.
  • Многие админы некоммерческих и малых организаций рады возможности подключить единый OIDC-провайдер вместо ручного приглашения и отслеживания активных волонтёров/сотрудников.
  • Часть пользователей обеспокоена безопасностью: просят аудитов, контроля образов Docker и зависимостей.
  • SSO не отменяет мастер-пароль: он по-прежнему нужен для расшифровки хранилища, а SSO лишь аутентифицирует пользователя.

Enlisting in the Fight Against Link Rot (jszym.com)

Google закрывает goo.gl
В 2009-м сервис обещал «стабильность, безопасность, скорость». В июле 2024-го Google объявил, что через год все короткие ссылки исчезнут. Учёные предупреждали: короткие URL без открытых баз — это тихий геноцид памяти интернета.

Кто спасёт ссылки?
Archive Team — те же люди, что спасли Geocities, Yahoo! Answers и Yahoo! Groups. Они собирают карту всех ~3 млрд goo.gl-ссылок: заходят, фиксируют редирект, повторяют.

Как присоединиться

  1. Установи Warrior (контейнер или GUI).
  2. Не используй VPN/прокси, которые ломают сайты.
  3. Запусти — программа сама перебирает адреса.

Осталось меньше двух недель. 3000+ волонтёров уже в деле.

by jszymborski • 12 августа 2025 г. в 14:52 • 146 points

ОригиналHN

#goo.gl#archive.org#docker#url#internet-archive

Комментарии (98)

  • Пользователи сходятся во мнении, что закрытие goo.gl — логичный шаг из-за рисков фишинга и уязвимости домена.
  • Архивисты Internet Archive (ArchiveTeam) уже почти полностью сохранили базу коротких ссылок, используя добровольных «воинов» и Docker-контейнеры.
  • Многие считают, что Google мог бы просто передать очищенную базу Archive.org, но не делает этого из-за юридических и приватных ограничений.
  • Обсуждаются альтернативы: оставить только официальные ссылки Google, выдавать страницу-предупреждение или перенести домен под управление третьей стороны.
  • Участники подчеркивают, что URL-сокращатели изначально создавались ради экономии символов в Twitter и удобства QR-кодов, но превратились в источник link rot и трекинга.

Ollama and gguf (github.com)

Проблема: модель gpt-oss-20b.gguf не запускается в Ollama.
Симптом: при попытке ollama run процесс зависает на 0 % и через минуту падает без явной ошибки.

Окружение:

  • Ubuntu 22.04, 64 ГБ ОЗУ, RTX 4090
  • Ollama 0.3.6 (AppImage и Docker)
  • Файл gpt-oss-20b.q4_0.gguf взят из официального репозитория TheBloke, 11 ГБ

Лог:

ggml_cuda_init: found 1 CUDA device
llama_model_load: error loading model: missing tensor 'token_embd.weight'
llama_load_model_from_file: failed to load model

Причина: в GGUF-файле отсутствует обязательный тензор token_embd.weight.

Решение:

  1. Перекачать модель (curl -L -o gpt-oss-20b.q4_0.gguf …) и проверить хэш.
  2. Если проблема сохраняется — использовать другой квант (q4_K_M или q5_0).
  3. Либо конвертировать оригинальные веса самостоятельно через llama.cpp/convert.py.

by indigodaddy • 11 августа 2025 г. в 17:54 • 156 points

ОригиналHN

#ollama#gguf#llama.cpp#ggml#cuda#quantization#docker#ubuntu#github

Комментарии (70)

  • Ollama отказалась от llama.cpp в пользу собственной обвязки над ggml, что ломает совместимость с GGUF-моделями и вынуждает «переизобретать велосипед».
  • Пользователи жалуются на проприетарные квантизации, отсутствие поддержки шардированных GGUF > 48 ГБ и игнорирование upstream.
  • Альтернативы: запуск llama-server напрямую или готовые контейнеры Ramalama / Docker Model Runner.
  • Сторонники Ollama отмечают удобство установки и готовые модели, но критики считают это «эншитификацией» и подготовкой к монетизации.

Sandstorm- self-hostable web productivity suite (sandstorm.org)

Sandstorm — открытая платформа для простого и безопасного развёртывания веб-приложений.
Достаточно выбрать нужный сервис в магазине и нажать «Установить» — всё работает как на смартфоне.

Что умеет

  • Документы — совместное редактирование через Etherpad
  • Файлы — облачное хранилище Davros
  • Задачи — Kanban-доски Wekan
  • Чат — защищённый Rocket.Chat

Особенности

  • Удобство — единый доступ ко всем приложениям и данным, единая система прав.
  • Безопасность — каждый документ или чат изолирован в «зерне» (контейнере), 95 % уязвимостей блокируются автоматически.
  • Контроль — запускайте в облаке или на своём сервере, переносите данные без ограничений. Исходный код открыт, приложения можно модифицировать.

Для кого

  • Личное использование — приватный сервер с нужными сервисами.
  • Бизнес — данные компании в одном месте, команды выбирают удобные инструменты без ожидания IT.
  • Разработчики — публикуйте приложения в виде пакетов Sandstorm и не думайте об инфраструктуре.

by nalinidash • 09 августа 2025 г. в 06:06 • 146 points

ОригиналHN

#sandstorm#etherpad#davros#wekan#rocket.chat#docker#cloudron#yunohost#proxmox#umbrel

Комментарии (31)

  • Sandstorm запустили в 2014 г., но в 2017 г. стартап закрылся из-за нехватки денег; сейчас живёт как небольшое open-source сообщество.
  • Пользователи хвалят «нулевое» обслуживание, но жалуются на устаревшие пакеты и отсутствие развития.
  • Многие перешли на Docker Swarm, Cloudron, Yunohost, Proxmox+TurnKey, Umbrel и другие «self-hosted OS» с однокнопочными установками.
  • Критика: экосистема приложений дрейфует, безопасность вызывает споры, а активных разработчиков почти не осталось.
  • Сторонники всё ещё считают модель Sandstorm сильной и ждут возможного перезапуска/переписывания на Go.

The Framework Desktop is a beast (world.hey.com) 🔥 Горячее 💬 Длинная дискуссия

Framework Desktop — компактный 4,5-литровый ПК, который почти не шумит даже под полной нагрузкой. Внутри — мобильный AMD Ryzen AI Max 395+ (16 ядер Zen5, 5,1 ГГц), и он оказывается быстрее старого Ryzen 9 7950X в большом корпусе.

Корпус разукрашивается 21 сменной плиткой, можно печатать свои. Внешне — свежий минимализм вместо алюминия и RGB.

По производительности:

  • Docker-тест HEY: почти вдвое быстрее Beelink SER8 и на 40 % опережает M4 Max.
  • Geekbench 6 multi-core: на уровне M4 Max, заметно выше M4 Pro и Core i9-14900K.
  • Одноядерка уступает Apple ≈20 %, но для многопоточных задач это лидер.

Цена выше, чем у Beelink, но пока это единственный безвентиляторный 395+ на рынке.

by lemonberry • 08 августа 2025 г. в 20:19 • 390 points

ОригиналHN

#amd#ryzen#docker#llm#cuda

Комментарии (353)

  • Framework Desktop с Ryzen AI Max+ 395 даёт 64–128 ГБ единой памяти, позволяя запускать крупные LLM без дискретной видеокарты и дешевле, чем Mac Studio, но дороже Mini.
  • Производительность ниже CUDA-карт Nvidia и M4 Max, зато выше, чем у iGPU Intel и старых решений.
  • Многие сомневаются в цене и форм-факторе: за те же деньги можно взять Minisforum, Beelink, HP Z2 Mini или собрать полноценный десктоп.
  • Пока CUDA-стека нет, AMD-совместимость с популярными AI-фреймворками ограничена.
  • Ремонтопригодность и модульность Framework оценили, но в десктоп-сегменте это не уникально.

I want everything local – Building my offline AI workspace (instavm.io) 🔥 Горячее 💬 Длинная дискуссия

  • Локальный стек: Ollama (LLM), assistant-ui (веб-интерфейс), Apple container (изолированные ВМ), Playwright (браузер), coderunner (MCP-сервер с Jupyter).
  • Цель: чат, запуск кода и доступ в интернет без облаков и утечек данных.
  • Проблемы:
    – Модели Ollama пока не поддерживают вызовы инструментов.
    – Создание нативного Mac-приложения провалилось: a0.dev заточен под iOS, Electron + NextJS оказались геморроем.
    – Apple container часто падает с Trap; помогает pkill + перезапуск.
  • Решения:
    – Веб-версия assistant-ui через ai-sdk с выпадающим списком моделей (локальных и облачных).
    – Jupyter в изолированной ВМ, доступен по MCP: http://coderunner.local:8222/mcp.
    – Конфиг для Claude Desktop: "coderunner": { "httpUrl": "http://coderunner.local:8222/mcp" }.

by mkagenius • 08 августа 2025 г. в 18:19 • 1026 points

ОригиналHN

#ollama#assistant-ui#apple-container#playwright#coderunner#jupyter#mcp#docker#rag#vector-databases

Комментарии (274)

  • Участники восхищаются локальной, «песочной» архитектурой для приватного AI-воркспейса и инструментом coderunner, но отмечают, что узкие места — это не только софт, но и «железо»: 80B-модели требуют ≥80 ГБ быстрой RAM, что доступно разве что на RTX 4090 или Strix Halo.
  • Критичным становится слой знаний: RAG над личными файлами требует вектор-БД, а значит — много диска и оперативки; Docker-обёртка или docker compose up -d просится как минимальный способ разворачивания.
  • Пока локальные модели — скорее «увлекательное хобби» (медленно, глючно, нужен тюнинг), чем рабочий инструмент; облачные API (Cerebras, Groq) дают 1000 ток/с, но подрывают приватность.
  • Сообщество просит готовый «всё-в-одном» стек: веб-поиск, голосовой режим, image-gen, лёгкий switch «локально ↔ облако» без потери данных.
  • Несколько участников делятся своими решениями: Kasm + Ollama, Open WebUI, MLX-электрон-приложение, Synology-NAS-контейнеры, браузерный LLM без установки.

Benchmark Framework Desktop Mainboard and 4-node cluster (github.com)

  • Цель: создать единый фреймворк для тестов производительности Ollama на двух конфигурациях:

    1. настольная материнка (1×CPU, 1×GPU, 128 ГБ ОЗУ);
    2. кластер из 4 узлов (по 64 ГБ ОЗУ, 1×GPU, 10 GbE).
  • Методика

    • Одинаковые образы Docker/Podman на обеих платформах.
    • Набор моделей: llama3.1:8b, codellama:13b, mistral:7b, qwen2.5:32b.
    • Метрики: t/s, TTFT, TPS, Watts, $/1k токенов.
    • Повторять 3×, усреднять, выводить ±σ.
  • Автоматизация

    • Ansible-playbook разворачивает Ollama, node-exporter, prometheus, grafana.
    • Скрипт run-suite.sh последовательно запускает каждую модель с 512, 2 048, 4 096 токенов ввода/вывода.
    • Результаты пишутся в CSV и публикуются в PR как results-<platform>-<date>.md.
  • Сравнение

    • Построить графики «токен/с vs. Watts» и «$/1k токенов vs. модель».
    • Выделить break-even точку, где кластер начинает выигрывать по стоимости при одновременной обработке ≥3 моделей.

by geerlingguy • 07 августа 2025 г. в 17:49 • 186 points

ОригиналHN

#ollama#docker#podman#ansible#prometheus#grafana#llama.cpp#rocm#linux#nvidia

Комментарии (57)

  • AMD Framework Desktop (AI Max+ 395) показывает 2,5–3× прирост к RTX 4000 SFF Ada 20 ГБ, но уступает 9950X из-за низкого TDP.
  • Для локального запуска LLM рекомендуют RTX 3090 (24 ГБ) как лучшее ценовое решение, либо Apple/AMD при необходимости >20 ГБ памяти.
  • ROCm и Linux-стек работают стабильно, но потенциал iGPU/NPU ещё не раскрыт; тесты велись в llama.cpp.
  • Для масштабирования предлагают distributed-llama, Exo и llama.cpp-RPC, а также Oculink/eGPU-конфигурации.
  • Продукт выглядит нишевым: ML-инференс дома, но для «обычных» задач лучше Threadripper или сервер.