Отказ от подписок: превращаем старый мини-ПК в личный сервер для продуктивности
Мне не нужны все функции платных приложений для планирования бюджета или редакторов PDF. Мои задачи просты: организовать расходы, объединить документы для выставления счетов и просто выполнять повседневную рабочую рутину. Оплата постоянно дорожающих подписок на пакеты программного обеспечения, рассчитанные скорее на малый и средний бизнес, кажется избыточной, особенно при наличии вполне функционального мини-ПК.
Мой мини-ПК, который пылился без дела с момента покупки Google TV Stick, обходится практически бесплатно в эксплуатации. Он оснащен энергоэффективным процессором Celeron J3455, 4 ГБ оперативной памяти и SSD на 120 ГБ. Это далеко не мощная рабочая станция, но ее достаточно, чтобы проверить, справится ли она с повседневными задачами. Я установил Ubuntu Server и шесть бесплатных приложений, развернул их в своей сети и получил доступ через браузер. Этот набор охватил планирование бюджета, работу с PDF, сохранение закладок, короткие ссылки, уведомления и календарь встреч. Каждое приложение справилось с работой идеально, практически без компромиссов.
Actual Budget: планирование финансов на своем сервере
Actual Budget стал моей open-source альтернативой подписке YNAB за 15 долларов в месяц. Я хотел выяснить, потеряю ли я в функциональности при переходе на самостоятельный хостинг. Я импортировал транзакции за несколько месяцев по расчетным, сберегательным и наличным счетам. Распределил средства по категориям, проверил операции и перевел деньги между категориями, чтобы отразить реальные траты. Корректировки происходили мгновенно — именно так, как это делало мое старое платное ПО. Отчет о расходах наглядно показал, куда уходят деньги, а график чистого капитала дал общий обзор состояния счетов. Я мог перемещаться между отдельными покупками и видеть общую картину без необходимости экспорта в Excel.
Был лишь один досадный момент, но его решение позволило настроить инфраструктуру для остальных приложений. Поскольку это веб-приложение, а я не люблю самоподписанные сертификаты, я установил Caddy на мини-ПК для управления HTTPS-сертификатами. Теперь я использую Actual как автономное приложение для бюджета, точно так же, как раньше с YNAB. Синхронизацию с банками я не считаю необходимой. При желании Actual поддерживает подключение к банкам через SimpleFIN, хотя это добавляет стоимость подписки через сам сервис SimpleFIN. Само приложение Actual Budget на 100% бесплатно, но за удобство автоматизации приходится доплачивать. Actual Budget — это локальное приложение для личных финансов с открытым исходным кодом, поддерживающее синхронизацию изменений между устройствами.
Stirling PDF: работа с документами без Adobe Acrobat
В качестве альтернативы дорогой подписке на Adobe Acrobat я установил Stirling PDF. Я пользовался Acrobat почти ежедневно для объединения файлов, сжатия PDF или преобразования PDF на основе изображений в текст. Создание сложных документов — не мой профиль. Я начал с брифа проекта и счета, объединив их в единый трехстраничный документ. Оба файла легко просматривались и экспортировались в браузере. Я также прогнал через сжатие и OCR копию брифа, состоящую только из изображений, получив отличный результат. Я мог искать фразы внутри PDF, где ранее текст не был распознан. Что касается редактирования (redaction), я удалил адрес электронной почты и ссылку на клиента из тестового счета — инструмент сработал безупречно даже на созданном из изображения PDF. Stirling PDF не заменяет абсолютно все функции Acrobat, но полностью покрывает мои потребности. Эти задачи, из-за которых я оплачивал Acrobat, теперь выполняются в моем браузере на моем сервере. Stirling PDF — это self-hosted open-source инструментарий, позволяющий объединять, разделять, сжимать, конвертировать, редактировать и защищать документы локально через чистый веб-интерфейс с контролем приватности.
Karakeep: коллекция для чтения с поиском и выделением текста
Если честно, сохранение ссылок никогда не было сложной задачей, но запомнить содержимое каждой статьи — определенно трудность. После закрытия Pocket у меня было искушение использовать связку платной платформы Readwise и Obsidian. Вместо этого я попробовал Karakeep как self-hosted вариант. Я протестировал его, добавив несколько технических справочных страниц и статей NASA — карточки предпросмотра упростили навигацию по коллекции. Список ссылок моего домашнего сервера позволял держать практические руководства вместе, а режим чтения давал возможность открывать статьи и выделять важные фрагменты. Полнотекстовый поиск — это то, что заставило меня полюбить инструмент. Я искал случайное слово, увиденное в одной из статей NASA, — «ферригидрит» (ferrihydrite). Несмотря на отсутствие слова в заголовке, Karakeep нашел нужную статью и подсветил его. Использование Karakeep означает, что я могу помнить мелкие детали и всегда находить первоисточник.
Альтернативы платным сервисам на базе собственного оборудования
Нельзя сказать, что Karakeep является полноценной заменой платным платформам вроде функции Reader от Readwise. Однако для сохранения, систематизации ссылок и поиска конкретных материалов на основе полузабытых фрагментов текста Karakeep предоставил мне поисковую базу данных, не требующую очередной подписки. Karakeep — это self-hosted приложение от Localhost Labs Ltd, предназначенное для хранения изображений, ссылок и PDF-файлов. Оно распространяется бесплатно с открытым исходным кодом, поддерживает Docker, iOS и Android.

