Levantar un contenedor de SQL Server en un NAS Synology

Después de varios intentos fallidos, por fin logre levantar un contenedor de SQL Server basado en Docker en mi NAS Synology.

Aquí les comento el paso a paso y los problemas que tuve al momento de levantar la instancia.

Primeramente, hay que verificar que nuestro NAS cumpla con los requerimientos mínimos, si es así, procedemos con la creación el contenedor dentro del Container Manager.

En la sección Contenedor, dar clic en el botón Crear.

En el campo Imagen, selecciona la opción Agregar Imagen.

En la configuración tendrás que agregar el registro de contenedores de Microsoft https://mcr.microsoft.com

Posteriormente, seleccionarlo como el contenedor de registro a utilizar

Después, buscar la imagen del contenedor de SQL Server mediante el buscador, ingresando el texto “mssql/server” en el buscador, y seleccionar la versión que se requiera.

Después, asignar un nombre y configurar los recursos a asignar a nuestro contenedor.

Para esto recomiendo utilizar prioridad de CPU media, ni alta ni baja ya que puede consumir todo nuestro CPU o puede no ser suficiente con configuración baja. Para el Limite de memoria asignar por lo menos un 30% mas de lo recomendado en los requerimientos mínimos, y muy importante, no habilitar el reinicio automático, ya que en caso de alguna falla puede entrar en un bucle de falla-reinicio infinito.

En la siguiente sección de configuración hay que asignar el puerto para nuestro contenedor, podría ser el puerto por defecto de SQL Server (1433) o algún otro.

Es importante configurar algún volumen físico de nuestro NAS a la ruta “/var/opt/mssql” del contenedor, para almacenar nuestras bases de datos fuera del contenedor y no se pierdan al apagar o reiniciar nuestro NAS.

Hay que agregar las siguientes variables de ambiente mínimas requeridas y asignar privilegios de ejecución al contenedor

Del resto de la configuración, pueden dejar las opciones por defecto y dar clic en Finalizar.

Con esto ya estaría listo nuestro contenedor de SQL Server, ya solo restaría crear alguna base de datos de ejemplo como la de AdventureWorks

Espero les sea de utilidad.

Referencias:

Prerequisites

Inicio rápido: Ejecución de imágenes de contenedor de SQL Server para Linux con Docker

Variables de ejecución del contenedor

Deploy and connect to SQL Server Linux containers

Montaje de un directorio host como volumen de datos

Restauración de una base de datos de SQL Server en un contenedor para Linux

AdventureWorks sample databases

Mover o respaldar archivos en un NAS Synology con script personalizado

En esta ocasión les comparto una opcion personalizada para mover o respaldar archivos en un NAS Synology mediante un script definido por el usuario, ejecutado de forma recursiva mediante el programador de tareas.

Esto puede ser util para ejecutar cualquier tipo de script, no solo para mover o respaldar archivos.

Lo primero que realice fue montar una carpeta remota, para esto abrir File Station

Ingrese al menú Herramientas / Montar carpeta remota / Carpeta compartida de CIFS e incluí las configuraciones de la carpeta remota

Posteriormente se tendría que crear el script a ejecutar y almacenarlo en algún directorio dentro del NAS

Para el script utilice comandos muy básicos de Linux, los comandos cp y rm

El script quedo de la siguiente forma:

