Посмотрев два видео PewDiePie, в которых он узнал об установке Arch (задача эта считается довольно сложной даже для любителей Linux) и о создании трёх проектов (камеры для собаки, устройства для получения информации о погоде/напоминания о питьевом режиме/медитаций и кто знает, что будет ещё) из опенсорсных напечатанных на 3D-принтере деталей, я стал размышлять о самостоятельном проектировании, своём хостинге и технологической независимости. Эти темы уже давно очень близки мне.

Когда меня спрашивают, как начать писать блог или как получить работу, я всегда говорю, что сначала нужно купить домен. Во-вторых, нужно хостить собственный веб-сайт блога, если вы обладаете техническими навыками (впрочем, сегодня это уже несложно). Я говорю так потому, что всё накапливается со временем. Разумеется, вы можете начать с готового блога и не принадлежащего вам URL, но если вы хотите заниматься этим на долгосрочной основе, то что будет дальше? Я видел, как многие люди скачут с WordPress на Medium, потом на Substack, потом на Ghost. Иногда они не выполняют миграцию своих постов, на написание которых было потрачено много времени, а просто создают новые.

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

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

Моя личная история

Я веду самостоятельный хостинг моего блогамоего второго мозгамоей книгимоего списка подписчиков (на основе Listmonk), реализовал собственный paywall при помощи Memberstack и почти всю свою жизнь поддерживал собственный веб-сайт и блог (начал со своего домена, собрал WordPress, перешёл на GoHugo).

В последнее время меня увлекла идея домашней лаборатории, поэтому я собрал собственный домашний сервер с SSH, резервным копированием, фотографиями, Gitea и так далее. Настройка своей конфигурации для обратного прокси и сертификатов SSL для домашнего сервера, создание сертификатов SSL, настройка ключей SSH, чтобы можно было подключаться по SSH без логина — всем этим замечательным вещам я научился в процессе.

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

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

Как начался мой путь

Когда я полюбил vim и в особенности Neovim, совершенно внезапно я начал жить в терминале и узнал команды, знакомые лишь волшебникам и фанатам Linux (одним из которых стал и я). Но я этим очень сильно горжусь. Подробнее о моём пути можно узнать из моего поста о PKM.

Технологическая независимость

О понятии технологической независимости я узнал от Дерека Сиверса. По сути, оно означает, что ты не зависишь от конкретной компании или ПО.

Освоив некоторые основы, в данном случае Linux, можно хостить многое самостоятельно. Не потому, что ты должен, а потому что хочешь; к тому же лично я получаю удовольствие от того, что пользуюсь собственными сервисами. Кроме того, так ты получаешь знания. В своей статье Дерек рассказывает об этом подробно. Он самостоятельно хостит электронную почту, контакты и календарь, а также собственное хранилище бэкапов. Но можно начать и с малого. Мы считаем, что нам доступно только то, что можно купить, но есть и другие возможности.

Начните с того, что сегодня же купите собственный домен. Придумайте ему хорошее название, но не усложняйте. Если добьётесь какого-то успеха, то если он вам перестанет нравиться, всегда можно будет сменить домен (и перенести старые блоги на этот новый домен, почти ничего не потеряв). Но это невозможно, если вы не владеете своим доменом или сервером.

Опенсорс

Основная часть инструментов опенсорсна и становится доступна, когда вы начинаете осваивать Linux. Как показывает история PewDiePie, освоив Linux, вы захотите создавать всё сами и ни за что не платить.

Опенсорс и опенсорсный код прекрасны. Дело не только в том, что ты пользуешься чьим-то ПО: миллионы людей просто делятся своей работой бесплатно. Это сообщество людей, работающих на общее благо. Если выложить свои труды на GitHub, то люди смогут оставлять свои отзывы (issue) или вносить свой вклад (пул-реквесты), а вы, как владелец, можете прислушиваться к ним или игнорировать их. Выбор за вами. Как и в реальном мире.

Но самое важное то, что любой может использовать ваш код свободно и бесплатно. Есть небольшие нюансы по лицензированию, но если вы выберете MIT или какую-то другую нестрогую лицензию, кодом сможет пользоваться каждый.

Опенсорс для себя

На самом деле, весь мой опыт писательства начался потому, что я смог воспользоваться опенсорсным инструментом BI, за который на работе мы платили огромные суммы. Эта быстрая brew install и локальный запуск поражают меня и сегодня, я никак не могу избавиться от этого чувства. И все мои посты в этом блоге, по сути, связаны с опенсорсным дата-инжинирингом.

Я понимаю, что всем нужно зарабатывать деньги, но в идеальном мире все просто будут совместно разрабатывать опенсорсное ПО, чтобы улучшить жизнь всех. И для того, чтобы выигрывали все. Как это происходит с Linux.

Linux и Линус Торвальдс

