Raspberry Pi
Raspberry Pi es una herramienta fundamental en mi setup de {{self-hosting}}.
Como instalar Raspbian?
Para instalar Raspbian en una SD, se puede utilizar una herramienta llamada rpi-imager
que es desarrollada y mantenida por Raspberry.
Para Arch / Manjaro se puede bajar desde AUR:
trizen -S rpi-imager-bin
También desde la web🡭 esta disponible para Windows y macOS.
Esta bueno por que te da una interfaz linda y simple, donde podes elegir los distintos tipos de OS que queres cargar y el storage device donde cargar la imagen. En 2 pasos tenes el proceso corriendo.
!{{rpi-imager-writing.png}}
En mi caso y para mi Raspberry Pi 2 model B elegí Raspbian basado en Debian (bullseye) sin desktop enviroment, ya que la idea es administrarlo por ssh.
Configurar IP estática
TODO
Como activar ssh?
Una vez instalado Raspbian o Raspberry OS, nos va a pedir user y password, y que iniciemos sesión.
Con la sesión iniciada podemos ejecutar el siguiente comando:
sudo raspi-config
Esto va a mostrarnos un menu con distintas opciones para configurar el sistema operativo.
Para configurar SSH tenemos que ir a la opción 5 Interfacing Options
y luego a P2 SSH
. Aceptamos activar SSH, la RPi va a quedar lista para conectarnos por SSH.
Agregar dispositivo a known hosts
SSH nos permite conectarnos a la RPi, mediante un usuario, ip y puerto. Ademas cada vez que queramos conectarnos, va a pedirnos la contraseña del usuario. Para evitar esto, podemos agregar nuestro dispositivo (con el que nos vamos a conectar) al known hosts de la RPi.
Para eso desde el dispositivo que queremos registrar, debemos ejecutar el siguiente comando:
ssh-copy-id <ip-rpi>
Este comando nos va a pedir usuario y contraseña para copiar la ssh-key del dispositivo en la RPi.
Después de haber copiado la ssh-key vamos a poder conectarnos por ssh a la RPi sin necesidad de ingresar la contraseña.
Instalar Docker y Docker Compose
- sudo apt update && sudo apt upgrade
- sudo apt install git
- curl -fsSL https://get.docker.com🡭 -o get-docker.sh
- sudo sh get-docker.sh
- add user to docker group
- sudo usermod -aG docker ${USER}
- sudo su - ${USER}
- groups ${USER}
- test docker version
- docker version
- docker run hello-world
- docker image rm hello-world
- enable docker
- sudo systemctl enable docker
- install docker-compose
cat >> ~/.bashrc <<EOL # Docker Environment export PATH=/usr/bin:$PATH export DOCKER_HOST=unix:///run/user/1000/docker.sock EOL