wallabag
Свой сервис отложенного чтения: сохраняет не ссылку, а текст статьи, и отдает его потом в браузере, в мобильном приложении и на читалке. Развернули wallabag 2.6.14 на тарифе за 500 рублей, перевезли архив в формате Pocket и проверили на русских сайтах то, о чем не пишет ни один обзор.
Вердикт
- тем, у кого остался выгруженный архив Pocket и его некуда деть
- тем, кто хочет читать статьи офлайн: с телефона, планшета или читалки
- редакции или команде - архив общий, пользователей сколько угодно
- тем, кому неудобно платить за зарубежную подписку картой
- одному человеку ради экономии: официальный хостинг стоит 11 € в год, это дешевле сервера
- если нужен разбор сохраненного искусственным интеллектом - этого здесь нет
- если нужен менеджер закладок с папками и совместной работой
- если важны частые обновления: последний релиз вышел в октябре 2025 года
Что это и какую задачу решает
Вы нашли статью, читать некогда. Нажали кнопку - wallabag скачал страницу, вырезал из нее текст и сложил к себе. Вечером вы открываете его с телефона и читаете без рекламы, всплывающих окон и интернета.
Ключевое отличие от менеджера закладок: сохраняется не адрес, а сам текст. Статью переверстали, закрыли платной подпиской или удалили - ваша копия осталась читаемой.
Проект французский, живет с 2013 года, лицензия MIT на все. Платных модулей и урезанной бесплатной версии нет: в свою установку вы получаете продукт целиком.
Что делать, если у вас архив из Pocket
Pocket выключили 8 июля 2025 года, выгрузить архив разрешали до 12 ноября. Дальше данные удалили. Если файл вы тогда скачали - он еще пригодится.
| Пункт меню | Что он делает | Работает ли сейчас |
|---|---|---|
| забирает данные через программный интерфейс Pocket | нет: сервиса и интерфейса больше не существует | |
| Pocket CSV | читает таблицу из выгрузки | да, это основной путь |
| Pocket HTML | читает html-файл из выгрузки | да, запасной вариант |
Документация при этом до сих пор описывает первый путь: «создайте приложение на сайте разработчиков Pocket». Выполнить это уже невозможно.
Замерили на 41 ссылке. Файл в формате выгрузки Pocket загрузился и разобрался за 16,4 секунды - 0,4 секунды на ссылку. Быстро потому, что страницы качаются пачками, а не по одной.
Линейно тысяча ссылок займет около семи минут, и все это время браузер ждет ответа. Архив в несколько тысяч ссылок лучше разбить на части.
Вытащит ли он текст с русских сайтов
Вопрос, на который не отвечает ни документация, ни англоязычные обзоры. Мы сохранили 41 статью с девяти сайтов и посмотрели, что легло в базу.
Текст из страницы достает библиотека graby. Для известных сайтов у нее есть правила - какой кусок страницы считать статьей. Правил 2043, и только 22 из них относятся к зоне .ru.
Казалось бы, приговор. На деле все интереснее: где правила нет, включается общий алгоритм, и чаще всего он срабатывает.
| Группа сайтов | Статей | Чисто | С браком |
|---|---|---|---|
| есть правило: habr.com, vc.ru, lenta.ru, lifehacker.ru | 20 | 20 | 0 |
| правила нет: 3dnews.ru, ixbt.com, nplus1.ru, ria.ru, opennet.ru | 21 | 13 | 8 |
Брак бывает двух видов. У 3dnews.ru к статье приклеивается блок «читайте также» - текст на месте, снизу лишнее. У ria.ru в трех случаях из пяти вместо статьи сохранилась форма входа на сайт.
Вывод для читателя простой. Хабр, vc.ru, Лента, Лайфхакер сохраняются идеально. Сайт без правила - лотерея с хорошими шансами, и результат видно сразу при сохранении.
Что еще он умеет
Читать где угодно. Официальные приложения для Android и iOS, расширения для Firefox и Chrome, выгрузка статьи или целой подборки в ePUB, PDF, JSON и CSV.
Отдавать статьи читалке. wallabag публикует личные ленты - непрочитанное, избранное, архив, отдельный тег. Их подхватывает читалка или программа для e-ink, и статьи приезжают туда сами.
Пометки на полях. Выделяете кусок текста и пишете заметку. Она видна при чтении в wallabag и уезжает вместе со статьей в ePUB.
Статьи за платной подпиской. Можно сохранить свои логин и пароль от сайта, и wallabag будет заходить под ними. Пароли шифруются в базе, но документация предупреждает: администратор сервера при желании их достанет.
Свой программный интерфейс. Есть полноценный API с авторизацией - через него wallabag подключают к сторонним приложениям и сценариям автоматизации.
В маркетплейсе Fatmetal
Не хотите ставить руками?
wallabag есть в маркетплейсе - можно не повторять установку из этого разбора. Заказываете сервер, через пару минут получаете рабочий сервис на своем домене, валидный сертификат и файл с доступами. Все четыре поломки из раздела выше в рецепте уже обойдены.
Рекомендуемая конфигурация: CPU2-RAM4-DISK50
Частые вопросы
Можно ли еще выгрузить свой архив из Pocket?
Нет. Сервис выключили 8 июля 2025 года, выгрузку закрыли 12 ноября, данные удалили. Импорт пригодится, только если файл вы скачали тогда.
Что будет с картинками из статей?
По умолчанию они остаются ссылками на исходный сайт. Скачивание включается в настройках администратора, но тогда архив растет примерно на 3 МБ со статьи.
Нужен ли Redis?
Для повседневной работы нет. Он нужен фоновому импорту из Instapaper, Omnivore и браузерных закладок. Для переезда с Pocket он бесполезен: этот тип импорта очередь не поддерживает.
Что бэкапить?
Базу PostgreSQL - в ней статьи, теги и пометки. Плюс каталог с картинками, если вы включили их скачивание, и файл с переменными окружения.
Сколько человек поместится на CPU2-RAM4-DISK50?
Ограничение не в пользователях, а в одновременных сохранениях: каждое качает страницу. Для десятка читающих людей тарифа CPU2-RAM4-DISK50 достаточно.
Работает ли восстановление пароля по почте?
Да, проверяли письмом: приходит за секунды. Учтите поведение продукта - повторный запрос письма не отправляет, но показывает тот же экран «проверьте почту».
Можно ли обойтись без PostgreSQL?
Да, образ по умолчанию работает на SQLite - это проще для одного человека. Мы взяли PostgreSQL, потому что архив многопользовательский и импорт пишет тысячами записей.
Итог
wallabag 2.6.14 делает одно дело и делает его хорошо: забирает текст статьи себе и отдает его вам где угодно - в браузере, на телефоне, на читалке. Три контейнера занимают 111 МиБ и живут на машине за 500 рублей в месяц. Переезд с Pocket работает, хотя и не тем способом, который описан в документации. Русские сайты сохраняются лучше, чем можно было ожидать от 22 правил на зону. Главное, за что стоит браться, - архив перестает зависеть от чужого решения закрыться.
Развертывание на Fatmetal Cloud Server
Официальный способ - три контейнера: сам wallabag, база и Redis. От скачанных образов до рабочего интерфейса 51 секунда, но два шага придется сделать руками.
Поставить Docker
Образ Ubuntu 24.04 приходит без него. Установка из официального репозитория заняла 58 секунд.
Описать три сервиса
services: wallabag: image: wallabag/wallabag:2.6.14 environment: - SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql - SYMFONY__ENV__DATABASE_HOST=db - SYMFONY__ENV__DOMAIN_NAME=https://read.example.com - SYMFONY__ENV__SECRET=<замените> - SYMFONY__ENV__FOSUSER_REGISTRATION=false ports: - "127.0.0.1:8080:80" volumes: - /opt/wallabag/images:/var/www/wallabag/web/assets/images db: image: postgres:16-alpine redis: image: redis:7-alpineАдрес в
DOMAIN_NAMEдолжен быть ровно тем, по которому вы открываете сервис. Порт наружу не выставляем - перед ним обратный прокси с сертификатом.Отдать базу приложению
docker exec wallabag-db psql -U postgres \ -c "ALTER DATABASE wallabag OWNER TO wallabag;"Без этой строки на PostgreSQL 15 и новее установка падает. Подробности ниже, в разделе про поломки.
Запустить установку
docker exec wallabag /var/www/wallabag/bin/console \ wallabag:install --env=prod --no-interactionЧетыре шага, шестнадцать таблиц, около сорока секунд.
Сменить пароль администратора
docker exec -u nobody wallabag /var/www/wallabag/bin/console \ fos:user:change-password wallabag '<новый пароль>' --env=prodИз коробки логин и пароль -
wallabagиwallabag. Менять обязательно.
Что измерили
| Стенд | CPU2-RAM4-DISK50, Ubuntu 24.04.4, Docker 29.8.1 |
| Версия и образ | wallabag 2.6.14, wallabag/wallabag:2.6.14 |
| Скачивание образов | 66 с, 965 МБ на три образа |
| Память в простое | 111 МиБ на три контейнера: 83 + 25 + 3 |
| Память под работой | 144 МиБ; машина целиком 676 МБ из 3915 |
| Первый ответ интерфейса | 42 мс на страницу входа |
| Импорт 41 ссылки | 16,4 с, все 41 записи созданы |
| Место на статью | 17 КБ в базе; 10 000 статей ≈ 170 МБ |
| То же с картинками | 3,1 МБ на статью; 10 000 статей ≈ 31 ГБ |
Тарифа CPU2-RAM4-DISK50 хватает с многократным запасом: продукт занимает около десятой доли доступной памяти. Тяжелая операция здесь одна - загрузка страниц при импорте, и она упирается в сеть, а не в железо.
Где может сломаться
Четыре поломки, на которые мы наступили живьем. В карточке маркетплейса все они уже обойдены рецептом - этот раздел для тех, кто ставит руками.
SQLSTATE[42501]: permission denied for schema public
Установка падает на создании таблиц. Образ заводит базу, но оставляет ее во владении служебной учетной записи, а PostgreSQL с версии 15 разрешает создавать таблицы только владельцу. Лечится строкой ALTER DATABASE wallabag OWNER TO wallabag до первого запуска. В примере из документации апстрима стоит PostgreSQL 9.6 - там этого ограничения еще нет, поэтому проблема и не видна.
Postgres database is already configured
Если установка один раз упала, сама она больше не повторится: контейнер проверяет, существует ли база, а не заполнена ли она. Сервис будет бесконечно отдавать ошибку 500 и не починится ни перезапуском, ни пересозданием. Запускайте установку командой вручную.
Контейнер говорит «здоров», когда сервис не работает. Встроенная проверка стучится в служебный адрес, который отвечает и без базы. Семь минут подряд система показывала зеленый статус у мертвого сервиса. Ориентируйтесь на страницу входа, а не на статус контейнера.
Адрес в настройках должен совпадать с адресом в браузере. Иначе шрифт значков не проходит проверку источника, и вместо иконок в панели появляются английские слова. Ошибок при этом нет нигде.
И одна не про wallabag. В облаке путь наружу бывает уже, чем объявляет сетевая карта, и контейнеры этого не знают: страницы качаются в ноль байт, а выглядит это как «продукт не умеет разбирать сайты». В нашей карточке маркетплейса это учтено в рецепте.
Сколько это стоит против подписок
| Вариант | Цена в год | Примечание |
|---|---|---|
| Свой сервер на Fatmetal | 6000 ₽ | пользователей сколько угодно |
| wallabag.it, хостинг разработчика | 11 € | один аккаунт, оплата картой за рубеж |
| Raindrop.io Pro | 27,99 $ | хранит ссылку, а не текст статьи |
| Instapaper Premium | 59,99 $ | закрытый код, данные у вендора |
| Readwise Reader | 119,88 $ | дороже всех, зато с разбором прочитанного |
Одному человеку свой сервер ради экономии не нужен. Одиннадцать евро в год у самих разработчиков дешевле любого тарифа.
Считать в свою пользу начинает с шестого пользователя: подписка берется за аккаунт, а сервер - один на всех. Плюс два довода, которые деньгами не меряются: оплата рублями и архив, который не закроют вместе с чужим сервисом.
Когда это НЕ ваш выбор
Вам нужен менеджер закладок, а не читалка. wallabag хранит текст статей. Если задача - разложить ссылки по папкам, поделиться подборкой и найти нужное через полгода, посмотрите на karakeep: он про закладки и умеет раскладывать их по темам сам.
Вы ждете свежих версий. Версия 2.6.14 вышла 7 октября 2025 года. Разработка идет активно, но выпуск следующей версии откладывается уже почти год.
Вы не готовы к неровному русскому интерфейсу. Перевод есть и он хороший, но самые новые разделы - включая оба рабочих способа переезда с Pocket - остались непереведенными, и вместо описания там служебные строки.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли ошибку в гайде - напишите, поправим в течение дня.