Linux управляет миром. Сегодня нет почти ни одного цифрового устройства без Linux или хотя бы его части. Линус Торвальдс создал удивительную систему. Если бы он монетизировал её, то, вероятно, стал бы самым богатым человеком на Земле, но была ли бы она столь же популярна? Наверно, нет. И по его словам, сегодня он вполне преуспевает. Разве это не отличный результат?

На случай, если вы не знали

Линус Торвальдс создал не только Linux, но и git. Это изменивший мир инструмент управления версиями, которым пользуются все разработчики ПО. Но Линус изначально написал его под свои собственные нужды, для управления версиями Linux, а ещё потому, что ему не нравились все существовавшие тогда решения. Мы должны благодарить его за это, хоть сам он и признаёт, что душой компании его назвать нельзя.

Больше возможностей

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

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

Я делюсь практически всеми своими знаниями и кодом, но по большей мере пользуюсь ими сам и не особо ожидаю вклада со стороны. Также я не стимулирую никого активно участвовать, потому что это усложнит мою работу. Но я хочу делиться, чтобы люди могли учиться у меня или просто оставлять отзывы на случай, если я сделаю что-то глупое.

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

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

Мой технологический стек

Например, я использую опенсорсные инструменты для большинства своих онлайн-задач. Я глубоко благодарен Джеки Чжао, разработавшему Quartz — опенсорсную альтернативу Obsidian Publish, которой я продолжаю пользоваться для публикаций моих заметок Obsidian. Он уже перешёл на новую версию, но я всё ещё сижу на версии GoHugo v3, и разве это не прекрасно? Теперь я сам поддерживаю версию v3, но на основании всего того, что создал он.

Для ведения анонимной статистики своих сайтов я пользуюсь GoatCounter. Он не отслеживает скрытые пиксели и не шпионит за людьми, но я получаю очень изящный способ просмотра уникальных посещений моих веб-сайтов. Я благодарен Мартину Турнуай за бесплатную публикацию этого инструмента; он даже самостоятельно хостит его для маленьких веб-сайтов.

Я использую Listmonk — опенсорсный список рассылок, за который я глубоко благодарен Кайлашу Надху, создавшему и продолжающему поддерживать его для всех пользователей. Он очень легко устанавливается и позволяет удобно вести простой список рассылок.

Позже мне потребовалось автоматически рассылать письма каждый раз, когда я публикую новый пост, и я глубоко благодарен Стефану Хюэлю, создавшему для этой цели listmonk-rss. И он даже написал крайне полезную документацию, которая помогла с первой попытки настроить GitHub Actions для моего блога.

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

Другие классные инструменты и самостоятельный хостинг

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

  • Paperless: система управления цифровыми документами, которая сканирует, индексирует и упорядочивает физические документы при помощи OCR и системы меток.

  • PhotoPrism: альтернатива Google Photos для самостоятельного хостинга с ИИ-распознаванием лиц, автоматической расстановкой тэгов и управлением фотографиями с обеспечением конфиденциальности.

  • Pi-hole: блокировщик рекламы на уровне сети, используемый в качестве DNS-заглушки для блокировки рекламы и отслеживания доменов для всех устройств в сети.

  • Nginx Proxy Manager: веб-инструмент для управления обратными прокси с автоматизацией сертификатов SSL и удобной маршрутизацией доменов для сервисов с самостоятельным хостингом.

  • Audiobookshelf: сервер аудиокниг и подкастов для самостоятельного хостинга с мобильными приложениями, отслеживанием прогресса и функциями управления библиотекой.

  • Calibre: полнофункциональный пакет для управления электронными книгами, позволяющий упорядочивать и конвертировать цифровую библиотеку; имеет веб-интерфейс для чтения.

  • Syncthing: децентрализованный инструмент синхронизации файлов, синхронизирующий папки между несколькими устройствами без зависимости от облака.

  • Gitea: легковесный сервис Git для самостоятельного хостинга с веб-интерфейсом, баг-трекингом и инструментами для совместной работы.

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

Радость получаемой свободы

Как вы могли уже заметить, самостоятельный хостинг обладает множеством преимуществ, но и требует потрудиться. Но лично мне это и доставляет радость. Одно из самых больших удовольствий в жизни для меня — это учёба. А разве есть способ научиться чему-то лучше, чем создать то, что вы будете использовать сами?

Кроме того, вы получаете большую степень независимости. Именно поэтому Дерек называет это технологической независимостью: мы не зависим от таких крупных игроков, как Google, Apple и остальных, поэтому можем реализовывать собственные фичи или настраивать их под свои потребности. У нас не случится сердечного приступа, если Google убьёт наше любимое приложение, например, Google Inbox, или какое-то ещё из множества других. Или если просто повысит его цену.


