Portable & versatile Raspberry Pi 4 development server setup

The general idea for an Raspberry Pi based portable development setup is not new.

But honestly, I was really intrigued by intrigued by a more recent video on the YouTube channel Tech Craft (@tech_crafted on the bird site) titled My Favourite iPad Pro Accessory: The Raspberry Pi 4 .

And this time, I really pulled the plug to go ALL IN!

Until now I clearly never was an Tablet/ iPad person. Consequently, the initial setup I was aiming for, was centered around my main driver of recent years: a Linux-based laptop of some kind.

For this endeavour, I invisioned the Raspberry Pi as a side-car to my ultra-portable MacBook 12".

So it started—fast forward April this year: I'm a (part-time) iPad user of an iPad Air (5. Generation).

So, now the initial vision was slightly altered: the Raspberry Pi as a side-car for my iPad—pretty close to the inspiring TechCraft video.

Also, great timing: there are now numerous accompaning TechCraft videos with tones and tones of details on this setup—highly recommended!!

Disclaimer: this write up is still a WORK IN PROGRESS as I'm documenting along the how-to and setup of it's evolving experience…

RugBerry sitting on top of MacBook 12" (Raspberry Pi 4 Model B 8GB in CoolerMaster Pi Case 40)

So, without furher ado, here are the incredients of my particular setup—so far:

  1. Hardware
  1. Software
  • First things first: install Raspberry Pi OS Lite, 64-bit, these days simply by using the great Imager software; also levereaging the Advanced Options for setting hostname (pipad), enabling SSH only allowing public-key authentication (of course!), configuring Wifi, applying locale settings.

  • As we want to boot the Raspberry Pi OS right from the SSD, attached via USB 3.0 port, we need to (re-)configure the Raspberry Pi's bootloader according to the official documentation.

  • Install PIXEL Desktop:

sudo apt install raspberrypi-ui-mods
  • Install VNC Server

Doc ref: raspberrypi.com, Documentation: Remote Access, VNC

sudo apt install realvnc-vnc-server
sudo raspi-config
  • Install Pi Tool, the all-in-one Software Utility for Cooler Master's Pi Case 40

The utility allows users access to a basic set of overclocking profiles, tested and validated based on the thermal performance of Cooler Master's Pi Case 40 enclosure, monitoring of system metrics, and assignment of multiple functions to the built-in button.
—Src: coolermaster.com

# Install currently missing dependencies of Raspberry Pi OS (Lite) 64-bit image:
sudo apt install -y libdbusmenu-glib4 libdbusmenu-gtk4 libfontconfig1

wget http.us.debian.org/debian/pool/main/libi/libindicator/libindicator7_0.5.0-4_arm64.deb
sudo dpkg -i libindicator7_0.5.0-4_arm64.deb

wget http.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator1_0.4.92-7_arm64.deb
sudo dpkg -i libappindicator1_0.4.92-7_arm64.deb

# Install Pi Tool
curl https://raw.githubusercontent.com/CoolerMasterTechnology/pi-tool/master/install.sh -o pi-tool-install.sh
chmod +x pi-tool-install.sh
./pi-tool-install.sh
  • Configure the Raspberry Pi as a USB-C Gadget following the simple steps in this well done guide.

  • Install Samba (SMB/CIFS), Server and Client

Doc ref: raspberrypi.com, Documentation: Remote Access, Samba (SMB/CIFS)

sudo apt install samba samba-common-bin smbclient cifs-utils
sudo smbpasswd -a matthias

# sudo vi /etc/samba/smb.conf

[Shared]
    path = /home/matthias/Shared
    read only = no
    public = yes
    writable = yes

[Code]
   path = /home/matthias/Code
    read only = no
    public = no
    writable = yes

sudo systemctl restart smbd

Doc ref: webmin.com, Installing on Debian

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.984_all.deb
sudo dpkg -i webmin_1.984_all.deb; sudo apt install -f
# https://piside:10000/
  • Install Docker, Docker Compose
  1. Docker —› follow along docs.docker.com, Install Docker Engine on Debian and docs.docker.com, Post-installation steps for Linux.
  2. Docker Compose —› follow along doc.docker.com, Install Docker Compose — Alternative install options (via pip3).
sudo apt install libffi-dev libssl-dev
sudo apt install -y python3 python3-dev python3-pip
sudo pip3 install docker-compose
  • Install Chromium (64-bit)

…w/ out WidevineCDM library and therefore, it is not possible to play streaming media such as Netflix or Disney+. But who cares anyway 🤷️

sudo apt install chromium-browser:arm64

To be continued…

Todos