Crear un nodo de Wallabag en Debian 9 y olvídate de Pocket

Muchos de vosotros conoceréis el servicio Pocket debido a que está presente en nuestros navegadores. Esta aplicación, al igual de Wallabag, es una aplicación orientada a las lecturas para después, permite guardar artículos o lecturas para leerlas en el momento que mejor nos vaya.

El problema es que Pocket es una aplicación privativa y tenemos que dar arios datos de los cuales dejamos de ser nosotros los dueños. Pero esto tiene una solución y se llama Wallabag.

Wallabag es un software que nos permite almacenar cualquier lectura o artículo en nuestro servidor y eso hace que seamos nosotros nuestros propios dueños y no dependamos de terceros.

Además de almacenar lecturas, podemos guardar notas e incluso relacionar los artículos con etiquetas para organizarnos mejor. Si además tienes un libro electrónico Kobo, estás de suerte, ya que existe la forma de poder tener los artículos en tu Kobo

Primeros pasos

Para realizar este tutorial hemos desplegado una maquina con Debian 9 y hemos instalado Docker y Nginx. Si no tenéis muy claro como instalar Docker y Nginx podéis revisar este otro artículo donde se explican los pasos (en realidad, este tutorial es muy parecido, ya que vamos a usar el mismo método).

Una vez tengamos Docker instalado y Nginx configurado con SSL, podemos continuar con el despliegue de Wallabag.

Configuración Nginx

Lo que si que tendremos en cuenta es la configuración especial para Nginx y Wallabag, que tendrá que ser la siguiente:

server { server_name midominio.es; location /.well-known/ { root /var/www/html; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8181; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/midominio.es/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/midominio.es/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = midominio.es) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; server_name midominio.es; return 404; # managed by Certbot }

Configuración Wallabag

Antes de desplegar el contenedor de Docker, tendremos que crear los siguientes directorios:

mkdir -p /opt/wallabag/{data,images}

Estos directorios los creamos porque para este tutorial vamos a usar la opción de SQLite que hay en el Repositorio de GitHub.

Despligue de Wallabag con Docker

Primero de todo, descargamos la imagen de Wallabag del repositorio de Docker:

docker pull wallabag/wallabag

Y luego desplegamos la imagen en un contenedor con los siguientes parámetros que pasamos a explicar más abajo:

docker run --name wallabag -p 127.0.0.1:8181:80 -e SYMFONY__ENV__DOMAIN_NAME=https://midominio.es -e SYMFONY__ENV__FOSUSER_REGISTRATION=false -v /opt/wallabag/data:/var/www/wallabag/data -v /opt/wallabag/images:/var/www/wallabag/web/assets/images --restart=always -d wallabag/wallabag

–name wallabag : Le asignamos un nombre al contenedor para luego poder trabajar con él mejor.

: Le asignamos un nombre al contenedor para luego poder trabajar con él mejor. -p 127.0.0.1:8181:80 : Le asignamos un puerto internamente que coincide con el Proxy_pass de Nginx.

: Le asignamos un puerto internamente que coincide con el de Nginx. -e SYMFONY__ENV__DOMAIN_NAME : Añadimos nuestro dominio (si no hacemos esto, es posible que no carguen bien CSS/JS).

: Añadimos nuestro dominio (si no hacemos esto, es posible que no carguen bien CSS/JS). -e SYMFONY__ENV__DOMAIN_NAME : Desactivamos la opción de registro abierto en nuestro Wallabag.

: Desactivamos la opción de registro abierto en nuestro Wallabag. -v /opt/wallabag/data : Indicamos el directorio local para los datos que corresponde al contenedor.

: Indicamos el directorio local para los datos que corresponde al contenedor. -v /opt/wallabag/images : Indicamos el directorio local para las imágenes que corresponde al contenedor.

: Indicamos el directorio local para las imágenes que corresponde al contenedor. –restart:always : Reiniciar contenedor siempre cuando éste falle o se reinicie Docker.

: Reiniciar contenedor siempre cuando éste falle o se reinicie Docker. -d: Ejecuta el contenedor en segundo plano y muestra por pantalla el ID del contenedor.

De parámetros hay un montón más que podéis revisar como siempre en la documentación que tenéis en el repositorio de GitHub.

Acceder a Wallabag

Una vez tengamos nuestro contenedor desplegado, podremos acceder a él escribiendo el dominio que le hemos asignado. Tendremos que ver el login:

Por defecto, Wallabag tiene un usuario llamado wallabag y con contraseña ********* (es broma, es wallabag).

Si accedéis podéis crear usuarios nuevos, cambiar la contraseña de wallabag (MUY ACONSEJABLE) entre muchas otras funciones.

Con un usuario nuevo creado, lo que podéis hacer a continuación es configurar dispositivos con la API y configurar Wallabag en nuestro Android (desde F-Droid) o Firefox.