Servidor en Raspberry Pi con Docker (I)
Llevo años detrás de montarme mi propio servidor. Lo he comentado por aquí y en el podcast infinidad de veces. Mis conocimientos son escasos y todo es prueba/error, habiendo conceptos que se me atraviesan.
Después de mucho tiempo, empiezo a entenderlo gracias a Docker y la ayuda que he encontrado en vídeos, webs y gente de Mastodon (Gracias!!!).
Ahora quiero plasmarlo en el blog, a modo de recordatorio, porque mi memoria es volátil y aunque recuerde los conceptos, seguro que se me escapa algún detalle. Obviamente, si alguien está en mi misma situación, quizá mis palabras las entienda mejor que otras.
Empezamos…
RaspiOS con Raspberry Pi Imager
Lo primero es instalar el sistema operativo. En Linux y supongo que en otros SO, tenemos Raspberry Pi Imager, un programa creado por los creadores de la placa para instalar multitud de sistemas en una microSD, gestionar ciertas características y arrancar nuestra Raspberry.
Instalamos el programa, insertamos la tarjeta microSD en un adaptador a nuestro ordenador y arrancamos el programa…
Elegimos el dispositivo, en mi caso Raspberry Pi 4.
Ahora toca el SO. Podemos elegir RaspiOS en cualquiera de sus versiones, pero como queremos un servidor que no llevará monitor, queremos que consuma pocos recursos, lo suyo es instalarlo sin escritorio. Para ello nos vamos a Elegir SO y seleccionamos:
Raspberry Pi OS (others) y después Raspberry Pi OS Lite (64 Bits).
Elegimos nuestra tarjeta microSD (cuidado al elegirla) y nos pregunta
Seleccionamos en Editar Ajustes y se nos abre una ventana.
Marcamos los que se ve en la imagen en cada una de las pestañas. El Nombre de Anfitrión, y el Usuario y Contraseña, los ponéis a vuestro gusto.
En un servidor, sería conveniente conetcar la Raspberry a internet por cable., pero si queréis conectarla por WIFI, también podéis configurarla en Configurar LAN inalámbrica. Una vez configurado todo, le damos a Guardar.
Pulsamos Sí y después Sí de nuevo para «quemar» nuestra ISO en la microSD.
Ahora nos tocará esperar a que nos diga Ya puede retirar la tarjeta SD del lector y pulsamos Continuar.
Accediendo a nuestra Raspberry por SSH
Ahora introducimos la tarjeta en la Raspberry y la encendemos….
Ahora debemos saber qué IP tiene nuestra Raspberry ya que seguramente nuestro router de internet le ha dado un número aleatorio.
Para ello hay varias opciones.
- Entrar al router y ver las conexiones activas en mi caso, la Raspi se llama piserver.local
- Instalar AngryIP Scanner (PC), darle a escanear y buscar piserver.local
- Instalar Port Authority (Android) escanear y buscar piserver.local
- Hacer ping en una terminal con ping piserver.local y ver que ip te da (cancelar con CTRL+C)
En todas ellas nos dará una Ip a la que conectarnos por SSH a nuestra Raspi.
Nos vamos a la terminal….
No temas, no muerde. SSH significa Secure Shell y con Linux o Mac, podemos conectanos directamente con la aplicación «Terminal». Con Windows deberás usar el equivalente llamado PowerShell, (buscando CMD). Ponemos lo siguiente
ssh server@192.168.1.25
Osea, el usuario que hemos configurado en el programa Raspberry Pi Imager, una arroba y la IP que hemos descubierto con alguna de las opciones anteriores…. Nos pide nuestra contraseña y de repente, nos salen un montón de letras. Como véis en la imagen hay un cuadradito verde. La terminal te pide que confirmes la conexión…. Simplemente teclea yes e INTRO.
Lo primero vamos a modificar esa IP. El router nos da una dirección, un IP, que cambia, lo que se llama DCHP. Vamos a cambiarla por una IP fija, que nos permitirá conectarnos siempre a nuestra Raspberry y apuntar nuestros servicios para que funcionen. Escribimos
Sudo nmtui
Nos sale una pantalla que parece de los 80, un menú con tres posiciones. Debemos pulsar Edit a Connection, pulsamos en la única conexión que nos aparece y pulsamos en la derecha la palabra Edit. OJO!!! se usan los cursores y el INTRO, así que cuidado.
Nos vamos abajo, donde pone IPv4 CONFIGURATION. Ahí está la clave. Pulsamos y tenemos que dejarlo en Manual. y nos desplazamaos a la derecha, hasta Show y pulsamos.
Se abre el árbol de IPv4 y debemos fijarnos en la IP que pusimos al conectarmnnos por SSH. Por ejemplo: 192.168.1.28
– Addresses: algo así como 192.168.1.50 (el 50 puede ser el número que queráis)
– Gateway: 192.168.1.1 (la dirección del router)
– DNS Servers: 1.1.1.1 o 8.8.8.8 o 9.9.9.9
Y quedaría algo así….
Nos vamos abajo del todo, a la derecha, hasta que seleccionemos OK.
Volvemos a la lista de conexiones, que sólo tendremos una, y pulsamos Back.
Después pulsamos en Quit para salir. Y ahora reiniciamos la Raspberry con:
sudo reboot now
Esperamos 2 minutos hasta que se reinicie y volvemos a conectar por SSH, pero ésta vez poniendo la IP que hemos configurado. En mi caso así…
ssh server@192.168.1.50
Si todo va bien, siempre será esa a partir de ahora. Simplemente actualizamos el SO para que todo vaya bien a partir de ahora….
sudo apt update
sudo apt dist-upgrade
Los comandos cada uno por separado.
Con ésto actualizamos el sistema y si hay alguna actualización mayor, también lo hace. Si tarda no os asustéis y dejarlo…. Acabará tarde o temprano…
Y hasta aquí el primer capítulo..
Fuentes: Videos de internet, Flopy.es, diversos tutoriales.