Files
articles/ru/install-seed.md

7.5 KiB
Raw Permalink Blame History

Рекомендации

Гайд написан и протестирован на Ubuntu 22.04. Работоспособность на других ОС не гарантируеться!


Шаг 1. Подготовка системы и создание пользователя

  1. Обновите систему:

    apt update && apt upgrade -y
    
  2. Установите необходимые пакеты:

    apt install rtorrent tmux curl build-essential ufw -y
    
  3. Создайте пользователя torrent (без пароля, так как будем управлять им через systemd):

    adduser --disabled-password --gecos "" torrent
    

Шаг 2. Настройка rTorrent

Перейдем под созданного пользователя и создадим нужные папки и конфигурацию.

  1. Переключитесь на пользователя torrent:

    su - torrent
    
  2. Создайте структуру директорий для загрузок и сессий:

    mkdir -p ~/rtorrent/{downloads,session,watch,add}
    
  3. Создайте конфигурационный файл ~/.rtorrent.rc:

    nano ~/.rtorrent.rc
    
  4. Вставьте в него следующую базовую конфигурацию:

    # Директории
    directory.default.set = /home/torrent/rtorrent/downloads
    session.path.set = /home/torrent/rtorrent/session
    schedule = watch_directory,5,5,"load.normal=/home/torrent/rtorrent/add/*.torrent"
    
    # Порты для входящих соединений (для самих торрентов)
    network.port_range.set = 50000-50000
    network.port_random.set = no
    
    # Настройка SCGI сокета для связи с Flood
    network.scgi.open_local = /home/torrent/rtorrent/rpc.socket
    execute.nothrow = chmod,770,/home/torrent/rtorrent/rpc.socket
    
    # Шифрование
    protocol.encryption.set = allow_incoming,try_outgoing,enable_retry
    
    # Трекеры и DHT
    dht.mode.set = auto
    dht.port.set = 6881
    protocol.pex.set = yes
    trackers.use_udp.set = yes
    

    Сохраните файл (Ctrl+O, Enter) и закройте редактор (Ctrl+X).

  5. Выйдите из пользователя torrent обратно в root:

    exit
    

Шаг 3. Установка Node.js и Flood

Flood — это веб-приложение на Node.js. Установим актуальную версию Node.js.

  1. Добавьте репозиторий Node.js (например, 20-ю LTS версию):

    curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
    
  2. Установите Node.js:

    apt-get install -y nodejs
    
  3. Установите Flood глобально через пакетный менеджер npm:

    npm install -g flood
    

Шаг 3. Установка File Browser

  1. Установка:

     curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
    
  2. Запуск для получения пароля:

    filebrowser \
       -r /mnt/data \
       --address 0.0.0.0 \
       --port 8070 \
       --database /root/filebrowser.db
    

Выключите скрипт (Ctrl+C).

НЕ ЗАБУДЬТЕ ЗАПИСАТЬ ВЫДАННЫЙ ПАРОЛЬ!


Шаг 4. Назначение необходимых прав на папки

  1. Установка ACL:
    sudo apt install acl
    
  2. Назначение общих прав на папки для нормальной работы File Browser
    sudo setfacl -R -m u:torrent:rwx /home/torrent
    sudo setfacl -R -d -m u:torrent:rwx /home/torrent
    

Шаг 5. Создание сервисов (systemd)

Чтобы rTorrent и Flood работали в фоне и автоматически запускались при перезагрузке сервера, создадим для них systemd-сервисы.

1. Сервис для rTorrent

Создайте файл:

nano /etc/systemd/system/rtorrent.service

Вставьте код:

[Unit]
Description=rTorrent
After=network.target

[Service]
Type=forking
User=torrent
Group=torrent
# Запускаем rTorrent внутри tmux, чтобы при желании можно было подключиться к консоли
ExecStart=/usr/bin/tmux new-session -s rtorrent -n rtorrent -d rtorrent
ExecStop=/usr/bin/tmux send-keys -t rtorrent C-q
WorkingDirectory=/home/torrent
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

2. Сервис для Flood

Создайте файл:

nano /etc/systemd/system/flood.service

Вставьте код (здесь мы указываем порт 8099):

[Unit]
Description=Flood Web UI
After=rtorrent.service

[Service]
Type=simple
User=torrent
Group=torrent
ExecStart=/usr/bin/flood --port 8099 --host 0.0.0.0
WorkingDirectory=/home/torrent
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

2. Сервис для File Browser

Создайте файл:

sudo nano /etc/systemd/system/filebrowser.service

Вставьте код (здесь мы указываем порт 8099):

[Unit]
Description=File Browser
After=network.target

[Service]
Type=simple
User=root
Group=root

ExecStart=/usr/local/bin/filebrowser \
    -r /home/torrent \
    --address 0.0.0.0 \
    --port 8070 \
    --database /root/filebrowser.db
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Шаг 6. Запуск сервисов и настройка фаервола

  1. Перезагрузите конфигурацию systemd:

    systemctl daemon-reload
    
  2. Добавьте сервисы в автозагрузку и запустите их:

    systemctl enable --now rtorrent
    systemctl enable --now flood
    systemctl enable --now filebrowser
    
  3. Проверьте статус (оба должны быть active (running)):

    systemctl status rtorrent
    systemctl status flood
    systemctl status filebrowser
    
  4. Откройте необходимые порты в фаерволе (если вы используете UFW):

    ufw allow 8099/tcp   # Порт для веб-интерфейса Flood
    ufw allow 50000/tcp  # Порт для входящих торрентов
    ufw allow 6881/udp   # Порт для DHT
    ufw allow 8070/tcp   # Порт для File Browser
    

Шаг 7. Первоначальная настройка в браузере

  1. Откройте браузер и перейдите по адресу вашего сервера: http://IP_ВАШЕГО_VPS:8099

  2. Перед вами появится окно первоначальной настройки Flood:

    • Username / Password: Придумайте логин и пароль для входа в веб-интерфейс.
    • Client: Выберите rTorrent.
    • Connection type: Выберите Socket (Сокет).
    • Socket path: Введите путь, который мы указывали в конфиге: /home/torrent/rtorrent/rpc.socket
  3. Нажмите Connect (или Create Account).


Готово! File Browser, Flood + rTorrent установлены