Сервер загрузки: различия между версиями

Материал из wolfram
Перейти к навигации Перейти к поиску
 
(не показано 5 промежуточных версий этого же участника)
Строка 3: Строка 3:
Torrent серверы - начинал с transmission, потом использовал deluge. Сейчас остановился на qBitorrent. Мне кажется он более современный. Настроек побольше в Веб интерфейсе.  
Torrent серверы - начинал с transmission, потом использовал deluge. Сейчас остановился на qBitorrent. Мне кажется он более современный. Настроек побольше в Веб интерфейсе.  


== qBittorrent ==
== Установка и настройка qBittorrent Enhanced Edition ==
Есть просто изумительная инструкция установки [https://obu4alka.ru/ustanovka-qbittorrent-na-ubuntu-server-20-04-lts.html по ссылке]. Но я не собираюсь ссылаться, опишу именно то, как я это применил, для своих задач.
Эта инструкция описывает процесс установки '''qBittorrent Enhanced Edition''' через PPA-репозиторий на Ubuntu или других Debian-based системах, настройку системного пользователя, прав доступа, запуск службы и подключение к веб-интерфейсу. Инструкция ориентирована на использование версии без графического интерфейса (nox).


=== Установка ===
=== Предварительные требования ===
Добавим репозитории для установки:
* Система на базе Ubuntu/Debian с доступом к терминалу.
add-apt-repository ppa:qbittorrent-team/qbittorrent-stable
* Права суперпользователя (sudo).
Далее устанавливаем утилиту без GUI интерфейса.
* Подключение к интернету для загрузки пакетов.
apt install qbittorrent-nox
Создадим пользователя '''qbittorrent-nox''' и аналогичную группу.
adduser --system --group qbittorrent-nox
Так же добавлю своего пользователя в эту группу.
adduser vova qbittorrent-nox


=== Настройка ===
=== Добавление PPA-репозитория и установка ===
Для автоматического запуска qbittorrent в Ubuntu, давайте создадим службу:
qBittorrent Enhanced Edition — это форк стандартного qBittorrent с дополнительными функциями. Установка выполняется через официальный PPA-репозиторий для получения актуальной версии.
nano /etc/systemd/system/qbittorrent-nox.service
Со следующим содержанием:<syntaxhighlight>
[Unit]
Description=qBittorrent Command Line Client
After=network.target


[Service]
Выполните следующие команды:<source lang="bash">
#Do not change to "simple"
sudo add-apt-repository ppa:poplite/qbittorrent-enhanced
Type=forking
sudo apt update
User=qbittorrent-nox
sudo apt install qbittorrent-enhanced-nox
Group=qbittorrent-nox
</source>
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
Restart=on-failure


[Install]
; Пояснения
WantedBy=multi-user.target
:
</syntaxhighlight>Запускаем нашу службу:
systemctl start qbittorrent-nox
Также давайте пропишем нашу службу в автозагрузку, чтобы qbittorrent стартовал при перезагрузке системы:
systemctl enable qbittorrent-nox
Для просмотра статус службы набираем:
systemctl status qbittorrent-nox
Для настройки Веб-интерфейса необходимо перейти по адресу.
<nowiki>http://localhost:8080</nowiki>
Открывается окно в котором необходимо ввести логин и пароль:
login: admin
password: adminadmin
Тут уже как обычно, можно выбрать язык, задать нужные настройки.


=== Proxy ===
* <code>add-apt-repository</code> добавляет PPA-репозиторий с пакетами qBittorrent Enhanced Edition.
* <code>apt update</code> обновляет список пакетов, чтобы система видела новый репозиторий.
* <code>qbittorrent-enhanced-nox</code> — версия без графического интерфейса, предназначенная для серверов.
 
=== Настройка пользователя qbtuser ===
При установке создаётся системный пользователь <code>qbtuser</code>, от имени которого работает qBittorrent. Однако у него изначально отсутствует домашняя директория, что требует ручной настройки.
 
Выполните команды:<source lang="bash">
sudo mkdir /home/qbtuser
sudo chown qbtuser:qbtuser /home/qbtuser
sudo chmod 700 /home/qbtuser
sudo usermod -d /home/qbtuser qbtuser
</source>
 
; Пояснения
:
 
* <code>mkdir /home/qbtuser</code> создаёт домашнюю директорию.
* <code>chown qbtuser:qbtuser</code> назначает владельцем директории пользователя и группу <code>qbtuser</code>.
* <code>chmod 700</code> ограничивает доступ к директории только для владельца.
* <code>usermod -d /home/qbtuser qbtuser</code> привязывает директорию как домашнюю для пользователя.
 
=== Проверка настроек пользователя ===
 
Убедитесь, что пользователь настроен корректно:<source lang="bash">
getent passwd qbtuser
</source>Ожидаемый результат:<source lang="bash">
qbtuser:x:107:110::/home/qbtuser:/usr/sbin/nologin
</source>
 
; Пояснения
:
 
* Если до команды <code>usermod</code> выполнить проверку, домашняя директория будет <code>/nonexistent</code>.
* Поле <code>/home/qbtuser</code> подтверждает успешную привязку директории.
* <code>/usr/sbin/nologin</code> указывает, что это системный пользователь без возможности входа в оболочку.
 
=== Проверка идентификаторов пользователя ===
Идентификаторы пользователя и группы важны для настройки прав доступа, особенно при использовании контейнеров.
 
Выполните:<source lang="bash">
id qbtuser
</source>Ожидаемый результат:<source lang="bash">
uid=107(qbtuser) gid=110(qbtuser) groups=110(qbtuser)
</source>
 
; Пояснения
:
 
* <code>uid=107</code> — идентификатор пользователя.
* <code>gid=110</code> — идентификатор группы.
* Эти значения пригодятся для настройки контейнеров (например, Docker) или прав доступа к файлам.
 
=== Запуск и проверка службы ===
 
Запустите службу qBittorrent и проверьте её состояние:<source lang="bash">
sudo systemctl start qbittorrent-enhanced-nox
sudo systemctl status qbittorrent-enhanced-nox
</source>
 
; Пояснения
:
 
* <code>systemctl start</code> запускает службу.
* <code>systemctl status</code> отображает статус и логи. В логах можно найти временные логин и пароль для веб-интерфейса.
 
=== Подключение к веб-интерфейсу ===
qBittorrent управляется через веб-интерфейс.
 
# Откройте браузер и перейдите по адресу:
#: <code>http://<ip-адрес-машины>:8080</code>
# Введите логин и пароль из логов (по умолчанию: логин — <code>admin</code>, пароль — <code>adminadmin</code>).
# Смените логин и пароль в настройках веб-интерфейса для повышения безопасности.
 
; Пояснения
:
 
* Замените <code><ip-адрес-машины></code> на IP сервера. Для локальной машины используйте <code>localhost</code>.
* Порт <code>8080</code> можно изменить в конфигурации qBittorrent.
 
=== Настройка автозапуска ===
 
Включите автозапуск службы при загрузке системы:<source lang="bash">
sudo systemctl enable qbittorrent-enhanced-nox
</source>
 
; Пояснения
:
 
* Команда создаёт ссылки для автоматического запуска службы.
 
 
== Настройка монтирования каталога с хоста в LXC-контейнер с ремаппингом прав ==
Эта часть инструкции описывает настройку монтирования каталога с хоста в непривилегированный LXC-контейнер с использованием '''bindfs''' для ремаппинга прав доступа. Это необходимо, чтобы файлы, создаваемые в контейнере (например, qBittorrent), на хосте принадлежали пользователю и группе с ID <code>0:0</code> (root), а в контейнере соответствовали пользователю <code>qbtuser</code> (UID=107, GID=110).
 
=== Предварительные требования ===
 
* Хостовая система с установленным Proxmox VE или другим LXC-хостом.
* Непривилегированный LXC-контейнер (в примере — ID 108).
* Каталог на хосте (например, <code>/mnt/meganas/media</code>), который нужно монтировать в контейнер.
* Установленный qBittorrent Enhanced Edition в контейнере (см. [[Сервер загрузки#Установка и настройка qBittorrent Enhanced Edition|предыдущий раздел]]).
* Ремаппинг пользователей: на хосте UID=100107 и GID=100110 соответствуют UID=107 и GID=110 в контейнере.
 
=== Установка bindfs на хосте ===
Для ремаппинга прав доступа используется утилита '''bindfs''', которая позволяет монтировать каталог с изменением UID/GID.
 
Выполните на хосте:<source lang="bash">
apt install bindfs
</source>Проверьте версию для подтверждения установки:<source lang="bash">
bindfs --version
</source>
 
; Пояснения
:
 
* <code>bindfs</code> позволяет монтировать каталог с изменением владельца и прав доступа без изменения исходных файлов.
* Установка выполняется на хосте, а не в контейнере.
 
=== Проверка каталога на хосте ===
Перед настройкой убедитесь, что каталог на хосте имеет корректные права и владельца (<code>0:0</code>).
 
Выполните:<source lang="bash">
ls -ln /mnt/meganas/media/
</source>Пример вывода:<source lang="bash">
drwxrwxrwx+ 1 0 0  110 апр  7 09:17  Anime
drwxrwxrwx+ 1 0 0  98 дек 22 17:00  education
drwxrwxrwx+ 1 0 0  14 апр 11 19:18  Film
drwxrwxrwx+ 1 0 0  62 дек 22 17:05  Home
drwxrwxrwx+ 1 0 0  28 окт 18  2023  Series
drwxrwxrwx+ 1 0 0  444 апр 13 21:53  torrents
drwxrwxrwx+ 1 0 0  82 дек 22 16:59 'Восстановленое AI'
drwxrwxrwx+ 1 0 0  564 окт 21 09:30  Изображения
drwxrwxrwx+ 1 0 0  138 апр  7  2024  Музыка
drwxrwxrwx+ 1 0 0 1948 мар 26 20:36  шара
</source>
 
; Пояснения
:
 
* Все подкаталоги принадлежат <code>0:0</code> (root:root), что соответствует требованиям для монтирования в другие контейнеры.
* Права <code>drwxrwxrwx</code> обеспечивают полный доступ, что упрощает работу.
 
=== Настройка bindfs для ремаппинга ===
Создайте точку монтирования для bindfs на хосте:<source lang="bash">
mkdir /bindfs/217
</source>Выполните монтирование с ремаппингом:<source lang="bash">
bindfs --map=0/100107:@0/@100110 --perms=0775 /mnt/meganas/media /bindfs/217
</source>
 
; Пояснения
:
 
* <code>--map=0/100107:@0/@100110</code> указывает, что UID=0 и GID=0 на хосте будут отображаться как UID=100107 и GID=100110 в точке монтирования.
* <code>--perms=0775</code> задаёт права доступа для смонтированного каталога (чтение/запись для владельца и группы, чтение/выполнение для остальных).
* Исходный каталог <code>/mnt/meganas/media</code> монтируется в <code>/bindfs/217</code>.
 
Проверьте результат:<source lang="bash">
ls -ln /bindfs/217
</source>Ожидаемый вывод:<source lang="bash">
drwxrwxr-x+ 1 100107 100110  110 апр  7 09:17  Anime
drwxrwxr-x+ 1 100107 100110  98 дек 22 17:00  education
drwxrwxr-x+ 1 100107 100110  14 апр 11 19:18  Film
drwxrwxr-x+ 1 100107 100110  62 дек 22 17:05  Home
drwxrwxr-x+ 1 100107 100110  28 окт 18  2023  Series
drwxrwxr-x+ 1 100107 100110  444 апр 13 21:53  torrents
drwxrwxr-x+ 1 100107 100110  82 дек 22 16:59 'Восстановленое AI'
drwxrwxr-x+ 1 100107 100110  564 окт 21 09:30  Изображения
drwxrwxr-x+ 1 100107 100110  138 апр  7  2024  Музыка
drwxrwxr-x+ 1 100107 100110 1948 мар 26 20:36  шара
</source>
 
; Пояснения
:
 
* Все файлы и папки теперь отображаются с UID=100107 и GID=100110, что соответствует ремаппингу для контейнера.
 
=== Настройка LXC-контейнера ===
Чтобы каталог стал доступен в контейнере, обновите его конфигурацию.
 
Остановите контейнер:<source lang="bash">
pct stop 108
</source>Отредактируйте конфигурационный файл:<source lang="bash">
nano /etc/pve/lxc/108.conf
</source>Добавьте строку для монтирования:<source lang="bash">
mp0: /bindfs/217,mp=/nas
</source>
 
; Пояснения
:
 
* <code>mp0</code> — точка монтирования.
* <code>/bindfs/217</code> — каталог на хосте.
* <code>mp=/nas</code> — путь, где каталог будет доступен в контейнере.
 
Запустите контейнер:<source lang="bash">
pct start 108
</source>Войдите в контейнер для проверки:<source lang="bash">
pct enter 108
</source>Проверьте каталог в контейнере:<source lang="bash">
ls -ln /nas
</source>Ожидаемый вывод:<source lang="bash">
drwxrwxr-x+ 1 107 110  110 апр  7 09:17  Anime
drwxrwxr-x+ 1 107 110  98 дек 22 17:00  education
drwxrwxr-x+ 1 107 110  14 апр 11 19:18  Film
drwxrwxr-x+ 1 107 110  62 дек 22 17:05  Home
drwxrwxr-x+ 1 107 110  28 окт 18  2023  Series
drwxrwxr-x+ 1 107 110  444 апр 13 21:53  torrents
drwxrwxr-x+ 1 107 110  82 дек 22 16:59 'Восстановленое AI'
drwxrwxr-x+ 1 107 110  564 окт 21 09:30  Изображения
drwxrwxr-x+ 1 107 110  138 апр  7  2024  Музыка
drwxrwxr-x+ 1 107 110 1948 мар 26 20:36  шара
</source>
 
; Пояснения
:
 
* В контейнере каталог отображается с UID=107 и GID=110, что соответствует пользователю <code>qbtuser</code>.
* Благодаря ремаппингу в LXC, UID=100107 (хост) преобразуется в UID=107 (контейнер).
 
=== Настройка qBittorrent для использования каталога ===
В веб-интерфейсе qBittorrent (доступном по <code>http://<ip-контейнера>:8080</code>):
 
# Перейдите в раздел '''Настройки''' → '''Загрузки'''.
# Укажите путь для сохранения файлов, например, <code>/nas/torrents</code>.
# Сохраните изменения.
 
; Пояснения
:
 
* Все файлы, сохранённые qBittorrent в <code>/nas/torrents</code>, будут принадлежать <code>qbtuser</code> (UID=107, GID=110) в контейнере.
* На хосте эти файлы будут принадлежать <code>root</code> (UID=0, GID=0), что упрощает их использование в других контейнерах.
 
=== Дополнительные рекомендации ===
 
* '''Автоматизация bindfs''': Чтобы монтирование выполнялось автоматически, добавьте строку в <code>/etc/fstab</code>:
nano /etc/fstab
Вставим строку:<source lang="bash">
bindfs#/mnt/meganas/media /bindfs/217 fuse --map=0/100107:@0/@100110,--perms=0775 0 0
</source>
 
*
После этого проверить правильность составления <code>/etc/fstab</code>:
findmnt --verify
Должен появится вывод похожий на этот:<syntaxhighlight>
  [W] your fstab has been modified, but systemd still uses the old version;
      use 'systemctl daemon-reload' to reload
 
0 parse errors, 0 errors, 1 warning
</syntaxhighlight>Это говори об отсутствии ошибок и одном предупреждении, сообщающем о том что нужно перезапустить службу <code>daemon-reload</code>:
systemctl daemon-reload
После чего нужно отмонтировать наш тестовый каталог:
umount /bindfs/217
И выполнить монтирование с помощью <code>fstab</code>:
mount -a
 
=== Итог ===
Каталог с хоста теперь доступен в LXC-контейнере по пути <code>/nas</code> с правильным ремаппингом прав. qBittorrent может использовать этот каталог для загрузки файлов, и все изменения на хосте будут принадлежать <code>root</code> (UID=0, GID=0), что упрощает совместное использование с другими контейнерами. Настройка завершена, и вы можете продолжить работу с торрентами.
 
 
== Proxy ==


==== dns ====
==== dns ====

Текущая версия от 16:34, 13 апреля 2025

В данном разделе опишу методы получения информации из интернета на сервер, в частности хранилище NAS.

Torrent серверы - начинал с transmission, потом использовал deluge. Сейчас остановился на qBitorrent. Мне кажется он более современный. Настроек побольше в Веб интерфейсе.

Установка и настройка qBittorrent Enhanced Edition

Эта инструкция описывает процесс установки qBittorrent Enhanced Edition через PPA-репозиторий на Ubuntu или других Debian-based системах, настройку системного пользователя, прав доступа, запуск службы и подключение к веб-интерфейсу. Инструкция ориентирована на использование версии без графического интерфейса (nox).

Предварительные требования

  • Система на базе Ubuntu/Debian с доступом к терминалу.
  • Права суперпользователя (sudo).
  • Подключение к интернету для загрузки пакетов.

Добавление PPA-репозитория и установка

qBittorrent Enhanced Edition — это форк стандартного qBittorrent с дополнительными функциями. Установка выполняется через официальный PPA-репозиторий для получения актуальной версии.

Выполните следующие команды:

sudo add-apt-repository ppa:poplite/qbittorrent-enhanced
sudo apt update
sudo apt install qbittorrent-enhanced-nox
Пояснения
  • add-apt-repository добавляет PPA-репозиторий с пакетами qBittorrent Enhanced Edition.
  • apt update обновляет список пакетов, чтобы система видела новый репозиторий.
  • qbittorrent-enhanced-nox — версия без графического интерфейса, предназначенная для серверов.

Настройка пользователя qbtuser

При установке создаётся системный пользователь qbtuser, от имени которого работает qBittorrent. Однако у него изначально отсутствует домашняя директория, что требует ручной настройки.

Выполните команды:

sudo mkdir /home/qbtuser
sudo chown qbtuser:qbtuser /home/qbtuser
sudo chmod 700 /home/qbtuser
sudo usermod -d /home/qbtuser qbtuser
Пояснения
  • mkdir /home/qbtuser создаёт домашнюю директорию.
  • chown qbtuser:qbtuser назначает владельцем директории пользователя и группу qbtuser.
  • chmod 700 ограничивает доступ к директории только для владельца.
  • usermod -d /home/qbtuser qbtuser привязывает директорию как домашнюю для пользователя.

Проверка настроек пользователя

Убедитесь, что пользователь настроен корректно:

getent passwd qbtuser

Ожидаемый результат:

qbtuser:x:107:110::/home/qbtuser:/usr/sbin/nologin
Пояснения
  • Если до команды usermod выполнить проверку, домашняя директория будет /nonexistent.
  • Поле /home/qbtuser подтверждает успешную привязку директории.
  • /usr/sbin/nologin указывает, что это системный пользователь без возможности входа в оболочку.

Проверка идентификаторов пользователя

Идентификаторы пользователя и группы важны для настройки прав доступа, особенно при использовании контейнеров.

Выполните:

id qbtuser

Ожидаемый результат:

uid=107(qbtuser) gid=110(qbtuser) groups=110(qbtuser)
Пояснения
  • uid=107 — идентификатор пользователя.
  • gid=110 — идентификатор группы.
  • Эти значения пригодятся для настройки контейнеров (например, Docker) или прав доступа к файлам.

Запуск и проверка службы

Запустите службу qBittorrent и проверьте её состояние:

sudo systemctl start qbittorrent-enhanced-nox
sudo systemctl status qbittorrent-enhanced-nox
Пояснения
  • systemctl start запускает службу.
  • systemctl status отображает статус и логи. В логах можно найти временные логин и пароль для веб-интерфейса.

Подключение к веб-интерфейсу

qBittorrent управляется через веб-интерфейс.

  1. Откройте браузер и перейдите по адресу:
    http://<ip-адрес-машины>:8080
  2. Введите логин и пароль из логов (по умолчанию: логин — admin, пароль — adminadmin).
  3. Смените логин и пароль в настройках веб-интерфейса для повышения безопасности.
Пояснения
  • Замените <ip-адрес-машины> на IP сервера. Для локальной машины используйте localhost.
  • Порт 8080 можно изменить в конфигурации qBittorrent.

Настройка автозапуска

Включите автозапуск службы при загрузке системы:

sudo systemctl enable qbittorrent-enhanced-nox
Пояснения
  • Команда создаёт ссылки для автоматического запуска службы.


Настройка монтирования каталога с хоста в LXC-контейнер с ремаппингом прав

Эта часть инструкции описывает настройку монтирования каталога с хоста в непривилегированный LXC-контейнер с использованием bindfs для ремаппинга прав доступа. Это необходимо, чтобы файлы, создаваемые в контейнере (например, qBittorrent), на хосте принадлежали пользователю и группе с ID 0:0 (root), а в контейнере соответствовали пользователю qbtuser (UID=107, GID=110).

Предварительные требования

  • Хостовая система с установленным Proxmox VE или другим LXC-хостом.
  • Непривилегированный LXC-контейнер (в примере — ID 108).
  • Каталог на хосте (например, /mnt/meganas/media), который нужно монтировать в контейнер.
  • Установленный qBittorrent Enhanced Edition в контейнере (см. предыдущий раздел).
  • Ремаппинг пользователей: на хосте UID=100107 и GID=100110 соответствуют UID=107 и GID=110 в контейнере.

Установка bindfs на хосте

Для ремаппинга прав доступа используется утилита bindfs, которая позволяет монтировать каталог с изменением UID/GID.

Выполните на хосте:

apt install bindfs

Проверьте версию для подтверждения установки:

bindfs --version
Пояснения
  • bindfs позволяет монтировать каталог с изменением владельца и прав доступа без изменения исходных файлов.
  • Установка выполняется на хосте, а не в контейнере.

Проверка каталога на хосте

Перед настройкой убедитесь, что каталог на хосте имеет корректные права и владельца (0:0).

Выполните:

ls -ln /mnt/meganas/media/

Пример вывода:

drwxrwxrwx+ 1 0 0  110 апр  7 09:17  Anime
drwxrwxrwx+ 1 0 0   98 дек 22 17:00  education
drwxrwxrwx+ 1 0 0   14 апр 11 19:18  Film
drwxrwxrwx+ 1 0 0   62 дек 22 17:05  Home
drwxrwxrwx+ 1 0 0   28 окт 18  2023  Series
drwxrwxrwx+ 1 0 0  444 апр 13 21:53  torrents
drwxrwxrwx+ 1 0 0   82 дек 22 16:59 'Восстановленое AI'
drwxrwxrwx+ 1 0 0  564 окт 21 09:30  Изображения
drwxrwxrwx+ 1 0 0  138 апр  7  2024  Музыка
drwxrwxrwx+ 1 0 0 1948 мар 26 20:36  шара
Пояснения
  • Все подкаталоги принадлежат 0:0 (root:root), что соответствует требованиям для монтирования в другие контейнеры.
  • Права drwxrwxrwx обеспечивают полный доступ, что упрощает работу.

Настройка bindfs для ремаппинга

Создайте точку монтирования для bindfs на хосте:

mkdir /bindfs/217

Выполните монтирование с ремаппингом:

bindfs --map=0/100107:@0/@100110 --perms=0775 /mnt/meganas/media /bindfs/217
Пояснения
  • --map=0/100107:@0/@100110 указывает, что UID=0 и GID=0 на хосте будут отображаться как UID=100107 и GID=100110 в точке монтирования.
  • --perms=0775 задаёт права доступа для смонтированного каталога (чтение/запись для владельца и группы, чтение/выполнение для остальных).
  • Исходный каталог /mnt/meganas/media монтируется в /bindfs/217.

Проверьте результат:

ls -ln /bindfs/217

Ожидаемый вывод:

drwxrwxr-x+ 1 100107 100110  110 апр  7 09:17  Anime
drwxrwxr-x+ 1 100107 100110   98 дек 22 17:00  education
drwxrwxr-x+ 1 100107 100110   14 апр 11 19:18  Film
drwxrwxr-x+ 1 100107 100110   62 дек 22 17:05  Home
drwxrwxr-x+ 1 100107 100110   28 окт 18  2023  Series
drwxrwxr-x+ 1 100107 100110  444 апр 13 21:53  torrents
drwxrwxr-x+ 1 100107 100110   82 дек 22 16:59 'Восстановленое AI'
drwxrwxr-x+ 1 100107 100110  564 окт 21 09:30  Изображения
drwxrwxr-x+ 1 100107 100110  138 апр  7  2024  Музыка
drwxrwxr-x+ 1 100107 100110 1948 мар 26 20:36  шара
Пояснения
  • Все файлы и папки теперь отображаются с UID=100107 и GID=100110, что соответствует ремаппингу для контейнера.

Настройка LXC-контейнера

Чтобы каталог стал доступен в контейнере, обновите его конфигурацию.

Остановите контейнер:

pct stop 108

Отредактируйте конфигурационный файл:

nano /etc/pve/lxc/108.conf

Добавьте строку для монтирования:

mp0: /bindfs/217,mp=/nas
Пояснения
  • mp0 — точка монтирования.
  • /bindfs/217 — каталог на хосте.
  • mp=/nas — путь, где каталог будет доступен в контейнере.

Запустите контейнер:

pct start 108

Войдите в контейнер для проверки:

pct enter 108

Проверьте каталог в контейнере:

ls -ln /nas

Ожидаемый вывод:

drwxrwxr-x+ 1 107 110  110 апр  7 09:17  Anime
drwxrwxr-x+ 1 107 110   98 дек 22 17:00  education
drwxrwxr-x+ 1 107 110   14 апр 11 19:18  Film
drwxrwxr-x+ 1 107 110   62 дек 22 17:05  Home
drwxrwxr-x+ 1 107 110   28 окт 18  2023  Series
drwxrwxr-x+ 1 107 110  444 апр 13 21:53  torrents
drwxrwxr-x+ 1 107 110   82 дек 22 16:59 'Восстановленое AI'
drwxrwxr-x+ 1 107 110  564 окт 21 09:30  Изображения
drwxrwxr-x+ 1 107 110  138 апр  7  2024  Музыка
drwxrwxr-x+ 1 107 110 1948 мар 26 20:36  шара
Пояснения
  • В контейнере каталог отображается с UID=107 и GID=110, что соответствует пользователю qbtuser.
  • Благодаря ремаппингу в LXC, UID=100107 (хост) преобразуется в UID=107 (контейнер).

Настройка qBittorrent для использования каталога

В веб-интерфейсе qBittorrent (доступном по http://<ip-контейнера>:8080):

  1. Перейдите в раздел НастройкиЗагрузки.
  2. Укажите путь для сохранения файлов, например, /nas/torrents.
  3. Сохраните изменения.
Пояснения
  • Все файлы, сохранённые qBittorrent в /nas/torrents, будут принадлежать qbtuser (UID=107, GID=110) в контейнере.
  • На хосте эти файлы будут принадлежать root (UID=0, GID=0), что упрощает их использование в других контейнерах.

Дополнительные рекомендации

  • Автоматизация bindfs: Чтобы монтирование выполнялось автоматически, добавьте строку в /etc/fstab:
nano /etc/fstab

Вставим строку:

bindfs#/mnt/meganas/media /bindfs/217 fuse --map=0/100107:@0/@100110,--perms=0775 0 0

После этого проверить правильность составления /etc/fstab:

findmnt --verify

Должен появится вывод похожий на этот:

   [W] your fstab has been modified, but systemd still uses the old version;
       use 'systemctl daemon-reload' to reload

0 parse errors, 0 errors, 1 warning

Это говори об отсутствии ошибок и одном предупреждении, сообщающем о том что нужно перезапустить службу daemon-reload:

systemctl daemon-reload

После чего нужно отмонтировать наш тестовый каталог:

umount /bindfs/217

И выполнить монтирование с помощью fstab:

mount -a

Итог

Каталог с хоста теперь доступен в LXC-контейнере по пути /nas с правильным ремаппингом прав. qBittorrent может использовать этот каталог для загрузки файлов, и все изменения на хосте будут принадлежать root (UID=0, GID=0), что упрощает совместное использование с другими контейнерами. Настройка завершена, и вы можете продолжить работу с торрентами.


Proxy

dns

Сначала создадим новое CNAME для нашего веб интерфейса. На сайте dns.he.net, залогинимся, перейдем к настройкам нашего домена, и там нажмем New CNAME, там впишем

Name: qb.mywolfram.ru

Hostname: host.mywolfram.ru

TTL (Time to live): 30 минут

Сервер Nginx

Переходим на наш сервер nginx

На сервере нужно создать файл с настройками для нашего proxy:

nano /etc/nginx/sites-enabled/qb.mywolfram.ru

Пропишем туда следующее:

server {
        listen      80;
        server_name qb.mywolfram.ru;
        return 301 https:qb.mywolfram.ru;
}

server {
        listen 443;
        server_name qb.mywolfram.ru;
        ssl_certificate /etc/letsencrypt/live/qb.mywolfram.ru/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/qb.mywolfram.ru/privkey.pem; # managed by Certbot

        location / {
                proxy_pass http://192.168.1.215:8080;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
nginx -t
systemctl restart nginx
certbot --nginx -d qb.mywolfram.ru

После чего проверить файл конфигурации, не на заменял ли чего certbot:

nano /etc/nginx/sites-enabled/qb.mywolfram.ru

Если что то заменил, то вписываем наши данные.


В торрент сервером готово. Теперь, можно загружать круглые сутки, и добавлять загрузки в любой точке мира.

Jackett

Штука для поиска на торрентах.

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

Используется для других сервисов

Установим.

Переходим в домашний каталог например:

cd /home/vova

Скачиваем релизный архив Jackett на Githab.

можно wget можно winscp, как удобно.

Распаковываем архив:

tar -xvf Jackett.....tar.gz

Переходим в папку:

cd ./Jackett/

Запускаем установщик:

sudo ./install_service_systemd.sh

Сервер поднят. А вы думали там все сложно? Конечно же да!

Переходим по адресу в веб интерфейс

http://ЛОКАЛЬНЫЙ_АДРЕСС_МАШИНЫ:9117

Начинаем добавлять наши торренты. Но мы неминуемо наткнёмся на проблемы. А именно то, что живем в России. А значит 90 процентов трекеров недоступны, без обходных путей.

TOR

monitorrent

Штука чтобы мониторить выбранную раздачу на торренте и обновлять файл торрента, если что то меняется.

Подготовить систему.

Подготовка

Поставить python и pip

apt install python3
apt install python3-pip

Версия Убунты 20

- Так же уточняю что делаю все от пользователя root, в контейнере нет других пользователей. И мне без разницы на данный момент на безопасность, всё сугубо для себя.

Создать папку для загрузки и распаковки

mkdir /root/monitorrent
cd /root/monitorrent

Установка monitorrent

Скачать архив. Находится это все на гитхабе, вот страничка. Лучше взять последнюю версию, не ту что в мануале, надеюсь установка не изменится. На случай если изменится, файл конкретной той версии с корой работаем на облаке. ТОЛЬКО на 20.04

wget https://github.com/werwolfby/monitorrent/releases/download/1.2.0/monitorrent-1.2.0.zip

Распаковывавшем архив unzip, если его нет ставим

apt install unzip
unzip monitorrent-1.2.0.zip

Теперь запустить установку со скрипта requirements.txt

pip install -r requirements.txt

В инструкции указана установка: playwright --with-deps install firefox но при выполнении команды в том виде как на инструкции ничего не работает.

Установил без аргумента --with-deps

python -m playwright install firefox
playwright install firefox

Затем можно сделать тестовый запуск

python3 server.py

Перейти по адресу машины с портом 6687

http://0.0.0.0:6687

Ввести пароль: monitorrent

И самое главное его поменять, как оказалось без его смены все это нормально не работает, но может я ошибаюсь.


Автозапуск monitorrent

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

Это делать лучше через службу systemctl

создаём файл для запуска службы

nano /etc/systemd/system/monitorrent.service

В него вписываю следующие дела, сохраняем

[Unit]
Description=Monitorrent
After=network.target

[Service]
ExecStart=/usr/bin/python3 /root/monitorrent/server.py
Restart=always
RestartSec=10
WorkingDirectory=/root/monitorrent/
User=root
Group=root
KillMode=process

[Install]
WantedBy=multi-user.target

Перезагружаю демона

systemctl --system daemon-reload

Включаю автозапуск службы

systemctl enable monitorrent

Запускаю

systemctl start monitorrent

VPN

Готово, теперь сталкиваемся с проблемой. У нас в стране заблокированы все те торренты которые перечислены в списке.

Кто то может это решить поиском или покупкой прокси.

Но у меня есть Машина в Oracle в германии, и мост до неё. Поэтому я просто поставлю WG на эту машину и пущу весь трафик через германию.

Ставлю WG

apt install wireguard

Прописываю пути в конфиг

nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = oEVmbQsTk1dfD9oOdpYcfqre/CYHlJdJlKGybbk/BEM=
Address = 10.49.0.2/32
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#DNS = 172.16.154.105

[Peer]
PublicKey = xu0FBJ3aqvshpV+ExHcR7mXyNOeod0j/5lMITPmhxjs=
PresharedKey = ab4Ha9BKzKGVRtOTtulehtGABtCb0B6lpus4K/TAcmM=
AllowedIPs = 0.0.0.0/0
Endpoint = 152.70.160.135:54321

Запускаю службу

wg-quick up wg0

и включаю автозапуск

systemctl enable wg-quick@wg0.service


если не стартует WG с ошибкой line 32: resolvconf: command not found

apt install openresolv

В общем то вот и весь сервер. Работает себе и работает. Есть пить не просит.