Paseando por un día

Bitácora personal del capitán @fotosycaptura ✨

Jugando con una Raspberry Pi B+


Año 2021, pero esta placa es del 2014... o.O

Y luego de una pequeña limpieza, está como nueva, me puse a encenderla y decidí mejor actualizarle el OS, pues según la información de foros por ahí, habían cambiado muchas cosas, incluyendo el propio OS que se le puede instalar. Si no estás usando monitor y teclado por separado, no te olvides de crear un archivo vacío llamado ssh en la sd antes de ingresarla o no podrás configurarla vía ssh.

Luego de ello, y de ingresar con las credenciales iniciales que son pi y de contraseña raspberry, procedí a cambiar la clave con el comando passwd, no te olvides de agregar ese usuario al grupo ssh con:

$ sudo adduser pi ssh

y luego de ello a configurarla con:

$ sudo raspi-config

Después de setear lo del idioma, lo de la hora y todo eso, ya solo me puse a actualizar con:

$ sudo apt update

y después:

$ sudo apt upgrade

Luego de ello, me puse a investigar un poco sobre como dejarlo como un servidor GIT, pero lo que encontré, no sirvió mucho, en el sentido de que me pedían que instalara docker por ejemplo, y aunque lo intenté, creo que en esta versión de hardware es algo modesta para ello.

Así que después de mucho intentarlo, simplemente me fui a la web de Gitea, ah claro, lo quería bonito, con una interfaz agradable, configurable, etc... Así que Gitea los pasajes.. Jejeje...

Luego, sabiendo que la arquitectura es del tipo ARM, pues busqué la versión adecuada según yo. Pueden optar por la versión Current Release pero como soy algo inestable XD, bajé la versión rc 2... ~_^

$wget https://dl.gitea.io/gitea/1.15.0-rc2/gitea-1.15.0-rc2-linux-arm-5

Luego lo renombré con mv a gitea, le di permisos de ejecución con chmod +x.. Vamos, lo usual...

Uhm, he de mencionar que la Raspberry que tengo, la tengo con una SD de 16 GB. Considerando que con el OS versión Lite, y python 3.9, ah cierto, estoy experimentando con ello también, así que, 14% de espacio en total ocupado, y todo el resto libre para repositorio GIT. Creo que es más que suficiente, aunque si quisiera más espacio, siempre se puede instalar una unidad USB y formatear, montar y configurar.

La configuración de Gitea, no la voy a publicar acá, porque está muy bien documentada en su web.

Aunque sí pondré algunos pasos que realicé por supuesto... No te mueras!!!

Instalando como servicio

Seguramente, si has llegado hasta acá, estarás pensando en cómo dejarlo configurado y listo para ejecutarlo como servicio, no tiene sentido ejecutarlo mientras estás logueado como usuario, porque con un reinicio todo eso se va... Y habría que volver a ejecutar la aplicación para que quede escuchando en el puerto que le hayas especificado, etc, etc, etc...

Así que... Lo primero sería ingresar acá y descargar el ejemplo que mencionan de gitea.service.

Luego tocaría modificarlo un poco. No es difícil. Está bien, me compadeceré de ti, te dejaré el archivo que a mi me a funcionado en mi modesto HW...

###
# (You can also provide gitea an http fallback and/or ssh socket too)
#
# An example of /etc/systemd/system/gitea.main.socket
###
##
## [Unit]
## Description=Gitea Web Socket
## PartOf=gitea.service
##
## [Socket]
## Service=gitea.service
## ListenStream=<some_port>
## NoDelay=true
##
## [Install]
## WantedBy=sockets.target
##
###

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=pi
Group=pi
WorkingDirectory=/home/pi/
# If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file
# (manually creating /run/gitea doesn't work, because it would not persist across reboots)
#RuntimeDirectory=gitea
ExecStart=/home/pi/gitea web --config /home/pi/custom/conf/app.ini
Restart=always
Environment=USER=pi HOME=/home/pi GITEA_WORK_DIR=/home/pi
# If you install Git to directory prefix other than default PATH (which happens
# for example if you install other versions of Git side-to-side with
# distribution version), uncomment below line and add that prefix to PATH
# Don't forget to place git-lfs binary on the PATH below if you want to enable
# Git LFS support
#Environment=PATH=/path/to/git/bin:/bin:/sbin:/usr/bin:/usr/sbin
# If you want to bind Gitea to a port below 1024, uncomment
# the two values below, or use socket activation to pass Gitea its ports as above
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE
###

[Install]
WantedBy=multi-user.target

¿Viste que no era difícil?... Bueno, ya tan solo falta dejarlo en la ruta que mencionan en el link que está más arriba, osea esta:

$ /etc/systemd/system/gitea.service

Uhm, ya solo queda activarlo como servicio.

sudo systemctl enable gitea.service
sudo systemctl start gitea.service

Y listo, el resto sería ingresar a la url, que normalmente es localhost:3000 si es que has dejado el puerto por defecto. Y configurar mediante un navegador web, las opciones como la base de datos a usar, la ruta, el usuario administrador, etc, etc, etc... ¡Pero ya quedó!

Conclusión

Ya tienes tu server casero, ahorrativo - consume nada de energía - y con la primera versión de la raspberry... Ahora si tienes una versión como la 4 por ejemplo, que al momento de escribir estas líneas, es la más actual. Pues, felicidades, quizás con la opción de usar docker sea más que suficiente... Yo lo hice así porque simplemente, docker no hubo forma de que funcionara utilizando el comando tipico de apt install blablabla....

¡Hasta la próxima!...