Readeck - это веб-приложение с открытым исходным кодом категории «read-it-later», которое разворачивается на собственном сервере пользователя. Основная идея проекта заключается в том, чтобы предоставить полный контроль над сохранённым контентом без зависимости от сторонних облачных сервисов. Readeck извлекает читабельное содержимое веб-страниц, очищает его от рекламы и лишних элементов, и сохраняет в удобном формате для дальнейшего просмотра - в том числе офлайн.

Основной сценарий - сохранение найденных в интернете статей для чтения позже. Пользователь встречает интересный материал в браузере, нажимает кнопку расширения Readeck и статья сохраняется в чистом, читабельном виде. Впоследствии к ней можно вернуться с любого устройства через веб-интерфейс. Удобен для чтения на e-ink ридерах или передачи материалов коллегам.

По сравнению с Wallabag, Readeck проще в установке и менее требователен к ресурсам.

Предпосылки

  • Сервер под управлением Ubuntu 26.04
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.

Шаг 1. Обновите систему

Свежая установка Ubuntu 26.04 требует обновления пакетов до последних доступных версий.

1
sudo apt update -y && sudo apt upgrade -y

Система может нуждаться в перезагрузке после обновления.

1
sudo reboot -f

Шаг 2. Установите PostgreSQL

Установите пакет Postgres.

1
sudo apt install postgresql

После установки запустите и включите службу PostgreSQL.

1
sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service

Шаг 3. Создание базы данных

Нам нужно создать базу данных для Readeck для работы.

1
2
3
sudo -u postgres psql -c "CREATE USER readeck WITH PASSWORD 'YourStrongPassword';"
sudo -u postgres psql -c "CREATE DATABASE readeck_db OWNER readeck;"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE readeck_db TO readeck;"

Шаг 4. Создайте пользователя для запуска

1
2
3
4
sudo groupadd --system readeck
sudo useradd --system --home-dir /var/lib/readeck --no-create-home --shell /bin/false --gid readeck readeck
sudo mkdir /var/lib/readeck
sudo chown readeck:readeck /var/lib/readeck

Шаг 5. Установите Readeck

Загрузите последний бинарный файл со страницы релизов на домашней странице.

1
wget -O /tmp/readeck https://codeberg.org/readeck/readeck/releases/download/0.22.3/readeck-0.22.3-linux-amd64

И переместите в /usr/local/bin/ каталог.

1
sudo mv /tmp/readeck /usr/local/bin/

Сделайте файл readeck исполняемый.

1
sudo chmod +x /usr/local/bin/readeck

Шаг 6. Создайте необходимую структуру каталогов

1
2
3
sudo mkdir /etc/readeck
sudo chown readeck:root /etc/readeck
sudo chmod 750 /etc/readeck

Структура каталогов, приведенная выше, рекомендована официальной документацией Readeck.

Шаг 7. Создать системный сервис

Теперь нам нужно создать службу systemd для автозапуска и управления Readeck.

1
sudo nano /etc/systemd/system/readeck.service

Заполните файл следующим.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[Unit]
Description=Readeck
After=network.target
After=postgresql.service

[Service]
User=readeck
Group=readeck
WorkingDirectory=/var/lib/readeck
ExecStart=/usr/local/bin/readeck serve -config /etc/readeck/config.toml
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Теперь вы можете перезагрузить систему и запустить Readeck.

1
2
3
sudo systemctl daemon-reload
sudo systemctl start readeck.service
sudo systemctl enable readeck.service

Шаг 8. Настройте Readeck

Наконец, нам нужно настроить Readeck. Файл конфигурации хранится в /etc/readeck/config.toml.

1
sudo nano /etc/readeck/config.toml

И добавьте следующее содержимое.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[main]
log_level = "info"
secret_key = "some long secret key, can be anything"
data_directory = "data"

[server]
host = "127.0.0.1"
port = 8000

[database]
source = "postgres://readeck:YourStrongPassword@127.0.0.1:5432/readeck_db"

Шаг 9. Настройте Nginx в качестве обратного прокси

1
sudo apt install nginx

Создайте обратный конфигурацию прокси-сервера для Readeck.

1
sudo nano /etc/nginx/sites-available/readeck.conf

Заполните файл следующей конфигурацией.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
server {
    server_name     readeck.example.com;
    listen          80;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
        proxy_buffering off;
        client_max_body_size 50M;
    }
}

Включите конфигурацию обратной прокси-сервера Readeck Nginx.

1
sudo ln -s /etc/nginx/sites-available/readeck.conf /etc/nginx/sites-enabled/readeck.conf

Проверка конфигурации и перезагрузите службу Nginx.

1
2
sudo nginx -t
sudo systemctl restart nginx.service

Затем посетите веб-сайт по адресу http://readeck.example.com для доступа.

Для первого входа в систему используется учетные данные.

Шаг 10. Получите сертификат TLS от Let’s Encrypt

Мы будем использовать Let’s Encrypt для получения SSL-сертификата бесплатно. Пожалуйста, убедитесь, что вы указали свой поддомен на IP-адрес сервера. Шаги, приведенные ниже, будут работать только в том случае, если вы обслуживаете интерфейс управления с помощью Nginx.

1
$ sudo apt install python3-certbot-nginx

Запрос на Let’s Encrypt SSL.

1
$ sudo certbot certonly --nginx -d readeck.example.com

Проверьте SSL

Откройте следующую ссылку в вашем веб-браузере для проверки.

1
https://readeck.example.com

Следующая команда гарантирует, что Certbot может проверить ваш поддомен с помощью вашей конфигурации.

1
$ sudo certbot renew --dry-run

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

Он автоматически настраивает /etc/nginx/sites-available/readeck.conf для включения SSL.

Завершение

Поздравляем! Вы успешно установили и настроили Readeck на Ubuntu 26.04.

Если вам понравился этот пост о том, как установить Readeck на Ubuntu 26.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.