miércoles, 9 de diciembre de 2020

Install Ubuntu on Raspberry PI

 Install Ubuntu on Raspberry PI

In order to install Ubunto on Raspberry PI you should 

  • Download the Raspberry PI imager from https://www.raspberrypi.org/software/  
  • Insert a MicroSD card in your computer (format it as FAT32 if you have issues) and then run the Raspberry PI imager
  • Then click on CHOOSE OS and select Ubuntu. My recommendation is to select the latest Ubuntu Desktop available

Once completed, remove the SDD and insert it into your raspberry, to complete the configuration.

To complete this Raspberry PI configuration, connect your Raspberry PI to an external monitor, a keyboard and a mouse, so you can use it as a regular computer.

martes, 18 de febrero de 2020

Docker: inicio automatico de contenedores

Docker e inicio automatico de contenedores

Cuando implementamos un contendor, queremos usualmente que siga corriendo, a pesar que el usuario se desconecte o que el servidor sea reiniciado.

Como mantener el proceso en ejecución tras la desconexión del usuario

Para resolver el primer punto, que siga corriendo cuando el usuario que lo inició se desconecte, debemos iniciar el contenedor como un demonio. Para esto simplemente usamos el parámetro -d.

Como mantener el proceso en ejecución tras el reinicio del servidor

En un escenario más complejo, optaremos por automatizar el proceso de los contenedores a través de docker-compose, el cual nos permite incluir un archivo yaml con la configuración deseada, incluyendo imagen, puntos de montaje, puertos, etc.

En el mismo archivo yaml, se puede añadir la opción "restart: always", lo que hará que cada vez que se reinicie el servidor (VM), se reinicien automáticamente los contenedores listados con esa opción.

Resumen

En resumen, para iniciar los contenedores, que estos sigan corriendo al desconectarse y que inicien cada vez que el servidor es reiniciado, usaremos el siguiente comando:

sudo docker-compose up -d

Archivo YAML ejemplo

Un archivo YAML de ejemplo es el siguiente:

Nombre de archivo: docker-compose.yml

Contenido del archivo:

# ###################
version: '1'

services:

  postgres:
    container_name: postgres
    image: postgres
    restart: always

  nginx:
  image: nginx
  volumes:
   - ./mysite.template:/etc/nginx/conf.d/mysite.template
  ports:
   - "8080:80"
  environment:
   - NGINX_HOST=foobar.com
   - NGINX_PORT=80
  command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && exec nginx"

    depends_on:
     - postgres