Prefácio
Recentemente, comecei a usar o servidor de mídia Plex para assistir a vídeos na TV por meio do bastão de fogo da Amazon. O servidor Plex foi configurado na área de trabalho e os arquivos de vídeo foram conectados por meio de um drive USB externo, e tal pacote, em princípio, me convinha. Porém, quando o PC é desligado, não há acesso ao conteúdo e toda vez que você liga o PC apenas para assistir a um filme ou ouvir música, ele já começa a se esforçar. Portanto, decidi configurar o plex em um raspberry e conectar um USB externo com o conteúdo existente nele. E já no processo, percebi que ainda seria bom ter acesso a arquivos e uma cadeira de balanço para torrents e ao mesmo tempo simplificar o processo de configuração usando a automação no Ansible. Manual enviado ao GitHub .
O que é necessário (hardware / software)
Windows e Ubuntu Desktop. Em princípio, você só pode fazer uma coisa, mas estou mais acostumado a fazer algumas coisas no Windows e outras no Ubuntu. (Ubuntu é instalado via VirtualBox no Windows). Ao mesmo tempo, eu acho, terá sucesso sem problemas no Mac.
Raspberry Pi Imager para Windows. Pode ser baixado do site oficial .
Imagem do Raspberry Pi OS Lite. Também no site oficial. É mais rápido baixar via torrent do que via link direto.
Framboesa pi 3/4. Inicialmente, experimentei a terceira versão, mas depois comprei a quarta.
Cartão SD de 8 GB ou mais. (Leitor de cartão USB)
Ansible para a descrição e instalação do Ubuntu aqui .
Disco USB. De preferência de USB 3.0 se você estiver construindo no pi 4.
Fonte de alimentação 3A para fornecer energia suficiente para o disco USB conectado.
Manual para Ansible do GitHub .
Git.
raspberry pi
SD- Pi Imager. Choose image Use custom , . , , , , . SD- write.
USB NTFS ( usb_750g), raspberry. USB NTFS, . exFAT, raspberry , NTFS. , .
Windows Ubuntu.
SD- Ubuntu VirtualBox. boot
rootfs
. boot cd /media/_/boot/
. ssh- echo "" > /media/$LOGIN/boot/ssh
( berez ), raspberry, ssh-.
raspberry ssh , Ansible. cd ~/.ssh && ssh-gen
( , ). raspberry, enter. : raspberry raspberry.pub, . , raspberry. rootfs mkdir -p /media/$LOGIN/rootfs/home/pi/.ssh
cp ~/.ssh/raspberry.pub /media/$LOGIN/rootfs/home/pi/.ssh/authorized_keys
.
SD- raspberry, , USB . IP , , IP MAC-. IP raspberry MAC-. MAC- raspberry. cat /sys/class/net/eth0/address
.
Ubuntu Ansible, . git clone https://github.com/notfoundsam/raspberry-plex-ansible.git
cd raspberry-plex-ansible
.
IP raspberry hosts.ini
, Ansible . , .
group_vars/all.yml
, raspberry, ansible_user
. ssh ansible_ssh_private_key_file
. , . host_name
. usb_volume_label
USB . . transmission , transmission_username
, transmission_password
, transmission_white_list
. transmission_white_list
127.0.0.1.
Plex . plex.yml
ansible-playbook plex.yml
, Plex . ansible-playbook usb-volume.yml
, USB . raspberry_ip:32400/web
, plex . , plex , raspberry_ip:32400/web
. , , plex - . plex USB .
samba-. raspberry , , Samba USB . ansible-playbook samba.yml
. , Windows , workgroup, /etc/samba/smb.conf
raspberry. IP \\raspberry_ip
Windows.
Transmission. , transmission iptables, downloads USB . , transmission .part . 51413 . raspberry_ip:9091/transmission
, group_vars/all.yml
. Network , 51413 . closed, .
raspberry 3 raspberry 4
raspberry pi 3B / 3B+/ 4B. pi 3 100Mbs, 100-200GB . 3B+ , 1Gbs. Plex , H.264, avi MPEG4(XVID) , - , , . TV , .
pi 3B+ , . , , pi 4B. pi 4B MPEG4, 10-15 . USB 3.0 .
/
Raspberry pi 4B 4GB RAM ~ $62
SD- Samsung Evo+ ~ $8
~ $17 (Amazon.co.jp) "Geekworm Raspberry Pi 4B (P173 Black) Passive Cooling Metal Case"
USB 3.0 750GB ( 4 ) ~ $50
Anker PowerPort 6 ( 3 ) ~ $30
, . $87.
-, . . - USB + Samba + Transmission raspberry pi 3B, 100Mbs , pi 3B+. Ansible .
, , Samba , .
Espero que este material o ajude a lidar rapidamente com uma tarefa semelhante. Se você tiver sugestões de melhorias, críticas ou erros, escreva nos comentários.
Planos futuros
A quantidade de dados está crescendo constantemente, então planejo comprar um rack com hub USB e várias baias para unidades de HDD. Planos para comprar um destes: Disco Rígido Yottamaster com 4 baias. Já existe um controlador RAID embutido, mas provavelmente irei pegá-lo sem ele. Se RAID for necessário, irei configurá-lo no raspberry e deixar o resto como único para apenas dois discos. E vou trocar o antigo disco de 750 GB para baixar torrents.