Home Assistant Docker Mariadb

MariaDB en docker en una Raspberry Pi y cambiamos la base de datos en Home Assistant

Home Assistant Raspberry PI SmartHome Tutorial

Hace unas semanas ya vimos como cambiar la base de datos de Home Assistant con el Addon de Mariadb y hoy vamos a ver como hacer lo mismo para los que no usan addons.

Básicamente se trata de una configuración de Mariadb en docker que podremos usar además para otros proyectos pero que en este caso le crearemos la base de datos para Home Assistant, crearemos el usuario y finalmente cambiaremos la cadena de conexión para que Mariadb sea la base de datos de Home Assistant.

Aprovechando que vamos a crear un contenedor de docker con MariaDB también vamos a crear el contenedor de PHPmyadmin, así podremos acceder y ver la base de datos de una manera sencilla.

El docker-compose que vamos a utilizar es este:

version: '3'
services:
  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=elrootpass
      - MYSQL_DATABASE=homeassistant
      - MYSQL_USER=homeassistant
      - MYSQL_PASSWORD=hapass
    volumes:
      - ./db_data:/config
    ports:
      - "3306:3306"

  phpmyadmin:
    image: ebspace/armhf-phpmyadmin
    container_name: phpmyadmin
    restart: unless-stopped
    environment:
      - PMA_HOST=mariadb
    ports:
      - "82:80"
    depends_on:
      - mariadb

Aquí tenemos que cambiar algunos parámetros como el MYSQL_ROOT_PASSWORD que hay que poner el password que queremos que tenga root y el MYSQL_PASSWORD que será el password que queremos para la base de datos de Home Assistant.

Estas tres variables MYSQL_DATABASE, MYSQL_USER y MYSQL_PASSWORD son opciones y en este caso nos permiten crear al inicio una base de datos que se llama homeassistant con un usuario que se llama también homeassistant y la contraseña que le digamos, en el caso de querer crear otra base de datos distinta cambiaríamos estos parámetros o incluso podemos no ponerlos y crear más tarde la base de datos desde phmyadmin o desde consola.

Otro punto a tener en cuenta es ./db_data que básicamente le estamos diciendo que guarde la base de datos y configuración en este directorio, aquí le podemos poner la ruta que queramos.

En cuanto a PHPmyadmin no tenemos que tocar nada a excepción del puerto ya que en este caso utilizo el 82 por tener ocupado el 80 pero vosotros podéis poner el que os venga bien, incluso el 80 si lo tenéis libre.

Para lanzar los contenedores ejecutaremos:

docker-compose up -d

Una vez arrancado todo el stack, llega la hora de cambiar la base de datos de Home Assistant para ello nos dirigimos al fichero de configuración configuration.yaml y añadimos la siguiente linea, modificando el usuario, contraseña y base de datos por los que tengais.

recorder:
  db_url: mysql://homeassistant:lacontraseña@IP_Raspberry_Pi/homeassistant?charset=utf8mb4

Hecho esto, solo queda reiniciar Home Assistant para empezar a utilizar la nueva base de datos.

Como siempre os dejo con el video donde explico casa paso con más detalle.

No olvidéis suscribiros al canal!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.