raspberry-pi:rpi3
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
raspberry-pi:rpi3 [2023/04/29 14:35] – removed - external edit (Unknown date) 127.0.0.1 | raspberry-pi:rpi3 [2023/05/29 11:55] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== RPI3 download box ====== | ||
+ | |||
+ | ===== Image download ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Direct image of RaspiOS Lite | ||
+ | https:// | ||
+ | |||
+ | RPI Imager on a debian based system: | ||
+ | < | ||
+ | sudo apt-get install qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtgraphicaleffects libqt5quickcontrols2-5 libqt5quicktemplates2-5 | ||
+ | wget https:// | ||
+ | sudo dpkg -i imager_*_amd64.deb | ||
+ | </ | ||
+ | |||
+ | Flash Micro-SD card using Imager selecting ROS lite (without desktop and apps) OS, press Ctrl-Shift-X for advanced menu and configure ssh, passwords, hostname. | ||
+ | |||
+ | set static IP | ||
+ | < | ||
+ | sudo vi / | ||
+ | </ | ||
+ | < | ||
+ | interface eth0 | ||
+ | static ip_address=192.168.0.100/ | ||
+ | static routers=192.168.0.1 | ||
+ | static domain_name_servers=192.168.0.1 8.8.8.8 | ||
+ | |||
+ | interface wlan0 | ||
+ | static ip_address=192.168.0.100/ | ||
+ | static routers=192.168.0.1 | ||
+ | static domain_name_servers=192.168.0.1 8.8.8.8 | ||
+ | </ | ||
+ | |||
+ | if/when adjusting hostname in / | ||
+ | /etc/hosts with the new hostname as well: | ||
+ | < | ||
+ | 127.0.0.1 newhostname | ||
+ | </ | ||
+ | |||
+ | ===== Transmission ===== | ||
+ | |||
+ | < | ||
+ | sudo apt install transmission-daemon | ||
+ | </ | ||
+ | then https:// | ||
+ | |||
+ | ===== Prowlarr install: ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | < | ||
+ | cat >> ProwlarrInstall.sh << " | ||
+ | #!/bin/bash | ||
+ | ### Description: | ||
+ | ### Originally from the Radarr Community | ||
+ | |||
+ | set -euo pipefail | ||
+ | |||
+ | # Am I root?, need root! | ||
+ | if [ " | ||
+ | echo " | ||
+ | exit | ||
+ | fi | ||
+ | # Const | ||
+ | ### Update these variables as required for your specific instance | ||
+ | app=" | ||
+ | app_uid=" | ||
+ | app_guid=" | ||
+ | app_port=" | ||
+ | app_prereq=" | ||
+ | app_umask=" | ||
+ | app_bin=${app^} | ||
+ | installdir="/ | ||
+ | bindir=" | ||
+ | branch=" | ||
+ | datadir="/ | ||
+ | |||
+ | # Create User / Group as needed | ||
+ | if ! getent group " | ||
+ | groupadd " | ||
+ | echo "Group [$app_guid] created" | ||
+ | fi | ||
+ | if ! getent passwd " | ||
+ | useradd --system -g " | ||
+ | echo "User [$app_uid] created and added to Group [$app_guid]" | ||
+ | else | ||
+ | echo "User [$app_uid] already exists" | ||
+ | fi | ||
+ | |||
+ | if ! getent group " | ||
+ | echo "User [$app_uid] did not exist in Group [$app_guid]" | ||
+ | usermod -a -G " | ||
+ | echo "Added User [$app_uid] to Group [$app_guid]" | ||
+ | else | ||
+ | echo "User [$app_uid] already exists in Group [$app_guid]" | ||
+ | fi | ||
+ | |||
+ | # Stop the App if running | ||
+ | if service --status-all | grep -Fq " | ||
+ | systemctl stop $app | ||
+ | systemctl disable $app.service | ||
+ | fi | ||
+ | # Create Appdata Directory | ||
+ | # AppData | ||
+ | mkdir -p $datadir | ||
+ | chown -R $app_uid: | ||
+ | chmod 775 $datadir | ||
+ | # Download and install the App | ||
+ | # prerequisite packages | ||
+ | apt install $app_prereq | ||
+ | ARCH=$(dpkg --print-architecture) | ||
+ | # get arch | ||
+ | dlbase=" | ||
+ | case " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | *) | ||
+ | echo_error "Arch not supported" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | echo " | ||
+ | wget --content-disposition " | ||
+ | tar -xvzf ${app^}.*.tar.gz | ||
+ | echo " | ||
+ | # remove existing installs | ||
+ | echo " | ||
+ | rm -rf $bindir | ||
+ | echo " | ||
+ | mv " | ||
+ | chown $app_uid: | ||
+ | rm -rf " | ||
+ | # Ensure we check for an update in case user installs older version or different branch | ||
+ | touch $datadir/ | ||
+ | chown $app_uid: | ||
+ | echo "App Installed" | ||
+ | # Configure Autostart | ||
+ | # Remove any previous app .service | ||
+ | echo " | ||
+ | rm -rf / | ||
+ | # Create app .service with correct user startup | ||
+ | echo " | ||
+ | cat <<EOF | tee / | ||
+ | [Unit] | ||
+ | Description=${app^} Daemon | ||
+ | After=syslog.target network.target | ||
+ | [Service] | ||
+ | User=$app_uid | ||
+ | Group=$app_guid | ||
+ | UMask=$app_umask | ||
+ | Type=simple | ||
+ | ExecStart=$bindir/ | ||
+ | TimeoutStopSec=20 | ||
+ | KillMode=process | ||
+ | Restart=on-failure | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | EOF | ||
+ | # Start the App | ||
+ | echo " | ||
+ | systemctl -q daemon-reload | ||
+ | systemctl enable --now -q " | ||
+ | # Finish Update/ | ||
+ | host=$(hostname -I) | ||
+ | ip_local=$(grep -oP ' | ||
+ | echo "" | ||
+ | echo " | ||
+ | echo " | ||
+ | # Exit | ||
+ | exit 0 | ||
+ | _EOF_ | ||
+ | |||
+ | chmod 755 ProwlarrInstall.sh | ||
+ | sudo ./ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Browse to http:// | ||
+ | |||
+ | Prowlarr fetches updated index definitions automatically. However, custom definitions can be added. | ||
+ | Create Custom directory in either ~/ | ||
+ | Any custom yml files go in this directly and need to have appropriate permissions and ownership for the prowlarr user to read them. | ||
+ | Prowlarr caches the definitions, | ||
+ | https:// | ||
+ | ===== Sonarr install: ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | On RPI3, disable h265.x265, | ||
+ | settings -> profiles -> under release profiles click + , give it a name (no HEVC/265) and add under "must not contain" | ||
+ | |||
+ | To exclude 4k/raw content, go to settings -> profiles and edit the Any profile, remove all -2160p, Remux, Raw-HD and unknown entries. | ||
+ | |||
+ | ===== Radarr install: ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | On RPI3, disable h265.x265, | ||
+ | settings -> indexers -> under restrictions profiles click + , add under "must not contain" | ||
+ | |||
+ | To exclude 4k/raw and low quality content, go to settings -> profiles and edit the Any profile, remove all -2160p, Remux, Raw-HD and BR-Disk entries as well as Telecine, Telesync, Cam, Workprint and unknown. | ||
+ | |||
+ | ===== Kodi on RPI: ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Kodi on the Raspberry Pi 0/1/2/3 will only function if you are using the Broadcom drivers! This is the " | ||
+ | |||
+ | Kodi on Raspbian requires a minimum of 160 MB of RAM dedicated to the GPU to function properly! This can be done by running " | ||
+ | If you have a RPi 2/3, the recommended is 256 MB of RAM for the GPU. | ||
+ | |||
+ | -Kodi 18 on the Raspberry Pi 2/3 supports 10bit video files (at least h264 and h265/HEVC) but they are software decoded. The Pi 3B / 3B+ may do 720p 10bit and 1080p 10bit low bitrate only at max! For that you need at least 300MB of RAM for the GPU. | ||
+ | |||
+ | |||
+ | Raspbian by default, doesn' | ||
+ | or just add a new line in / | ||
+ | < | ||
+ | start_x=1 | ||
+ | </ | ||
+ | |||
+ | on RPI3 add to/enable in / | ||
+ | < | ||
+ | [all] | ||
+ | dtoverlay=vc4-kms-v3d | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo tee -a / | ||
+ | [Unit] | ||
+ | Description = Kodi Media Center | ||
+ | After = remote-fs.target network-online.target | ||
+ | Wants = network-online.target | ||
+ | |||
+ | [Service] | ||
+ | User = pi | ||
+ | Group = pi | ||
+ | Type = simple | ||
+ | ExecStart = / | ||
+ | Restart = on-abort | ||
+ | RestartSec = 5 | ||
+ | |||
+ | [Install] | ||
+ | WantedBy = multi-user.target | ||
+ | _EOF_ | ||
+ | </ | ||
+ | |||
+ | In Kodi enable remote control with user/ | ||
+ | Transmission default login user/ | ||
+ | |||
+ | ===== URLs/Ports: ===== | ||
+ | |||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||