Установка TorrServer на Linux Ubuntu Server

Update 20210603 - добавлена инструкция по обновлению

Update 20221006 - добавлена инструкция по сборке docker

Недавно начал использовать просмотры фильмов своем тв (Xiaomi MI TV 4a) через торрент. Для этого имеется замечательная кроссплатформенная программ TorrServer.

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

Приобрел VPS для своих поделок и попробовал на нем установить сервер, чтобы разгрузить тв. В итоге все почти идеально. У меня канал интернета не большой (100 м/б) и на сервере тоже, поэтому проверял только на FHD фильмах.

Инструкция не моя, нашел на "голубом форуме". Итак, инструкция была написана для 19.04, но я испробовал его на 20.04. Все ок!

Качаем нужный TorrServer, создаем папку /opt/torrserver/ и перемещаем туда TorrServer командами:

wget https://github.com/YouROK/TorrServer/releases/download/1.1.77/TorrServer-linux-amd64
sudo mkdir /opt/torrserver
sudo mv TorrServer-linux-amd64 /opt/torrserver
Даём права на исполнение файла командой:
sudo chmod +x /opt/torrserver/TorrServer-linux-amd64
Устанавливаем systemd-контейнер командой:
sudo apt install systemd-container
Создаем unit в директории командой:
sudo nano /etc/systemd/system/torrserver.service
со следующим содержимым:

[Unit]
Description=torrserver
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
WorkingDirectory=/opt/torrserver
ExecStart=/opt/torrserver/TorrServer-linux-amd64 --p 8090
Restart=on-failure
RestartSec=5s

Перезагружаем демон systemd и включаем TorrServer командами:
sudo systemctl daemon-reload
sudo systemctl start torrserver
sudo systemctl enable torrserver
Проверить состояние TorrServer, можно командой:
sudo systemctl status torrserver
Если TorrServer не стартанул, перезагружаемся командой:
sudo reboot

TorrServer должен стать доступен по адресу:
http://localhost:8090
Настройки:
http://localhost:8090/settings
Кэш работы:
http://localhost:8090/cache
Статистика:
http://localhost:8090/stat
(Если устанавливаете на удаленной машине, то localhost смените на IP-адрес машины)

Вот так примерно оно работает на телефоне

Инструкция, как обновить TorrServer

Сперва необходимо остановить сервис
sudo systemctl stop torrserver
Затем скачать новую версию
wget https://github.com/YouROK/TorrServer/releases/download/MatriX.96/TorrServer-linux-amd64
Перемещаем в ранее созданную папку
sudo mv TorrServer-linux-amd64 /opt/torrserver
Предоставляем права на исполнение
sudo chmod +x /opt/torrserver/TorrServer-linux-amd64
Запускаем сервис
sudo systemctl start torrserver
На всякий случай проверяем статус, запустился или нет
sudo systemctl status torrserver
Если не запустился, то перезагружаем сервер ;)
sudo reboot

Инструкция, как запустить TorrServer в Docker-контейнере

Устанавливаем docker по оф инструкции
https://docs.docker.com/engine/install/debian/
https://docs.docker.com/engine/install/ubuntu/
Ниже опишу установку под Ubuntu
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Теперь создаем dockerfile
cd opt
sudo nano Dockerfile
Копируем туда следующий текст (отредактировав под себя)


FROM ubuntu:20.04 

# Берем новую версию TorrServe https://github.com/YouROK/TorrServer/releases
# Если не знаете какая архитектура у вас, то введите у себя к терминале следующую команду dpkg --print-architecture
RUN  apt-get update && apt-get install -y wget &&  \ 
   mkdir /torrserver/ && cd /torrserver/ && mkdir /db &&  \
   wget -O TorrServer -P /torrserver/ "https://github.com/YouROK/TorrServer/releases/download/MatriX.118/TorrServer-darwin-arm64" &&  \
   chmod +x /torrserver/TorrServer

EXPOSE 8090:8090

ENTRYPOINT ["/torrserver/TorrServer"]

VOLUME ["--path" "/torrserver/db"]


Собираем контейнер
sudo docker build -t daradan/torrserver:v118 .
Запускаем и проверяем
sudo docker run -d --restart=always -v /opt/torrserver/db:/torrserver/db  -p 8090:8090 daradan/torrserver:v118
sudo docker ps
В терминале должно появиться примерно так
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d92c42d0e8e7 daradan/torrserver:v118 "/torrserver/TorrSer…" 23 minutes ago Up 23 minutes 0.0.0.0:8090->8090/tcp
Для обновления версии TorrServe проделываем начиная с "Теперь создаем dockerfile"