Shlink: управление короткими ссылками
Сервис Shlink взял на себя задачи по управлению ссылками, для которых я иначе использовал бы платные аналоги вроде Bitly. После установки Shlink на мини-ПК я смог создавать запоминающиеся пути, сортировать их по тегам и проверять статистику посещений прямо через дашборд. Изначально ссылки работали только внутри локальной сети, что ограничивало их полезность. Чтобы сделать короткие URL публичными, я подключил Shlink к одному из своих доменов Cloudflare и создал туннель Cloudflared. Коннектор, запущенный на мини-ПК, создает исходящее соединение, обеспечивая публичный доступ к ссылкам без открытия доступа к самой панели управления.
Я изменил конфигурацию Shlink для использования публичного хостнейма:









DEFAULT_DOMAIN: «go.ggcontentlabs.com»
IS_HTTPS_ENABLED: «true»
После применения изменений командой sudo docker compose up -d shlink, Caddy начал перенаправлять публичные запросы, блокируя при этом API управления Shlink на данном маршруте, что позволяет мне безопасно работать через приватный дашборд. Я создал тестовую ссылку на страницу помощи Actual Budget с URL-слагом /budget-guide и подтвердил её работоспособность через мобильный интернет. Компромиссом является необходимость работы мини-ПК в режиме 24/7, но для бесплатного сервиса с полным контролем над доменом и целевыми страницами это приемлемая цена. Shlink — это бесплатный open-source инструмент, поддерживающий кастомные домены, редактируемые адреса и трекинг визитов. Его можно развернуть через Docker или совместимый PHP-сервер.

ntfy: система уведомлений
Я опробовал ntfy как self-hosted альтернативу Pushover. Начал с уведомления, отображающего текущие показатели оперативной памяти и диска мини-ПК. Отправка оповещения выполняется простой командой из терминала Ubuntu:

curl -u greg \
-H «Title: Hello from the mini PC» \
-d «This alert came from my Ubuntu NUC.» \
http://127.0.0.1:8090/mini-pc-alerts
Сообщения отправлялись в топик mini-pc-alerts, который функционирует как именованный канал уведомлений. Я также протестировал отправку срочного сообщения с кнопкой для запуска приложений на мини-ПК и прикрепил загружаемый отчет сервера. Личная лицензия Pushover стоит 5 долларов (разовая оплата), поэтому выбор ntfy — это скорее личное предпочтение, чем экономия денег. Больше всего меня привлекла возможность иметь сервис уведомлений на том же сервере, где размещены другие альтернативы платным подпискам. ntfy — это HTTP-ориентированный pub-sub сервис с открытым кодом, позволяющий отправлять push-уведомления на смартфоны или ПК через PUT/POST запросы.

Easy!Appointments: планирование встреч
Easy!Appointments заменил мне Calendly. Изначально я хотел использовать Cal.diy (community-версию Cal.com), но его Docker-образ выдавал ошибку «not found». Easy!Appointments обладает схожим функционалом. Я создал три тестовые услуги продолжительностью 13, 30 и 60 минут, назначил их на аккаунт провайдера и настроил график доступности (будни, обеденные перерывы и выходные). Чтобы сделать страницу бронирования доступной извне, я добавил book.ggcontentlabs.com в тот же туннель Cloudflare и обновил адрес в приложении:

BASE_URL: “https://book.ggcontentlabs.com”
После проверки через мобильный интернет я убедился, что процесс выбора услуги и времени проходит корректно, а запись автоматически появляется в календаре администратора. Теперь у меня есть публичная страница планирования на собственном оборудовании с полным контролем над услугами, графиком и записями встреч.

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

- Платформы: самостоятельный хостинг с использованием Docker или веб-сервера на базе PHP/MySQL.
- Модель оплаты: бесплатно как для личного, так и для коммерческого использования.
Производительность системы и «налог на DIY»
Даже при одновременной работе всех шести приложений, запущенных в 11 контейнерах, ресурсы компактного ПК на процессоре Celeron не были исчерпаны полностью. В таком режиме потребление оперативной памяти составило около 2,4 ГБ, при этом оставался запас в 1,0 ГБ, а объем используемого раздела подкачки Linux SWAP составил 241 МБ. Система сохраняла отзывчивость и работала без заметных задержек при переключении между задачами, однако важно учитывать, что тестирование проводилось в режиме умеренной нагрузки, без намеренного стресс-тестирования «на отказ».

Ответственность за самостоятельное обслуживание
Основным обязательством при выборе такой схемы является необходимость самостоятельно обеспечивать обновления, резервное копирование и настройку доступа. Это своего рода «налог на DIY» (сделай сам), который приходится платить за отказ от платных подписок. Несмотря на это, возможности мини-ПК оказались впечатляющими: имеющееся оборудование позволило создать полноценную альтернативу платным сервисам, отказаться от пяти платных подписок и заменить стороннее проприетарное приложение для ряда повседневных рабочих задач.

Actual Budget: дополнительные детали
Важно отметить, что Actual Budget — это инструмент, ориентированный на локальное хранение данных (local-first), что обеспечивает приватность. Проект развивается усилиями сообщества open-source, а его разработчиками выступает именно это сообщество. Несмотря на то, что прямое банковское синхронизирование через SimpleFIN потребует подписки, само ядро Actual Budget остается на 100% бесплатным программным обеспечением с открытым кодом.

Stirling PDF: технические подробности
В отличие от платных решений, Stirling PDF функционирует как self-hosted инструментарий, обеспечивающий полный контроль над конфиденциальностью данных за счет локальной обработки файлов. Важной особенностью является веб-интерфейс, который, несмотря на чистоту исполнения, предоставляет полноценный набор инструментов: от простого слияния и разделения до сложных функций шифрования документов.

Karakeep: поиск и разработка
Полнотекстовый поиск реализован в Karakeep на крайне высоком уровне. В ходе тестов с документацией NASA приложение успешно находило статьи по ключевым словам (например, «ферригидрит»), даже если сам термин отсутствовал в метаданных или заголовках — программа индексирует содержимое документов целиком. Проект разработан компанией Localhost Labs Ltd и доступен для развертывания через Docker, при этом поддерживаются клиенты для iOS и Android.

ntfy: расширенные возможности
Сервис ntfy примечателен гибкостью настройки: уведомления могут включать не только текстовое содержимое, но и интерактивные кнопки, позволяющие выполнять действия (например, запуск приложений на сервере) прямо из окна оповещения. Также поддерживается передача вложений, что позволяет отправлять серверные отчеты прямо на клиентское устройство. Проект создан Филиппом Хекелем (Philipp C. Heckel) при участии большого числа контрибьюторов открытого ПО.

Easy!Appointments: причины выбора
Изначально автор планировал использовать Cal.diy (community-версию Cal.com), однако из-за проблем с Docker-образом, который возвращал ошибку «not found», выбор был сделан в пользу Easy!Appointments. Инструмент оказался крайне схож по своей логике с сервисом Calendly, позволяя администратору не только задавать рабочие интервалы (с учетом выходных и обеденных перерывов), но и ограничивать выбор посетителей исключительно пре-определенными временными слотами.

Производительность и итоги
Стоит подчеркнуть, что описанная конфигурация работает на 11 контейнерах. Упомянутый запас оперативной памяти в 1 ГБ и корректная работа раздела SWAP доказывают, что даже слабое «железо» вроде Celeron J3455 способно удерживать полноценную инфраструктуру для повседневной работы, при условии, что пользователь готов самостоятельно заниматься поддержкой системы, регулярным обновлением контейнеров и настройкой бэкапов.