Надеюсь, вам понравился мой пост, но по этой теме ещё многое можно сказать. А пока просмотрите мои dotfile, чтобы узнать о моих инструментах и об инструментах Linux, которые я использую, почитайте мои блоги о дата-инжинирингемой второй мозг, в котором я поделился более чем тысячей взаимосвязанных заметок, или мою книгу, которую я пишу и публикую главу за главой.

Уже долгое время все мои проекты опенсорсны, а тексты выкладываются в виде Markdown. Весь мой письменный контент на GitHub, на всех моих веб-сайтах и даже в рассылке основаны на Markdown (именно поэтому я выбрал Listmonk). Благодаря этому мне не приходится конвертировать форматирование из Rich Text одного редактора в формат другого (если вам интересна эта тема, рекомендую прочитать Markdown vs Rich Text).

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


  1. alexs963
    28.07.2025 18:42

    Если уже есть RSS, то зачем дублировать его почтовой рассылкой?


    1. sirmax123
      28.07.2025 18:42

      В рекламном посте надо налить больше воды :)

      Для того что б вести все на своем сервере есть масса причин, но первое о чем надо задуматься- бекап

      (Я тоже сторонник селф-хостед, но статья наполовину мусор)


  1. PerroSalchicha
    28.07.2025 18:42

    Самохостинг, это не про независимость, а про сохранность своих файлов и про стабильность окружения. Какая может быть независимость у самохостинга, если для его работы вам необходим не принадлежащий вам домен, не принадлежащий вам IP-адрес, и прямиком ведущий в ваш дом не принадлежащий вам интернет-канал?


    1. Black_Spirit
      28.07.2025 18:42

      Следующую статью напишут с названием типа: Сам себе провайдер


      1. thethee
        28.07.2025 18:42

        Дальше, сам себе интернет?


    1. alexs963
      28.07.2025 18:42

      Для меня самохостинг это, в том числе и независимость от всех, внутри моего домашнего контура.


      1. PerroSalchicha
        28.07.2025 18:42

        В моём понимании, штука со словом "хостинг" в названии предполагает, что это вы делаете сервисы для кого-то (в том числе и самого себя) снаружи. Если только для внутреннего потребления, то это в общем-то и не хостинг, это просто ваш софт и ваши данные на вашем компе в вашем доме :)


        1. alexs963
          28.07.2025 18:42

          Так они доступны и используются снаружи, плюс они доступны и внутри даже когда интернет по каким-то причинам недоступен.


      1. Sau
        28.07.2025 18:42

        Стадии самохостинга:

        1) Хостить самостоятельно на внешнем хостинге

        2) Хостить самостоятельно у себя дома (чтобы личные данные не покидали пределы квартиры)

        3) Хостить на локальном компьютере используя localhost (чтобы личные данные не покидали пределы ПК, да и устройств меньше)

        4) Хостить используя нативные программы, потому что сетевой стек теперь не нужен

        5) Использовать бумагу и ручку, так как программы в общем-то тоже не нужны

        6) Хранить нужные данные в голове


    1. urvanov
      28.07.2025 18:42

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


      1. AndrewBond
        28.07.2025 18:42

        как страшно жить... работающий сервер опаснее работающего газового котла или холодильника?


        1. isden
          28.07.2025 18:42

          А вы оставляете все это работающим когда уезжаете на пару месяцев? О_О


          1. PerroSalchicha
            28.07.2025 18:42

            А вы оставляете все это работающим когда уезжаете на пару месяцев? О_О

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

            Ещё, у меня в квартире остаётся работать роутер и видеонаблюдение, например.


            1. isden
              28.07.2025 18:42

              газовый котёл

              Тут я ничего не могу сказать, весь мой опыт использования подобного оборудования - это газовые водонагреватели. Если оно достаточно надежно, то ок.

              Холодильник

              А не рассматривали возможность того, что вдруг отключится электричество на длительное время (по разным причинам, но предположим) и по возвращении придется затратить кратно больше усилий?

              Я сейчас не про "сгонять в отпуск на месяц", а про более длительные отъезды.

              Если что - это реальная история у знакомых, только уехали и у них что-то сломалось толи в проводке, толи в щитке, и по приезду их встречал густой амбре от того, что было внутри холодильника.

              Ещё, у меня в квартире остаётся работать роутер и видеонаблюдение, например.

              Тут я не вижу ничего страшного. Для пущего почесывания паранойи можно поставить автономный автоматический огнетушитель, но это все очень маловероятно.


              1. PerroSalchicha
                28.07.2025 18:42

                А не рассматривали возможность того, что вдруг отключится электричество на длительное время (по разным причинам, но предположим)

                По внешним причинам - вряд ли. Чтобы закрытый холодильник потёк, это надо, чтобы электричество пропало более чем на сутки. Даже блэкауты так долго не длятся. Если же что-то в квартире в щитке навернётся, ну тогда я это узнаю как раз по отключению видеонаблюдения :) Попрошу кого-нибудь, у кого есть ключи, заехать и проверить.


                1. Newbilius
                  28.07.2025 18:42

                  Даже блэкауты так долго не длятся.

                  Ахахахахахаха... в смысле да, конечно, не длятся.


          1. AndrewBond
            28.07.2025 18:42

            Если бы уезжал на пару месяцев, оставлял бы. А так - насколько уезжаю, на столько и оставляю. Вы представляете, что будет с домом, если зимой выключить котел?


            1. urvanov
              28.07.2025 18:42

              Да котёл отопления-то понятно.


    1. Neikist
      28.07.2025 18:42

      Если им пользуетесь только вы, и большую часть времени находитесь дома - то даже если настроен доступ извне - это все равно независимость. По сути все от чего оно зависит - это электричество (можно конечно и тут заморочиться, но пока это кажется перебором). Доступ извне дома конечно удобно и полезно - но это доп. плюшка к основе. Можно было бы и без нее обойтись.


  1. Hesed
    28.07.2025 18:42

    Nginx Proxy Manager: веб-инструмент для управления обратными прокси с автоматизацией сертификатов SSL

    NPM умеет "автоматизировать сертификаты" (формулировка сама по себе странная, имеется в виду автоматическое продление) только для Let's Encrypt, т.е. прямая зависимость от внешнего провайдера. Для внутренних ресурсов оно далеко не всегда нужно, своего собственного PKI хватает за глаза.


  1. vtal007
    28.07.2025 18:42

    Хотел почитать про хостинг дома, а тут какие-то философии по арч

    Я прикидывал, что нужно для собственно хостинга

    1. Железо, можно и бытовое (у меня не энтерпрайз, просто сайт)

    2. Белый IP. С этим могут быть проблемы. Может провайдер домашний даст, а может и нет. И не всегда провайдеров много, чтобы выбирать

    3. Стабильное электричество. В Москве отключают не часто, по идее бесперебойника хватит

    4. Бекапы? тут решается аналогично чужому хостингу. Но если тянуть куда-то за пределы квартиры - будет трафик. Возможно не малый

    5. В тему трафика - у сайта будет исходящий трафик. Возможно настолько большой, что домашнему провайдеру не понравится

    6. А еще есть юридические требования к хостерам. И там как бы нет разделения, дома хостишь свой или ты организация

    Поправьте, где я не прав


    1. isden
      28.07.2025 18:42

      Еще забыли очень важный пункт - стабильный канал в интернет / резервный канал с автоматическим переключением всего.


      1. vtal007
        28.07.2025 18:42

        ага, и тут вопрос, какой канал нужен для сайта и от чего это зависит..у меня хостер (аренда целого сервера) вроде не дает такой инфы (сколько сайт потребляет)


    1. init0
      28.07.2025 18:42

      Селфхостинг это домашняя лаборатория (локальная разработка/тесты и т.п.) и/или хостинг "хомяка" на который ходят три калеки в хорошую погоду.


      1. sirmax123
        28.07.2025 18:42

        Или это мигом станет дорого :)

        Отказоустойчивость она не бесплатная, автономка, блок адресов, стыки по bgp, цена за мегабит вас удивит и это только начало :)


        1. AndrewBond
          28.07.2025 18:42

          да пофиг же. Копеечный траффик для пары посетителей и отказоустойчивость в виде ИБП. Для большинства проектов - с головой.


      1. vtal007
        28.07.2025 18:42

        локально то я могу поднять "денвер", но это совсем не хостинг ж.. Просто локальная работа. Так собственно "дев" и крутят ж обычно, где-то, локально


    1. urvanov
      28.07.2025 18:42

      В тему трафика - у сайта будет исходящий трафик. Возможно настолько большой, что домашнему провайдеру не понравится

      Для этого ещё сильно постараться надо. Скорее всего, ваш сайт будет никому не нужен.


  1. RranAmaru
    28.07.2025 18:42

    Я уже лет 7 как на самохостинге )

    • Интел Нюк с Убунтой в качестве сервера (работает 24/7). На нем git и fossil репозитории, вики, телеграм боты с TTS движком (у супруги привычка выключать звук на телефоне даже когда она дома, а так бот ей через колонки говорит).

    • Белый IP (раньше был еще свой домен, но потом я от него отказался, поскольку можно просто по IP заходить).

    • Есть еще NAS на пару Тб (хватает в принципе), там же бэкапы.

    • На всех домашних компах настроен WoL (включение по сети), поэтому даже находясь в отпуске, могу включить свой комп и поработать по RDP/VNC/SSH.

    • Синхронизируюсь через rsync или git/fossil (для текстов). Раньше был Syncthing, но потом тоже от него отказался (он часто не мог автоматом смержить файлы с конфликтами и терял изменения или делал копии).