Комментарии

  1. Спасибо, мужик! Прям по этой инструкции с первого раза все взлетело (ставил на Linux Mint, на ноуте для локального просмотра вне дома). Дома TorrServer стоит на Win10, смотрю на разных андроидных ящиках и приставках через него по локальной сети.
    Но вот вопрос: Xiaomi MI TV 4a - как на нем суперпользователя получить? У меня 55-дюймовая версия, что-то нигде не находил упоминаний, что на нем можно root получить.

    ОтветитьУдалить
    Ответы
    1. не за что ;) у меня 50' (покупал в конце 2018 года). Для получения рут можете попробовать по этой инструкцией https://bit.ly/3iefcra

      Удалить
  2. Хочу обновиться до последней версии (Matrix, https://github.com/YouROK/TorrServer/releases/latest), как думаете, если прям по этой же инструкции забабахать поверх старого 1.1.77 - прокатит?

    ОтветитьУдалить
    Ответы
    1. Я вот недавно обновился до matrix (чуть позже распишу здесь).
      Вкратце, останавливаем процесс, ложим новый пакет заместно старого и перегружаем ОС. Вроде так...

      Удалить
    2. Напишите пожалуйста как обновиться на матрикс.

      Удалить
    3. Дополнил инструкцию. Как обновить описал в конце статьи

      Удалить
    4. Спасибо за дополнение инструкции! Я, правда, не дождался, сам с бубном танцевал, но для будущих обновлений очень полезно. Спасибо!

      Удалить
  3. У меня выдает ошибку: "Process: 1029 ExecStart=/opt/torrserver/TorrServer-linux-amd64 --p 8090 (code=exited, status=203/EXEC)
    "

    ОтветитьУдалить
    Ответы
    1. не силен в этом. Но вероятно вы права на файл не выставили, либо файла не существует...

      Удалить
    2. Вот в чем Вы действительно сильны это как та обезьянка заниматься бездумным копирастом чужих безграмотных статей в сети Интернет.😏👎👎
      Не работает Ваша инструкция в Fedora 33 x64 :
      ● torrserver.service - torrserver
      Loaded: loaded (/etc/systemd/system/torrserver.service; enabled; vendor preset: disabled)
      Active: activating (auto-restart) (Result: exit-code) since Wed 2022-08-10 06:33:22 +05; 2s ago
      Process: 3593 ExecStart=/opt/torrserver/TorrServer-linux-amd64 --p 8090 (code=exited, status=203/EXEC)
      Main PID: 3593 (code=exited, status=203/EXEC)
      CPU: 2ms
      Теперь по конкретно по пунктам :
      Какое отношение автор ко всему что вы делаете имеет пакет виртуализации systemd-container который вы устанавливаете командой sudo apt install systemd-container ведь не полноценный контейнер не образ Вы не создаёте ???? 🤔
      Лошадь впереди телеги 😏😀: сначала запускаем демон ссылки на который нет в системе sudo systemctl start torrserver потом его разрешаем sudo systemctl enable torrserver (вообще-то у грамотных системных администраторов и авторов должно быть наоборот 😏)
      PS Вообщем щеки дул умный вид напускал, сам не знам но Вам объясням .👎👎👎
      И не надо мне ля ля про неправильные права доступа к файлу ,в консоле всё прекрасно работает :
      # /opt/torrserver/TorrServer-linux-amd64 --p 8090
      2022/08/10 06:36:20 ffprobe and avprobe not found in $PATH
      =========== START ===========
      TorrServer MatriX.117, go1.18.3, CPU Num: 4
      2022/08/10 06:36:20 Check dns OK [108.177.14.104 108.177.14.147 108.177.14.106 108.177.14.99 108.177.14.105 108.177.14.103 2a00:1450:4010:c0e::6a 2a00:1450:4010:c0e::68 2a00:1450:4010:c0e::63 2a00:1450:4010:c0e::67]
      2022/08/10 06:36:20 Check web port 8090
      2022/08/10 06:36:20 Start TorrServer
      2022/08/10 06:36:20 Local IPs: [192.168.1.162]
      2022/08/10 06:36:20 Check listen port 32000
      2022/08/10 06:36:20 Set listen port 32000
      2022/08/10 06:36:20 Client config: {"CacheSize":67108864,"ReaderReadAHead":95,"PreloadCache":50,"UseDisk":false,"TorrentsSavePath":"","RemoveCacheOnDrop":false,"ForceEncrypt":false,"RetrackersMode":1,"TorrentDisconnectTimeout":30,"EnableDebug":false,"EnableDLNA":false,"FriendlyName":"","EnableIPv6":false,"DisableTCP":false,"DisableUTP":false,"DisableUPNP":false,"DisableDHT":false,"DisablePEX":false,"DisableUpload":false,"DownloadRateLimit":0,"UploadRateLimit":0,"ConnectionsLimit":25,"PeersListenPort":0}
      ...................................
      ..................................
      2022/08/10 06:42:36 PublicIp4: 46.45.24.238
      2022/08/10 06:42:37 end set settings
      2022/08/10 06:42:42 New torrent 110ee027c4acc646f55835abae99620af53db57e
      2022/08/10 06:42:42 Create cache for: Ty_u_menya_odna.avi 110ee027c4acc646f55835abae99620af53db57e
      2022/08/10 06:50:16 Torrent close by timeout 110ee027c4acc646f55835abae99620af53db57e
      2022/08/10 06:50:16 Close cache for: 110ee027c4acc646f55835abae99620af53db57e
      Хотя сыплет кучу ошибок.

      Удалить

  4. Спасибо большое за публикацию. Torrserver запускается только внутри - в localhost. Из вне сервер недоступен. Как вы поднял на vps, но даже curl из консоли по внешнему ip не видит маршрута до хоста. Из localhost - все отлично

    ОтветитьУдалить
    Ответы
    1. Извне - это откуда? У меня в локальной сети прекрасно доступен: стучишься не по localhost, а по IP локальной машины. Смотрю так через Raspberry на нормальных телевизорах, сервер на ноуте (просто в этой квартире у меня больше не на что сервер поставить, а смотреть - есть на чем). Или Вам нужен доступ из-за пределов локалной сети?

      Удалить
    2. У вас сервер на vps или на домашнем сервере? Если первое, то я просто все описал в инструкции и все ок. Если второе - то у вас должен быть IP-адрес статичный, либо можно попробовать настроить ddns (но это мысли в слух)...

      P.S. что-то казахтелеком блокирует мне мой блог, приходиться заходить через vpn. Поэтому могу не сразу отвечать ((

      Удалить
  5. Привет, а как ты сделал что бы программа искала торренты на андройде, у тебя показано на видео?

    ОтветитьУдалить
    Ответы
    1. Приложение называется Lazy Media Deluxe. Есть еще другие аналоги: HD VideoBox, NUM и т.д.

      Удалить
  6. Подскажите оптимальные Настройки для торрсерв

    ОтветитьУдалить
    Ответы
    1. Настойки оставил у себя по умолчанию, не игрался. Вроде норм. Я просто не часто смотрю торренты. Бывает иногда сервер торра зависает, помогает перезагрузка ОС сервера.

      Удалить
  7. Приветствую, хотел бы поинтересоваться, какой тариф vps приобретен ? Достаточно ли самого бюджетного или же лучше раскошелиться?

    ОтветитьУдалить
    Ответы
    1. У меня VDS/VPS "Micro": ОЗУ - 2Гб, SSD - 20 Гб, Ubuntu 20,04 без графической оболочки за 2.93 €/мес. На нем у меня не только TorrServer, но и другие проекты висят. Для моих целей этого предостаточно.

      Удалить
    2. Большое спасибо за информацию

      Удалить
  8. Подскажите как поженить с другими проектами которые висят на локальном сервере с доменом? Висит iredmail думаю из за него я не могу попасть в вебинтерфейс торрсервера не по локальному ip не через мир.

    ОтветитьУдалить
    Ответы
    1. Порты открыты. Я думаю надо конфиг nginx ковырять, но понятной инструкции не нагуглил.

      Удалить
  9. Ребят, подскажите как выставить параметры безопасности (только чтение), чтобы сторонние люди не могли перезагрузить его.

    ОтветитьУдалить
    Ответы
    1. В документации сказано, что необходимо рядом создать файл accs.db следующим содержанием:
      {
      "User1": "Pass1",
      "User2": "Pass2"
      }

      https://github.com/YouROK/TorrServer#authorization

      Удалить
    2. Подскажите, где должен лежать этот файл? Учитывая что устанавливал по этой инструкции? Сейчас гол как сокол, правда порт нестандартный стоит, но хочется все-таки запаролить на всякий случай. Спасибо.

      Удалить
  10. Привет подскажите как установить на ubuntu budgie торсерв чтоб пр нцып бил такой как на виндовс10 я новичок. Спосибо

    ОтветитьУдалить
  11. Такой вопрос: куда нужно добавить файл, чтобы он был доступен через web сервис торрсерва? Скажем http://torrserv:8090/file.txt ?

    ОтветитьУдалить
  12. Этот комментарий был удален администратором блога.

    ОтветитьУдалить

Отправить комментарий