Blog personal donde guardo mis notas sobre tecnología

Synology: Instalación de Wallabag

Carlos M.
Índice

Wallabag es una aplicación de código abierto para guardar tus artículos web y te permite leerlos más tarde, en tu teléfono inteligente, tableta o ereader.

Aunque existe una versión comunitaria y si tu NAS tiene soporte para docker es preferible utilizar esta última forma y tener las ultimas imágenes oficiales.

Instalación #

Para su instalación voy a utilizar Portainer para crear el stack de contenedores, tienes un magnífico tutorial de como instalarlo aquí

En la sección stacks pulsa en Add stack

Elige un nombre para tu stack y copia el siguiente código en el editor:

version: '3'
services:
  wallabag:
    image: wallabag/wallabag
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
      - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
      - SYMFONY__ENV__DATABASE_HOST=db
      - SYMFONY__ENV__DATABASE_PORT=3306
      - SYMFONY__ENV__DATABASE_NAME=wallabag
      - SYMFONY__ENV__DATABASE_USER=wallabag
      - SYMFONY__ENV__DATABASE_PASSWORD=wallapass
      - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
      - SYMFONY__ENV__MAILER_HOST=127.0.0.1
      - SYMFONY__ENV__MAILER_USER=~
      - SYMFONY__ENV__MAILER_PASSWORD=~
      - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
      - SYMFONY__ENV__DOMAIN_NAME=https://tu.dominio.com
      - SYMFONY__ENV__FOSUSER_REGISTRATION=false
      - SYMFONY__ENV__FOSUSER_CONFIRMATION=false
      - SYMFONY__ENV__SERVER_NAME="Biblioteca Wallabag"
    ports:
      - 8282:80
    volumes:
      - /volume1/docker/wallabag/images:/var/www/wallabag/web/assets/images
    healthcheck:
      test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost"]
      interval: 1m
      timeout: 3s
    depends_on:
      - db
      - redis
  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
    volumes:
      - /volume1/docker/wallabag/data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      interval: 20s
      timeout: 3s
  redis:
    image: redis:alpine
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 20s
      timeout: 3s

Aunque puedes dejar las contraseñas como están, te recomiendo cambiar las contraseñas de acceso a la base de dato y usuarios

  • MYSQL_ROOT_PASSWORD=wallaroot
  • SYMFONY__ENV__DATABASE_USER=wallabag
  • SYMFONY__ENV__DATABASE_PASSWORD=wallapass

Si vas a usar un nombre de dominio propio o FQDN debes de ponerlo en la siguiente variable de entorno, de lo contrario pon la dirección IP del servidor donde alojas Wallabag

  • SYMFONY__ENV__DOMAIN_NAME=https://tu.dominio.com

Las siguiente variables impiden el registro público de nuevos usuarios y el envío del correo de confirmación

  • SYMFONY__ENV__FOSUSER_REGISTRATION=false
  • SYMFONY__ENV__FOSUSER_CONFIRMATION=false

Configura los puertos donde corre la aplicación, en mi caso utilizo un proxy inverso y redirijo todas las peticiones del puerto 8282 al puerto 80

ports:
  - 8282:80

Por último no olvides cambiar las rutas de los volúmenes

volumes:
    - /volume1/docker/wallabag/images:/var/www/wallabag/web/assets/images
volumes:
    - /volume1/docker/wallabag/data:/var/lib/mysql

Cuando hayas terminado de configurar el stack pulsa en el botón Deply the stack para desplegarlo, espera unos minutos hasta que termine

Si todo ha ido bien ahora deberías de poder acceder a tu instancia de Wallabag en el puerto que configuraste:

Las credenciales de acceso para esta primera sesión son:

  • Username: wallabag
  • Password: wallabag

Espero que te haya gustado, pasa un gran día.