Я очень хотел домашнюю лабораторию, но очень долго думал — а как мне сделать так, чтобы иметь доступ ко внутренним сервисам, но при этом вообще не светиться наружу.
В итоге для себя пришёл к двум рабочим вариантам.
Основной способ, чтобы получить доступ к виртуалкам, Kubernetes, админкам и вообще ко всей внутренней сети — это Tailscale. Это одна из тех вещей, после которых начинаешь смотреть на классические VPN немного иначе.
По сути, это mesh VPN поверх WireGuard, где устройства сами образуют приватную сеть. Без проброса портов. Без белого IP. Без открытия половины инфраструктуры в интернет «на минутку».
Поднял клиент на ноуте, сервере, телефоне — и всё. Машины видят друг друга так, как будто они в одной локалке. При этом наружу у меня вообще ничего не торчит.
И вот это ощущение, когда твоя домашняя инфраструктура физически существует, но её как будто нет для интернета — очень успокаивает 😄
Он сильно отличается от классического VPN, где ты обычно поднимаешь один сервер, открываешь порт, следишь за сертификатами, правилами firewall и надеешься, что нигде не ошибся.
Здесь модель ближе к zero trust: доступ получают только авторизованные устройства, всё шифруется end-to-end, а наружу не нужно публиковать вообще ничего.
Честно — я специально пытался найти истории про реальные взломы именно такой схемы. Пока не нашёл ничего, что заставило бы меня напрячься.
Но есть и второй сценарий. Иногда VPN подключать просто лень, а какой-то доступ всё равно хочется иметь. Например:
— дернуть автоматизацию,
— отправить команду,
— получить статус,
— запустить что-то дома удалённо.
Для этого у меня есть маленький сервис на самом дешёвом VPS. Он смотрит наружу, принимает команды, например из Telegram, складывает их в Redis, а уже домашний сервис сам забирает задачи изнутри и что-то делает.
То есть соединение всегда инициируется из домашней сети наружу, а не наоборот. И это для меня было очень важным моментом.
В итоге всё, что должно постоянно смотреть в интернет — живёт только на внешнем VPS. Домашняя инфраструктура максимально закрыта и никуда не публикуется.
Не хочу DMZ. Не хочу открытые порты дома. Не хочу потом читать логи в 3 часа ночи и думать, кто опять сканирует мой роутер 😄
И вот только после этого у меня наконец появилось ощущение, что домашняя лаборатория — это не «поставил сервер под стол», а реально комфортная и безопасная инфраструктура, которой не страшно пользоваться каждый день.
А вы как решаете такую задачу?
В итоге для себя пришёл к двум рабочим вариантам.
Основной способ, чтобы получить доступ к виртуалкам, Kubernetes, админкам и вообще ко всей внутренней сети — это Tailscale. Это одна из тех вещей, после которых начинаешь смотреть на классические VPN немного иначе.
По сути, это mesh VPN поверх WireGuard, где устройства сами образуют приватную сеть. Без проброса портов. Без белого IP. Без открытия половины инфраструктуры в интернет «на минутку».
Поднял клиент на ноуте, сервере, телефоне — и всё. Машины видят друг друга так, как будто они в одной локалке. При этом наружу у меня вообще ничего не торчит.
И вот это ощущение, когда твоя домашняя инфраструктура физически существует, но её как будто нет для интернета — очень успокаивает 😄
Он сильно отличается от классического VPN, где ты обычно поднимаешь один сервер, открываешь порт, следишь за сертификатами, правилами firewall и надеешься, что нигде не ошибся.
Здесь модель ближе к zero trust: доступ получают только авторизованные устройства, всё шифруется end-to-end, а наружу не нужно публиковать вообще ничего.
Честно — я специально пытался найти истории про реальные взломы именно такой схемы. Пока не нашёл ничего, что заставило бы меня напрячься.
Но есть и второй сценарий. Иногда VPN подключать просто лень, а какой-то доступ всё равно хочется иметь. Например:
— дернуть автоматизацию,
— отправить команду,
— получить статус,
— запустить что-то дома удалённо.
Для этого у меня есть маленький сервис на самом дешёвом VPS. Он смотрит наружу, принимает команды, например из Telegram, складывает их в Redis, а уже домашний сервис сам забирает задачи изнутри и что-то делает.
То есть соединение всегда инициируется из домашней сети наружу, а не наоборот. И это для меня было очень важным моментом.
В итоге всё, что должно постоянно смотреть в интернет — живёт только на внешнем VPS. Домашняя инфраструктура максимально закрыта и никуда не публикуется.
Не хочу DMZ. Не хочу открытые порты дома. Не хочу потом читать логи в 3 часа ночи и думать, кто опять сканирует мой роутер 😄
И вот только после этого у меня наконец появилось ощущение, что домашняя лаборатория — это не «поставил сервер под стол», а реально комфортная и безопасная инфраструктура, которой не страшно пользоваться каждый день.
А вы как решаете такую задачу?
❤2🔥2
Я очень долгое время (наверное последние лет 7) свои pet-проекты держу на обычной VPS с Docker Compose. И это, если честно, вполне рабочий вариант. Особенно когда проектов немного и ты один и разработчик, и DevOps, и человек, который потом ночью чинит прод 😄
Для меня самый простой деплой всегда выглядел так:
* заходишь на сервер
* git pull / клонируешь репу
* docker compose down
* docker compose up -d
Максимально прямолинейно. Без Kubernetes, GitOps и вот этого всего «enterprise-ready».
С бекапами, правда, история всегда была хуже. Периодически вспоминал, что “вообще-то данные неплохо бы сохранить”, заходил руками, запускал заранее подготовленные скрипты, скачивал архивы к себе.
Не очень удобно, но жить можно.
И самое смешное — каждый раз думаю: «Надо наконец автоматизировать бекапы…». А потом проходит полгода до следующего “ой”.
Первый заход в сторону нормального CI/CD был через GitHub Actions. Идея нравилась: пушнул — всё само раскатилось. Но на практике периодически что-то отваливалось, особенно когда начинаешь городить SSH, секреты, кастомные сценарии деплоя и прочие радости жизни.
В итоге сейчас пересел на Coolify — это такой self-hosted Heroku/PaaS.
И вот это прям очень зашло.
Подключил GitHub, нажал пару кнопок — и оно реально деплоит. Есть UI, переменные окружения, логи, шаблоны сервисов, базы, SSL, всё из коробки. Для pet-проектов ощущается как какой-то luxury DevOps 😄
Особенно после многих лет формата:
“так, а в каком контейнере сейчас вообще проблема…”
Но, конечно, без приключений не обошлось. Несмотря на включённый кэш сборки, он у меня почему-то каждый раз пересобирает вообще всё с нуля. Даже если поменялся условный env или compose-конфиг, а код не трогал.
В итоге сейчас, похоже, приду к более взрослой схеме:
* CI отдельно собирает image
* пушит в registry
* а Coolify уже просто делает deployment готового образа
Потому что когда проект начинает собираться как frontend на Electron, ты очень быстро начинаешь ценить кэширование слоев 😄
Вообще забавно наблюдать, как со временем pet-проекты постепенно эволюционируют: сначала это “лишь бы работало”, потом “лишь бы не упало”, а потом внезапно ловишь себя на мысли, что обсуждаешь стратегии деплоя и disaster recovery для сервиса с тремя пользователями 😄
Для меня самый простой деплой всегда выглядел так:
* заходишь на сервер
* git pull / клонируешь репу
* docker compose down
* docker compose up -d
Максимально прямолинейно. Без Kubernetes, GitOps и вот этого всего «enterprise-ready».
С бекапами, правда, история всегда была хуже. Периодически вспоминал, что “вообще-то данные неплохо бы сохранить”, заходил руками, запускал заранее подготовленные скрипты, скачивал архивы к себе.
Не очень удобно, но жить можно.
И самое смешное — каждый раз думаю: «Надо наконец автоматизировать бекапы…». А потом проходит полгода до следующего “ой”.
Первый заход в сторону нормального CI/CD был через GitHub Actions. Идея нравилась: пушнул — всё само раскатилось. Но на практике периодически что-то отваливалось, особенно когда начинаешь городить SSH, секреты, кастомные сценарии деплоя и прочие радости жизни.
В итоге сейчас пересел на Coolify — это такой self-hosted Heroku/PaaS.
И вот это прям очень зашло.
Подключил GitHub, нажал пару кнопок — и оно реально деплоит. Есть UI, переменные окружения, логи, шаблоны сервисов, базы, SSL, всё из коробки. Для pet-проектов ощущается как какой-то luxury DevOps 😄
Особенно после многих лет формата:
“так, а в каком контейнере сейчас вообще проблема…”
Но, конечно, без приключений не обошлось. Несмотря на включённый кэш сборки, он у меня почему-то каждый раз пересобирает вообще всё с нуля. Даже если поменялся условный env или compose-конфиг, а код не трогал.
В итоге сейчас, похоже, приду к более взрослой схеме:
* CI отдельно собирает image
* пушит в registry
* а Coolify уже просто делает deployment готового образа
Потому что когда проект начинает собираться как frontend на Electron, ты очень быстро начинаешь ценить кэширование слоев 😄
Вообще забавно наблюдать, как со временем pet-проекты постепенно эволюционируют: сначала это “лишь бы работало”, потом “лишь бы не упало”, а потом внезапно ловишь себя на мысли, что обсуждаешь стратегии деплоя и disaster recovery для сервиса с тремя пользователями 😄
👍10
Начал отслеживать оплату по подпискам. С удивлением обнаружил, что в этом году Яндекс подключает мне дополнительные опции без моего ведома и подтверждения вообще. То есть даже уведомления не приходят — типо «вы подключили такую-то опцию».
😁3😱2
Бодрый кодер
Начал отслеживать оплату по подпискам. С удивлением обнаружил, что в этом году Яндекс подключает мне дополнительные опции без моего ведома и подтверждения вообще. То есть даже уведомления не приходят — типо «вы подключили такую-то опцию».
Ответ поддержки:
10 марта 2026 вы подключили Плюс с Амедиатекой и START и опцию «Больше близких» на карточке фильма или сериала, нажав на кнопку просмотра. Так вы согласились с условиями подписки.
10 марта 2026 вы подключили Плюс с Амедиатекой и START и опцию «Больше близких» на карточке фильма или сериала, нажав на кнопку просмотра. Так вы согласились с условиями подписки.
🤬11💩5😁4😡2🥰1
В какой-то момент я понял, что контроль бюджета у меня постепенно превратился в статистику.
Я вижу траты постфактум, красиво раскладываю их по категориям, но это уже не совсем контроль. Особенно когда речь заходит о подписках.
С появлением иностранных карт, разных сервисов, оплат через разные каналы и прочие антисанкционные сервисы стало вообще непонятно: а сколько я на самом деле трачу регулярно?
Я уже писал, что для персонального бюджета использую Дзен-мани. Но многие сервисы туда просто нельзя подключить и автоматически трекать. В итоге подписки живут своей жизнью: где-то списалось 500 рублей, где-то 700, где-то еще немного. По отдельности кажется ерундой. Ну, та самая «чашка кофе».
А потом я сделал ревизию и нашел три ненужные подписки. Каждая стоила около 500 рублей в месяц. Вроде мелочь. Но вместе это примерно 20 тысяч рублей в год.
И тут стало понятно, что за подписками все-таки надо следить.
Потому что одна такая «чашка кофе» за год превращается в нормальную сумму. А несколько подписок — уже в новый PS5, небольшое путешествие или просто в какие-то классные штуки, которые ты, может быть, и так бы купил, но на сэкономленное покупать их сильно приятнее.
В общем, чтобы следить за такими тратами, я сделал для себя сервис: https://subfee.ru
Но так как я не люблю тратить время просто так, сразу делал с прицелом на то, что, возможно, кому-то еще тоже захочется это контролировать.
Сейчас сервис бесплатный и работает в альфа-режиме. Баги возможны, и я буду благодарен, если вы о них напишете. Чуть позже добавлю нормальную форму обратной связи.
На всякий случай сделал возможность импорта и экспорта данных, чтобы ничего не потерялось.
Я вижу траты постфактум, красиво раскладываю их по категориям, но это уже не совсем контроль. Особенно когда речь заходит о подписках.
С появлением иностранных карт, разных сервисов, оплат через разные каналы и прочие антисанкционные сервисы стало вообще непонятно: а сколько я на самом деле трачу регулярно?
Я уже писал, что для персонального бюджета использую Дзен-мани. Но многие сервисы туда просто нельзя подключить и автоматически трекать. В итоге подписки живут своей жизнью: где-то списалось 500 рублей, где-то 700, где-то еще немного. По отдельности кажется ерундой. Ну, та самая «чашка кофе».
А потом я сделал ревизию и нашел три ненужные подписки. Каждая стоила около 500 рублей в месяц. Вроде мелочь. Но вместе это примерно 20 тысяч рублей в год.
И тут стало понятно, что за подписками все-таки надо следить.
Потому что одна такая «чашка кофе» за год превращается в нормальную сумму. А несколько подписок — уже в новый PS5, небольшое путешествие или просто в какие-то классные штуки, которые ты, может быть, и так бы купил, но на сэкономленное покупать их сильно приятнее.
В общем, чтобы следить за такими тратами, я сделал для себя сервис: https://subfee.ru
Но так как я не люблю тратить время просто так, сразу делал с прицелом на то, что, возможно, кому-то еще тоже захочется это контролировать.
Сейчас сервис бесплатный и работает в альфа-режиме. Баги возможны, и я буду благодарен, если вы о них напишете. Чуть позже добавлю нормальную форму обратной связи.
На всякий случай сделал возможность импорта и экспорта данных, чтобы ничего не потерялось.
2🔥6👍4
А вы в курсе что есть ИИ, которая выдает 1000 токенов в секунду? Я попробовал - реально быстро. https://www.inceptionlabs.ai/blog/introducing-mercury-2
www.inceptionlabs.ai
Introducing Mercury 2 – Inception
Today, we're introducing Mercury 2 — the world's fastest reasoning language model, built to make production AI feel instant.
Все привыкли использовать Codex для кодинга. Но внезапно оказалось, что он неплох и для задач, которые с компьютером связаны довольно косвенно.
Я скоро планирую ремонт, и выяснил, что Codex вполне можно использовать для генерации рендеров будущего интерьера.
Да, это не идеальный инструмент для архитектурного проектирования. Где-то он не выдерживает размеры, если сгенерировать две картинки, одна может отличаться от другой, детали иногда плывут. Но для моей задачи этого оказалось более чем достаточно.
Можно обычным “инженерным” промптом описать, что должно быть в помещении, какие есть ограничения, какие зоны нужны, какие размеры комнаты, и получить красивую картинку. А уже от нее оттолкнуться и сделать нормальный архитектурный или мебельный проект.
У меня пример был с кухней.
Я, как всегда, пошел spec-first: написал, что должно быть на кухне: мойка, холодильник, плита, духовка, посудомойка, шкафы, рабочая зона и так далее. Описал ограничения: размеры комнаты, расположение стен, проемов, желаемую форму кухни.
Дальше получил первые рендеры и в несколько итераций начал править. Удобнее всего оказалось работать не “сделай всю кухню лучше”, а по отдельным сторонам и разрезам: вот эта стена, вот тут холодильник, тут колонна, тут мойка, тут рабочая поверхность.
На выходе у меня получилось три ракурса П-образной кухни и очень короткое ТЗ: что должно быть на каждой стороне, какая техника, какие шкафы, где хранение, какие примерные размеры.
Потом я отдал это мебельщикам, и они уже сделали готовый проект.
Материалы пока не выбирал, это отдельная тема. Но и там ChatGPT уже успел помочь разобраться.
В общем, Codex неожиданно оказался полезен не только для “написать код”, но и для дизайна интерьеров.
Я скоро планирую ремонт, и выяснил, что Codex вполне можно использовать для генерации рендеров будущего интерьера.
Да, это не идеальный инструмент для архитектурного проектирования. Где-то он не выдерживает размеры, если сгенерировать две картинки, одна может отличаться от другой, детали иногда плывут. Но для моей задачи этого оказалось более чем достаточно.
Можно обычным “инженерным” промптом описать, что должно быть в помещении, какие есть ограничения, какие зоны нужны, какие размеры комнаты, и получить красивую картинку. А уже от нее оттолкнуться и сделать нормальный архитектурный или мебельный проект.
У меня пример был с кухней.
Я, как всегда, пошел spec-first: написал, что должно быть на кухне: мойка, холодильник, плита, духовка, посудомойка, шкафы, рабочая зона и так далее. Описал ограничения: размеры комнаты, расположение стен, проемов, желаемую форму кухни.
Дальше получил первые рендеры и в несколько итераций начал править. Удобнее всего оказалось работать не “сделай всю кухню лучше”, а по отдельным сторонам и разрезам: вот эта стена, вот тут холодильник, тут колонна, тут мойка, тут рабочая поверхность.
На выходе у меня получилось три ракурса П-образной кухни и очень короткое ТЗ: что должно быть на каждой стороне, какая техника, какие шкафы, где хранение, какие примерные размеры.
Потом я отдал это мебельщикам, и они уже сделали готовый проект.
Материалы пока не выбирал, это отдельная тема. Но и там ChatGPT уже успел помочь разобраться.
В общем, Codex неожиданно оказался полезен не только для “написать код”, но и для дизайна интерьеров.
🔥7
Немного кайфанул на выходных.
Работаю над новым дизайном и функционалом моего калькулятора зарплат и офферов - https://paycalc.ru/
Работаю над новым дизайном и функционалом моего калькулятора зарплат и офферов - https://paycalc.ru/
🔥9
У меня тут запоздалая статья вышла, по старому месту работу -https://habr.com/ru/companies/psb/articles/1038876/
Хабр
Всё есть код, или зачем внедрять GitOps в разработку
Привет, Хабр! Сегодня мы часто говорим про разные тренды в разработке — ИИ‑агентов, тестирование на ранних стадиях, прослеживаемость изменений, автоматизацию пайплайнов… Все эти...
🔥6