Comparto con vosotros mis apuntes (aún no terminados)
## Instalar sistema operativo
Para ello accedemos al sitio web oficial y descargamos la última versión disponible
En este caso hemos descargado desde https://www.raspberrypi.org/downloads/raspbian/ la imagen 2019-06-20-raspbian-buster.img
Usa tu programa favorito para grabar la imagen en la tarjeta:
- Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/
- Etcher: https://www.balena.io/etcher/
## Habilitar SSH
Una vez grabada la imagen en la tarjeta microsd, es posible habilitar SSH para conectarnos remotamente una vez arrancada la imagen.
Podemos indicar a Raspbian que arranque SSH automáticamente creando un archivo vacío en la tarjeta.
Basta con crear un archivo con el nombre "ssh", sin extensión, para habilitar el inicio automático de SSH durante el arranque.
Ya puedes conectar por SSH con tu raspi, usando por ejemplo el programa putty, introduciendo la IP de tu raspi, puerto 22, usuario "pi" y tu contraseña
## Actualizar el sistema
Antes de nada, descargamos e instalamos todas las actualizaciones disponibles
Código: Seleccionar todo
sudo apt-get update && sudo apt-get -y upgrade
Código: Seleccionar todo
sudo apt-get -y install vim git crudini mlocate
sudo apt autoremove
Creamos tres carpetas: para descargas, series y películas
Código: Seleccionar todo
if [ ! -d /home/pi/Downloads ]; then mkdir /home/pi/Downloads; fi
if [ ! -d /home/pi/Peliculas ]; then mkdir /home/pi/Peliculas; fi
if [ ! -d /home/pi/Series ]; then mkdir /home/pi/Series; fi
Instalamos kodi
Código: Seleccionar todo
sudo apt-get -y install kodi
Código: Seleccionar todo
mkdir -p ~/.config/autostart
ln -s /usr/share/applications/kodi.desktop ~/.config/autostart/
Código: Seleccionar todo
sudo reboot
Instalamos el software
Código: Seleccionar todo
sudo apt-get -y install transmission-daemon
Código: Seleccionar todo
sudo systemctl stop transmission-daemon
Quiere decir que, si existen los dos archivos, linux arrancará primero el que está en /etc, que es el que estamos creando.
De esta forma, al actualizar transmission nuestros cambios en este script de inicio no se perderán
Código: Seleccionar todo
cat /lib/systemd/system/transmission-daemon.service \
| sed s/User=debian-transmission/User=pi/g \
| sudo tee /etc/systemd/system/transmission-daemon.service > /dev/null
Código: Seleccionar todo
sudo systemctl daemon-reload
sudo systemctl start transmission-daemon
sudo systemctl stop transmission-daemon
Código: Seleccionar todo
cp /home/pi/.config/transmission-daemon/settings.json ~/
Código: Seleccionar todo
cat ~/settings.json \
| sed "s/\"rpc-whitelist\"\: \"127.0.0.1\"/\"rpc-whitelist\"\: \"127.0.0.1,192.168.*.*\"/g" \
> /home/pi/.config/transmission-daemon/settings.json
Código: Seleccionar todo
sudo systemctl start transmission-daemon
sudo systemctl enable transmission-daemon
Código: Seleccionar todo
sudo systemctl status transmission-daemon
Código: Seleccionar todo
http://ip.de.la.raspi:9091
Descargamos el programa
Código: Seleccionar todo
sudo git clone https://github.com/SickChill/SickChill.git /opt/sickchill
sudo chown pi:pi /opt/sickchill -R
Código: Seleccionar todo
cat /opt/sickchill/contrib/runscripts/init.systemd \
| sed "s/User=sickchill/User=pi/g" \
| sed "s/Group=sickchill/Group=pi/g" \
| sudo tee /lib/systemd/system/sickchill.service > /dev/null
Código: Seleccionar todo
sudo systemctl start sickchill
sudo systemctl stop sickchill
Código: Seleccionar todo
cp /opt/sickchill/config.ini ~/sickchill-config.ini
Código: Seleccionar todo
crudini --set --existing /opt/sickchill/config.ini General root_dirs '0|/home/pi/Series'
crudini --set --existing /opt/sickchill/config.ini General torrent_method 'transmission'
crudini --set --existing /opt/sickchill/config.ini General use_torrents '1'
crudini --set --existing /opt/sickchill/config.ini General backlog_frequency '720'
crudini --set --existing /opt/sickchill/config.ini General process_method 'symlink'
crudini --set --existing /opt/sickchill/config.ini General tv_download_dir '/home/pi/Downloads'
crudini --set --existing /opt/sickchill/config.ini General keep_processed_dir '0'
crudini --set --existing /opt/sickchill/config.ini General indexerDefaultLang 'es'
crudini --set --existing /opt/sickchill/config.ini General use_icacls '0'
crudini --set --existing /opt/sickchill/config.ini General naming_pattern 'Season %0S/%SN.%0Sx%0E.%EN'
crudini --set --existing /opt/sickchill/config.ini GUI time_preset '%H:%M:%S'
crudini --set --existing /opt/sickchill/config.ini GUI date_preset '%d/%m/%Y'
crudini --set --existing /opt/sickchill/config.ini TORRENT torrent_host 'http://localhost:9091/'
crudini --set --existing /opt/sickchill/config.ini TORRENT torrent_auth_type 'none'
Código: Seleccionar todo
sudo systemctl start sickchill
sudo systemctl enable sickchill
Código: Seleccionar todo
sudo systemctl status sickchill
Código: Seleccionar todo
http://ip.de.la.raspi:8081
Instalamos el repositorio
Código: Seleccionar todo
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0xA236C58F409091A18ACA53CBEBFF6B99D9B78493
echo "deb http://apt.sonarr.tv/ master main" | sudo tee /etc/apt/sources.list.d/sonarr.list
Código: Seleccionar todo
sudo apt update
sudo apt-get -y install nzbdrone
Código: Seleccionar todo
sudo tee /lib/systemd/system/sonarr.service <<EOF
[Unit]
Description=Sonarr Daemon
After=network.target
[Service]
User=pi
Group=pi
Type=simple
ExecStart=/usr/bin/mono /opt/NzbDrone/NzbDrone.exe -nobrowser
TimeoutStopSec=20
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
Código: Seleccionar todo
sudo systemctl start sonarr
sudo systemctl enable sonarr
Código: Seleccionar todo
sudo systemctl status sonarr
Código: Seleccionar todo
http://ip.de.la.raspi:8989
Descargamos el programa desde GIT
Código: Seleccionar todo
sudo git clone https://github.com/CouchPotato/CouchPotatoServer.git /opt/CouchPotato
sudo chown pi:pi /opt/CouchPotato -R
Código: Seleccionar todo
cat /opt/CouchPotato/init/couchpotato.service \
| sed "s/ExecStart=\/var\/lib\/CouchPotatoServer\/CouchPotato.py/ExecStart=\/opt\/CouchPotato\/CouchPotato.py/g" \
| sed "s/User=couchpotato/User=pi/g" \
| sed "s/Group=couchpotato/Group=pi/g" \
| sudo tee /lib/systemd/system/couchpotato.service > /dev/null
Código: Seleccionar todo
sudo systemctl start couchpotato && sudo systemctl stop couchpotato
Código: Seleccionar todo
cp ~/.couchpotato/settings.conf ~/couchpotato-settings.conf
Código: Seleccionar todo
crudini --set --existing ~/.couchpotato/settings.conf core username 'media'
crudini --set --existing ~/.couchpotato/settings.conf core password '62933a2951ef01f4eafd9bdf4d3cd2f0'
crudini --set --existing ~/.couchpotato/settings.conf core show_wizard '0'
crudini --set --existing ~/.couchpotato/settings.conf renamer enabled '1'
crudini --set --existing ~/.couchpotato/settings.conf renamer from '/home/pi/Downloads/'
crudini --set --existing ~/.couchpotato/settings.conf renamer to '/home/pi/Peliculas/'
crudini --set --existing ~/.couchpotato/settings.conf blackhole enabled '0'
crudini --set --existing ~/.couchpotato/settings.conf blackhole directory ''
crudini --set --existing ~/.couchpotato/settings.conf transmission enabled '1'
crudini --set --existing ~/.couchpotato/settings.conf rarbg enabled '1'
crudini --set --existing ~/.couchpotato/settings.conf newznab enabled '0'
crudini --set --existing ~/.couchpotato/settings.conf kickasstorrents enabled '0'
crudini --set --existing ~/.couchpotato/settings.conf torrentz enabled '0'
crudini --set --existing ~/.couchpotato/settings.conf xbmc username 'media'
crudini --set --existing ~/.couchpotato/settings.conf xbmc password 'media'
Código: Seleccionar todo
sudo systemctl start couchpotato
sudo systemctl enable couchpotato
Código: Seleccionar todo
sudo systemctl status couchpotato
Código: Seleccionar todo
http://ip.de.la.raspi:5050
Podemos usar Jackett como origen para las búsquedas de sickchill o sonarr
Instalamos el programa (https://github.com/Jackett/Jackett/releases)
Código: Seleccionar todo
cd ~
JACKETTRELEASE=`curl --silent "https://api.github.com/repos/Jackett/Jackett/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")'`
wget -c https://github.com/Jackett/Jackett/releases/download/$JACKETTRELEASE/Jackett.Binaries.LinuxARM32.tar.gz
tar zxvf Jackett.Binaries.LinuxARM32.tar.gz
sudo mv Jackett /opt/
Código: Seleccionar todo
sudo tee /lib/systemd/system/jackett.service <<EOF
[Unit]
Description=Jackett Daemon
After=network.target
[Service]
SyslogIdentifier=jackett
Restart=always
RestartSec=5
Type=simple
User=pi
Group=pi
WorkingDirectory=/opt/Jackett
ExecStart=/opt/Jackett/jackett --NoRestart
TimeoutStopSec=20
[Install]
WantedBy=multi-user.target
EOF
Código: Seleccionar todo
sudo systemctl start jackett
sudo systemctl enable jackett
Código: Seleccionar todo
sudo systemctl status jackett
Código: Seleccionar todo
http://ip.de.la.raspi:9117