Authelia
Configuración de clientes en Authelia Ya tenemos configurado nuestro sistema de autenticación a través de Authelia que dejamos bastante detallado en el post de Owncloud oCIS. Añadir cliente nuevo en Authelia Vamos a añadir otro cliente para Immich. Siguiendo la documentación oficial de Authelia creamos un nuevo cliente modificando nuestro fichero configuration.yml: identity_providers: oidc: ## The other portions of the mandatory OpenID Connect 1.0 configuration go here. ## See: https://www.authelia.com/c/oidc clients: - client_id: 'immich' client_name: 'immich' client_secret: '$pbkdf2-sha512$310000$c8p78n7pUMln0jzvd4aK4Q$JNRBzwAo0ek5qKn50cFzzvE9RXV88h1wJn5KGiHrD0YKtZaR/nCb2CJPOsKaPK0hjf.9yHxzQGZziziccp6Yng' # The digest of 'insecure_secret'. public: false authorization_policy: 'two_factor' require_pkce: false pkce_challenge_method: '' redirect_uris: - 'https://immich.midominio.com/auth/login' - 'https://immich.midominio.com/user-settings' - 'app.immich:///oauth-callback' scopes: - 'openid' - 'profile' - 'email' response_types: - 'code' grant_types: - 'authorization_code' access_token_signed_response_alg: 'none' userinfo_signed_response_alg: 'none' token_endpoint_auth_method: 'client_secret_post' En este punto, la única parte complicada es el client_secret. Vamos a generarlo: ...
Instalación de Owncloud oCIS en Unraid
Owncloud oCIS oCIS está escrito en Go, lo que lo hace extremadamente rápido y ligero, funcionando como un binario único. Nextcloud utiliza PHP, lo que facilita su personalización pero requiere más recursos y optimización del servidor para grandes volúmenes. Mientras que oCIS se centra en ser un especialista en almacenamiento y sincronización a gran escala, Nextcloud se posiciona como una “Content Collaboration Platform” completa, incluyendo chat, videollamadas y oficina en línea de forma nativa. ...
AdguardHome como servidor DNS
Adguard Home Según su web, Adguard Home es el primer bloqueador de anuncios para Linux a nivel de sistema en el mundo. Bloquea anuncios y rastreadores en el dispositivo, selecciona de los filtros preinstalados o añade los tuyos propios, todo a través de la interfaz de línea de comandos. Características: 1.- Bloqueo de anuncios: El bloqueador de anuncios AdGuard elimina los molestos banners, ventanas emergentes y anuncios de vídeo. 2.- Protección de privacidad: El bloqueador de anuncios AdGuard protege tus datos de web analytics y los rastreadores online. 3.- Seguridad de navegación: El bloqueador de anuncios AdGuard protege contra el phishing y los sitios maliciosos. 4.- Control parental: El bloqueador de anuncios AdGuard protege a los niños del contenido adulto e inapropiado. ...
Proxy Inverso en VPS (parte 2)
Instalación y configuración de Wireguard Vamos a instalar un servidor Wireguard en nuestro VPS. # Instalamos wireguard y generador de qr para escanear desde app movil sudo apt install wireguard qrencode -y # Cambiamos a nuestro directorio de wireguard sudo su cd /etc/wireguard/ umask 077 # Generamos claves de servidor wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub Creamos nuestro fichero wg0.conf: nano wg0.conf [Interface] # IP que tendrá el VPS dentro de la VPN Address = 10.8.0.1/24 # Puerto de escucha (OJO - abrir el puerto en ufw y panel de nuestro vps si es necesario) ListenPort = 51820 # Clave privada del servidor PrivateKey = # GENERADA EN EL APARTADO ANTERIOR - FICHERO server.key # Reglas para permitir que el tráfico fluya y salga a internet #PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE #PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE # Reglas combinadas: Acceso a Internet (ens6) + Acceso a Tailscale (tailscale0) PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE; iptables -A FORWARD -i %i -o tailscale0 -j ACCEPT; iptables -A FORWARD -i tailscale0 -o %i -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -A POSTROUTING -o tailscale0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE; iptables -D FORWARD -i %i -o tailscale0 -j ACCEPT; iptables -D FORWARD -i tailscale0 -o %i -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -D POSTROUTING -o tailscale0 -j MASQUERADE # CLIENTES # s24 [Peer] PublicKey = # CLAVE PUBLICA DE NUESTRO CLIENTE S24 AllowedIPs = 10.8.0.2/32 # envy [Peer] PublicKey = # CLAVE PUBLICA DE NUESTRO CLIENTE ENVY AllowedIPs = 10.8.0.3/32 Generamos las claves de nuestro primer cliente: ...
Proxy Inverso en VPS
Traefik y crowdsec Estoy hasta el gorro de la liga y sus puñeteros bloqueos. Este blog y mis servicios estaban configurados en el NAS con un traefik como proxy inverso. Para proteger mi IP pública uso el Proxied de cloudflare, que además aporta un WAF muy potente, geolocalización, etc. PROBLEMA: cada vez que hay futbol pierdo la conexión a homeassistant y otros servicios que para mi son muy importantes. Hoy vamos a configurar traefik en un VPS y desde allí enrutamos todo el tráfico a nuestro NAS local a través de Tailscale. Desactivaremos el proxied de cloudflare y de esta forma no está expuesta mi IP pública, sólo está expuesta la IP del VPS. He contratado el VPS más económico que tiene Piensasolutions. En mi caso pago 0,75€ al mes durante 12 meses y después el coste pasa a ser 1€ al mes. El VPS tiene 1 GB de RAM, 1 vCPU, 10GB SSD NVMe y conexión de 1Gbps. Al principio intenté instalar Pangolín, que ya lo tuve operativo en un VPS de prueba más potente. Pero creo que en este servidor es muy exigente y no puede para nada con él. Solo Pangolín consume 300 Mb de RAM más el sistema, crowdsec, etc. IMPOSIBLE !!!!! ...
Traefik v3 y Crowdsec
Traefik y crowdsec Hasta hace poco tenía en funcionamiento traefik con crowdsec usando las plantillas de unraid. Hice varios manuales sobre la instalación pero por motivos que desconozco crowdsec no parseaba las líneas de logs de traefik y por tanto no hacía absolutamente nada. He decicido hacer una instalación limpia desde 0 y aquí va. Gran parte de este manual se ha hecho usando Perplexity. Debo decir que tiene mucho que mejorar, pero nos marca unas bases buenas para empezar. ...
Borg Backups
Configuración de Backups con Borg Nuestro servidor de Unraid va a servir para guardar los backups de nuestras máquinas. En concreto vamos a guardar los backups de los equipos (portátiles y móviles) a través de Vorta, del VPS y del servidor Debian sanMi. Esta necesidad ha surgido por dos temas distintos: El primero es la necesidad de hacer backup de nuestros servidores secundarios. Podría instalar Duplicacy, que es el sistema que uso para hacer backup de unRaid en la cuenta de GoogleDrive pero visto lo bien que habla todo el mundo de borg vamos a probarlo una temporada. Segundo, los equipos de oficina estaban configurados con Gnome y usando la herramienta Deja-dup hacía los backups. El problema es que Deja-dup no funciona con KDE y me he visto obligado a emplear otra aplicación. Kbackup es una buena opción, pero no acaba de convencerme. Vorta me parece que es una opción excelente así que vamos a ello. ...
Reinstalar Debian con LVM
Instalar Debian en particiones LVM encriptadas ya existentes conservando datos Arrancamos con el médio de instalación de Debian y seleccionamos Opciones avanzadas - Instalación experta Avanzamos en el proceso de instalación normalmente y en Load Installer components from CD cargamos los siguientes: crypto-dm-modules and rescue-mode Continuamos con la instalación y nos detenemos antes de Detect disks: Accedemos a una consola con ctrl+alt+f2 y realizamos la carga de nuestro LVM: ...
Home Assistant y Telegram
Integrar Telegram en Home Assistant Resulta muy sencillo la integración de Telegram. Modificamos el fichero configuration.yaml y añadimos lo siguiente: Tenemos que crear nuestro bot a través de @BotFather. Una vez finalizado nos dará el api_key que necesitamos. Para obtener el id del chat usamos @GetIDs bot telegram_bot: - platform: polling api_key: xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx allowed_chat_ids: - 123456789 - 123456789-dos notify: - platform: telegram name: "telegram" chat_id: 123456789 - platform: telegram name: "telegram_dos" chat_id: 123456789-dos En name: “telegram” podemos poner el nombre que queramos, teniendo en cuenta que cuando llamemos a nuestro servicio debemos usar: notify.telegram, notify.my_home, etc… ...
Backups a USB automático
Script de backup con rsync Con este pequeño script hacemos el backup del USB del trabajo a nuestro disco duro: Origen: /ruta origen Destino: /ruta destino OJO - cuando tenemos espacios en los nombres hay que usar ‘' para que el script sepa que es un espacio #!/bin/bash << 'Comment' Opciones rsync: --delete: borrar los archivos que fueron borrados de la carpeta origen en la carpeta destino -a: mantiene el usuario, grupo, permisos, fecha y hora, así como los enlaces simbólicos -v: la información imprimida durante la ejecución del programa será mucho más detallada, -h: nos da las tasas de transferencia y el tamaño de los archivos en unidades razonables -u: evitar copiar archivos que ya tenemos en la carpeta de destino que no has sido modificados en la carpeta de origen Comment rsync --progress --stats --delete -avhiu /media/user/Nuevo\ vol/Origen /home/user/Destino Configuración con reglas UDEV Primero debemos obtener el idProduct y el idVendor del nuestro usb ...