cd /volume1/directorioorigen/
cp -uvr /volume1/directorioorigen/ /volume1/directoriodestino/
rm -rv /volume1/directorioorigen/*

El comando cp sirve para copiar archivos y el rm sirve para eliminar archivos en el sistema operativo Linux, les incluyo una descripción de las opciones que maneje:

-u copia solo si el archivo es mas nuevo que el archivo destino o en el destino no existe
-v–verbose explain what is being done
-r–recursive copy directories recursively

Pienso en un futuro actualizar el script utilizando el comando rsync.

Por ultimo, para crear la tarea programada tienen que ingresar a Panel de Control / Programador de Tareas

Posteriormente, al menú Crear / Tareas Programadas / Script definido por el usuario

Ahí definirás el nombre de la tarea, periodicidad de ejecución y la ruta del script a ejecutar

También les recomiendo seguir las recomendaciones para guardar los resultados de la ejecución del script

Por el momento es todo, espero les sea de utilidad

Referencias:

Sugerencias para crear tareas y escribir scripts en el Programador de tareas

Montar carpetas remotas

Comandos linux que debes conocer

rsync: Delete Source File After Transfer

Reproducir videos con audio EAC3, DTS o TrueHD en un NAS Synology

Actualización: Synology dejo de soportar la transcodificación de audio para el formato AAC a partir de la versión 7.1.1 del DSM (2022-09-27), el parche de AlexPresso plantea soportarlo, sin embargo aun no hay fecha de implementación.

Hace algún tiempo, después de comprar mi primer NAS Synology, me entere que la Video Station (la consola multimedia del NAS) no soporta la reproducción de videos que usen el formato de audio EAC3, DTS o TrueHD, así que me dí a la tarea de investigar la razón y una posible solución.

Encontré que la razón del porque no reproduce esos formatos de audio es muy simple, porque el NAS Synology no incluye los codecs para esos formatos, ya que son formatos propietarios y tendrían que pagar algo por incluirlos (por el precio del NAS creo que deberían incluirlos).

Así que buscando posibles soluciones y encontré 2 opciones, ambas instalando e utilizando el paquete FFmpeg de SynoCommunity.

La primera opción es transcodificar los archivos de video a otro formato de audio que si sea soportado por el NAS Synology, y la segunda opción, remplazar el transcodificador de audio de la Video Station para que transcodifique los video al vuelo sobre demanda.

Las ventajas de la primera opción es que la operación es muy sencilla, solo instalas el FFmpeg y ejecutas un comando.

El comando para convertir tus videos a formato AC3 seria algo similar a esto:

/path/to/ffmpeg -i "input.mkv" -map 0 -c:s copy -c:v copy -c:a ac3 -b:a 640k "output.mkv"

Es requerido utilizar la versión del FFmpeg de SynoCommunity. Aquí el proceso de instalación.

La desventaja de esta opción es que si tienes muchos archivos de video con formatos no soportados, la tarea de identificar y transcodificar cada archivo sera ardua.

Ahora, para la segunda opción, la ventaja es que es sobre demanda, y si tienes muchos archivos, para ti sera transparente, la Video Station hará el trabajo de transcodificar los videos al vuelo al momento de la reproducción, la desventaja es que la tarea de transcodificación consumirá recursos de tu NAS, principalmente uso de procesador, lo cual podrá tener efectos en el rendimiento de tu NAS.

El proceso consiste en remplazar la versión del paquete FFmpeg de la Video Station por la version 4 de SynoCommunity.

Primeramente, como se indico anteriormente, hay que instalar la versión 4 del paquete FFmpeg del repositorio de SynoCommunity.

Posteriormente sera necesario conectarnos via SSH al NAS. Se habilita desde el panel de control.

Una vez conectado, se utiliza el comando “sudo -i” para cambiar a usuario Root.

y por ultimo utilizas el siguiente comando para remplazar el paquete FFmpeg.

curl https://raw.githubusercontent.com/AlexPresso/VideoStation-FFMPEG-Patcher/main/patcher.sh | bash

si requieres quitar el parche y volver a la versión original del paquete FFmpeg

curl https://raw.githubusercontent.com/AlexPresso/VideoStation-FFMPEG-Patcher/main/patcher.sh | bash -s -- -a unpatch

Y ahora si, a disfrutar tu contenido multimedia.

Referencias:

synocommunity.com

VideoStation-FFMPEG-Patcher

converting eac3 to aac with ffmpeg

Recomendaciones al comprar un NAS Synology de gama baja

Les comparto algunos consejos a la hora de elegir un NAS marca Synology.

Cabe mencionar que esto es solo una recomendación de la gama baja de Synology, es totalmente basada en mi experiencia personal, les recomiendo encarecidamente buscar otras fuentes de información y formar su propio criterio.

Una vez dicho lo anterior, empezamos…

La gama baja de Synology se clasifica en DS J Series, DS Value Series y DS Plus Series.

DS J Series (DS120j, DS220j) – Es el equipo mas esencial, incluye procesadores de bajo desempeño y poca memoria RAM, su uso principal es el de un NAS Personal con algunas funciones de Cloud, como podría ser compartir archivos multimedia, sincronización de fotos.

DS Value Series (DS218, DS223) – Incluye lo mismo que el anterior con algunas mejoras en procesamiento, memoria y aplicaciones, algunas versiones incluyen opciones para ampliar la memoria RAM provista de fabrica. La biblioteca de aplicaciones es un poco mayor y permite activar mayores funcionalidades a nuestro NAS, como por ejemplo: funciona como DVR con la aplicación Survilance Station o como reproductor de contenido multimedia con la aplicación Video Station por decir algunas. Existe una versión DS Value Play que tiene un enfoque en transmisión de contenido multimedia e incluye un chip para decodificación de video, sin embargo, antes de adquirirlo, es importante informarse de que formatos de video admite cada versión.

DS Plus Series (DS218+, DS220+) – Es el mejor equipado de los 3 en cuestiones de memoria, procesamiento, incluye mejoras en puertos red y USB, permite la actualización de la memoria de fabrica e incluye un mayor numero de aplicaciones que brindan una funcionalidad muy completa para un Nube `Privada.

Como acceder al Disk Station Manager de Synology mediante un subdominio

En esta ocasión les comparto como configurar un subdominio para acceder al DSM de Synology.

El primer paso es ingresar al panel de control de su dispositivo Synology, a la opción “Portal de Inicio”.

En la sección Dominio, ingresa tu subdominio personalizado, por ejemplo: MiSubdominio.MiSitio.com

Posteriormente, en el panel de control dirígete a la opción “Seguridad / Certificado”.

Selecciona la opción “Agregar” para agregar o importar un certificado para el subdominio que configuraste a tu DSM.

Puedes crearlo con Let’s Encrypt o importarlo, en caso de que ya cuentes con un certificado para ese dominio.

También requerirás crear el subdominio con la herramienta de tu proveedor de DNS y esperar al menos 24 horas a que se propague por internet la dirección del nuevo subdominio.

Una configuración similar aplica para asignar un subdominio a la consola de alguna aplicación de nuestra DiskStation, por ejemplo: Download Station, Video Station, etc…

Espero les sea de utilidad.