Ultimate Smart Home Media Server con Docker y Ubuntu 18.04 – Básico

SERVIDORDOMÉSTICO HOGAR INTELIGENTE

Ubuntu Docker Home Media Server

escrito por Anandel 14 de marzo de 2018

Docker puede ayudarlo a construir un Home Media Server en solo minutos sin configuraciones complejas. En esta publicación, le mostraré cómo construir un servidor doméstico perfecto para una casa inteligente usando Docker y Ubuntu. Este servidor de medios Docker todo en uno automatizará la descarga de medios, la transmisión y satisfará sus necesidades de automatización del hogar. Docker puede hacer que su hogar inteligente sea más inteligente. [ Leer: Configuración de Mi casa inteligente: todos los gadgets y aplicaciones que uso en mi casa automatizada ]

Tenga en cuenta que esta es una publicación de nivel «básico» sobre cómo configurar un servidor doméstico perfecto con Docker. Mi publicación de nivel avanzado cubre la configuración del proxy inverso de Traefik con SSL para Docker . Con Traefik, incluso puede agregar Google OAuth para sus servicios de docker para el inicio de sesión único. Esta publicación está escrita con muchos detalles para ayudar a los novatos. Puede parecer largo, pero el proceso en sí debería tomar menos de una hora. [ Leer: ¿Qué es un hogar inteligente y qué puede hacer la automatización del hogar inteligente por usted? ]19 de noviembre de 2019: he actualizado mi configuración significativamente después de publicar esta publicación. Compruebe por favor mi Docker-Traefik GitHub Repo para obtener los últimos archivos de Docker Compose. En algún momento, actualizaré esta publicación para reflejar los cambios.

Registro de cambios:
  • 18 de mayo de 2018: instrucciones probadas y actualizadas para Ubuntu 18.04 Bionic Beaver. Se agregó la sección de solución de problemas. Se agregó phpMyAdmin.
  • 7 de mayo de 2018: se agregó MariaDB. Reemplazado PlexPy con Tautulli. Contenedores reorganizados en varias secciones. Reemplazado PlexPy con Tautulli.
  • 15 de marzo de 2018: Radarr y Sonarr se convirtieron en las aplicaciones recomendadas en lugar de CouchPotato y SickRage, respectivamente. Se agregó Bittorrent de transmisión con soporte VPN.
  • 14 de marzo de 2018 – Publicación inicial.

¿QUÉ ES UN SERVIDOR DE MEDIOS DOMÉSTICO?

Un Home Media Server es un servidor ubicado en su red doméstica que actúa como un dispositivo central de almacenamiento y servicio de datos. Por lo general, un servidor doméstico siempre está encendido, tiene toneladas de capacidad de almacenamiento y está listo para servir archivos (incluidos los medios) cuando sea necesario. Hemos cubierto varios temas de servidores domésticos en gran detalle en el pasado. Si aún no tiene un servidor doméstico o está considerando construir uno, lea este resumen sobre los usos más comunes de NAS o servidor doméstico . Si te venden, entonces considera esta construcción de servidor doméstico de baja potencia para tu servidor de medios doméstico. Si tiene poco presupuesto, puede considerar nuestra construcción de servidor doméstico sin cabeza de presupuesto . Si tiene varias unidades de almacenamiento, esta guía asume que su RAID ya está configurado.

Recomendaciones de HTPC / Home Server Builds 2017:

Una vez que haya resuelto el hardware, la siguiente gran pregunta es el sistema operativo. En mi opinión, Linux es el mejor sistema operativo para construir su servidor de medios doméstico. Pero luego, hay varias distribuciones de servidores domésticos Linux disponibles, que ofrecen estabilidad y rendimiento. Entonces, ¿cuál usar? Siempre recomiendo Ubuntu Server, más específicamente los LTS (versiones de soporte a largo plazo), que son compatibles durante 5 años. Una vez que construye su servidor, puede dejarlo funcionar durante 5 años con todas las actualizaciones de seguridad del equipo de Ubuntu. He probado esta guía en Ubuntu Server 16.04 LTS y 18.04.La próxima versión a largo plazo 18.04 está a la vuelta de la esquina. Actualizaré esta guía poco después de que se lance.

Docker Home Media Server 2018

Las mejores aplicaciones de servidor doméstico para automatizar la gestión de medios

OBJETIVOS DE ESTE DOCKER HOME MEDIA SERVER

Una de las grandes tareas de un servidor de medios completamente automatizado es una agregación de medios. Por ejemplo, cuando un episodio de un programa de televisión esté disponible, descárguelo automáticamente, recoja su póster, fanart, subtítulo, etc., póngalos todos en la carpeta que elija (por ejemplo, dentro de la carpeta de programas de TV), actualice su biblioteca de medios por ejemplo, en Plex) y luego enviarle una notificación (por ejemplo, correo electrónico, notificación móvil, etc.) diciendo que su episodio está listo para ver. Suena genial verdad? Hay varias aplicaciones que pueden hacer tales tareas y las hemos compilado en nuestra lista de las mejores aplicaciones de servidor doméstico . Agregue a eso, un increíble software de código abierto como Home Assistantque puede convertir su servidor doméstico en un centro inteligente de automatización del hogar. Así que aquí hay una lista de funciones que quiero en mi nivel básico Docker Media Server perfecto para hacer:

  • Descarga y organización automatizadas de programas de TV
  • Descarga automatizada de películas y organización
  • Descarga de torrent a pedido o automatizada
  • Descarga NZB (Usenet) a pedido o automatizada
  • Sirva y transmita medios a dispositivos en el hogar y en el exterior a través de Internet
  • Interfaz de búsqueda de torrent y NZB bajo demanda
  • Ejecute el software de automatización del hogar
  • Actuar como un servidor en la nube personal con acceso seguro a archivos en cualquier lugar
  • Proporcionar una interfaz unificada para acceder a todas las aplicaciones.
  • Actualiza todas las aplicaciones automáticamente

Algunas aplicaciones son opcionales y encontrará detalles a continuación sobre cómo elegir y elegir lo que desea. Puede parecer una configuración compleja, pero confía en mí, Docker puede facilitar la instalación y el mantenimiento de estas aplicaciones de servidor doméstico. Hay muchas más cosas interesantes que puedes hacer con Docker, que se discutirán en futuras publicaciones. Así que ten cuidado con eso. [ Leer: Tutorial de Traefik: Proxy inverso de Traefik con LetsEncrypt para Docker Media Server ]

¿QUÉ ES DOCKER?

Antes de comenzar a construir un servidor de medios docker , solo tiene sentido tocar Docker. Ya hemos cubierto Qué es Docker y cómo se compara con una máquina virtual como VirtualBox . Por lo tanto, no entraremos en muchos detalles aquí.

Docker vs máquinas virtuales hechas por docker

Docker vs máquinas virtuales hechas por docker

Brevemente, Docker permite la virtualización a nivel del sistema operativo. Lo que esto significa es que las aplicaciones se pueden instalar dentro de «contenedores» virtuales, completados aislados del sistema operativo host. Dado que cada aplicación / contenedor es autónomo, se pueden crear y destruir a voluntad sin ningún impacto en el sistema operativo del host. Los contenedores comparten los recursos del sistema host y usan mucho menos en comparación con una máquina virtual. A diferencia de una máquina virtual, que necesita un SO huésped para cada una de las máquinas virtuales, un contenedor Docker no necesita un sistema operativo separado. Por lo tanto, los contenedores acoplables se pueden crear y destruir en segundos. Los contenedores también se inician en segundos, por lo que su aplicación está lista para funcionar rápidamente.

Docker funciona de forma nativa en Linux, pero también está disponible para Mac y Windows.

Guías recomendadas:

OK Genial, pero ¿por qué construir un Docker Media Server?

La forma tradicional de construir un Home Media Server implica configurar el sistema operativo, agregar repositorios, descargar las aplicaciones, instalar los requisitos previos / dependencias, instalar la aplicación y configurarla. Esto es engorroso en Linux y requiere un extenso trabajo de línea de comandos. Algunos usuarios de Linux juran por este método tradicional, pero la mayoría de los novatos se sienten intimidados por esto. Es por esta razón que creamos AtoMiC ToolKit , que automatiza la instalación y el mantenimiento de aplicaciones de servidores domésticos en Linux. Incluso con esto, uno puede tener problemas durante la instalación.

Busque aplicaciones en contenedores en Docker Store

Busque aplicaciones en contenedores en Docker Store

En Docker, las aplicaciones de servidor doméstico como SickRage, CouchPotato, Plex, etc. se pueden instalar con facilidad sin preocuparse por requisitos previos o incompatibilidades. Todos los requisitos ya están preempacados con cada contenedor. La comunidad Docker ya contiene las aplicaciones más conocidas en contenedores y están disponibles a través de Docker Store .

La mayoría de los contenedores de Docker de buena reputación en Docker Hub tienen una amplia documentación para ayudarlo a configurar e iniciar el contenedor. No se preocupe, es básicamente una sola línea de comando con pocos parámetros de configuración. Pero espera, esto se pone aún mejor. Con Docker Compose , puede editar el archivo de redacción para establecer algunos parámetros de configuración (por ejemplo, directorio de descarga, proporción inicial, etc.) y ejecutar el archivo y todas sus aplicaciones en contenedores se pueden configurar e iniciar con un solo comando. Esto es lo que hago y esto es lo que voy a explicar en esta publicación. Si sabes de lo que estoy hablando, aquí está mi archivo básico de compilación de acoplador . Puede usar mi archivo de composición Docker y comenzar en minutos. Si no, sigue leyendo y te guiaré a través de todo el proceso.

PREPARACIÓN

Si se vende, comience a prepararse para construir un servidor de inicio de Docker para un hogar más inteligente. Como se dijo antes, Docker se ejecuta de forma nativa en Linux. Mi elección del sistema operativo para un servidor doméstico es Ubuntu . Si bien esta guía es para usuarios de Ubuntu, debería funcionar en la mayoría de las distribuciones de Linux basadas en Debian.

Ya hemos cubierto la instalación de varias aplicaciones de servidor doméstico usando Docker en varias publicaciones individuales . Puedes seguir esos. Pero esta publicación es más que suficiente para comenzar y más.

¿Qué pasa con nosotros los usuarios de Windows y Mac?

Docker está empaquetado con Windows Server 2016 y versiones posteriores. En Windows 7, 8 y 10 (no Pro y Non-Ent), Docker se puede instalar usando VirtualBox y Docker Toolbox. Docker ahora solo está disponible con Windows Hyper-V y no con VirtualBox. En las ediciones Windows 10 Pro, Ent y Edu, Docker se puede instalar directamente y ejecutar con Windows Hyper-V . Además, hay una herramienta llamada Kitematic que proporciona una GUI increíble para buscar, instalar y administrar contenedores Docker . Estas publicaciones deberían ser lo suficientemente buenas para ayudarlo a comenzar con Docker en Windows. Si necesita más información, puede consultar cómo comenzar con Docker en Windows Docker Wiki.

Una configuración similar también se puede hacer en Mac OS. Consulte Docker Wiki para comenzar a usar Docker en Mac OS .

Instalar Ubuntu Server

Tener un sistema Ubuntu o Debian listo es un requisito básico de esta guía. Explicar cómo instalar y configurar Ubuntu Server está fuera del alcance de esta publicación. Hemos cubierto esto extensamente en nuestra publicación sobre cómo instalar Ubuntu Server y la guía de particionamiento de disco de Ubuntu Server . Headover a la página de descarga de Ubuntu y descargue el archivo ISO. Para esta guía, estoy usando Ubuntu Server pero podría instalar cualquier versión de Ubuntu. Recomiendo instalar Ubuntu usando una unidad USB y el archivo ISO descargado.

Guías recomendadas:

Siga el proceso de instalación en pantalla. La instalación del servidor Ubuntu ofrecerá instalar ciertos paquetes del servidor durante el proceso de instalación, como se muestra a continuación. Como mínimo, recomiendo el servidor OpenSSH y el servidor de archivos SAMBA. Dado que esta es una guía para construir un servidor doméstico que siempre estará encendido, se supone que está ubicado en algún lugar de su casa y se conecta remotamente a través de SSH.

Instalación de Ubuntu Server Edition - Tasksel

Instalación de Ubuntu Server Edition – Tasksel

Si está convirtiendo un sistema de edición de Ubuntu que no sea servidor a un servidor doméstico 24/7, o está reutilizando una PC vieja como servidor , deberá instalar manualmente el servidor OpenSSH y el servidor SAMBA. [ Leer: Cómo simplificar el acceso SSH utilizando el archivo de configuración SSH en el servidor remoto ]

Instalar Docker en Ubuntu

Ahora estamos listos para comenzar a construir nuestro último servidor de medios para el hogar Docker . Ya te hemos mostrado cómo instalar Docker en Ubuntu . Además, este tema se trata en detalle aquí y aquí . Hay varias formas de instalar Docker. Hay scripts de bash automatizados que también pueden facilitar la instalación . Pero la breve guía a continuación debería ser suficiente.

Para simplificar, instalaremos Docker y Docker Compose desde el repositorio. Ubuntu tiene Docker en el repositorio oficial. Sin embargo, esto puede ser varias versiones antiguas. Entonces los vamos a instalar desde los repositorios de Docker. Primero, prepárese para agregar el repositorio Docker usando el siguiente comando:

sudo apt-get install apt-transport-https ca-certificados curl software-properties-common

Luego, agregue la clave GPG del repositorio Docker para la verificación del repositorio:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

A continuación, agregue el repositorio de Docker:

Repositorio Docker para Ubuntu 16.04:

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) estable"

Repositorio Docker para Ubuntu 18.04: el
repositorio estable para Bionic Beaver aún no está disponible. En este punto, tendrás que usar las compilaciones nocturnas . Si bien los nightlies pueden ser inestables, mi servidor doméstico actual funciona sin problemas. Cuando estable construye estén disponibles aquí , se puede reemplazar nightlycon stableel siguiente comando.Las construcciones estables ahora están disponibles. Así que leí el comando a continuación para agregar el repositorio estable en lugar de todas las noches mencionadas anteriormente.

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) estable"

Luego, actualice la lista de paquetes de Ubuntu:

sudo apt-get update

Si no encontró ningún error (no lo hará si sigue los pasos anteriores correctamente) durante los pasos anteriores, debería ser bueno instalar Docker y Docker Compose en Ubuntu usando el siguiente comando:

sudo apt-get install docker-ce

Puede verificar la versión instalada usando el comando docker –version . Finalmente, pruebe la configuración de su acoplador con el siguiente comando.

sudo docker ejecuta hello-world

Descargará un contenedor de prueba y lo ejecutará. Debería ver una salida similar a la siguiente:

Docker Hello World

Docker Hello World

Instalar Docker Compose en Ubuntu

Como dije anteriormente, en esta guía voy a usar Docker compose para simplificar la instalación de aplicaciones de servidores domésticos y reducir el trabajo de la línea de comandos. Docker compose está en los repositorios de Ubuntu pero es bastante antiguo, como es el caso la mayor parte del tiempo. Así que instalemos la última versión de Docker compose en Ubuntu.

Primero, descubra la última versión de Docker compose que ahora está disponible. La versión actual es 1.23.2como se puede ver en la captura de pantalla a continuación.

Última versión de Docker Compose

Última versión de Docker Compose

A continuación, instale la última versión de Docker compose utilizando el siguiente comando:

sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o / usr / local / bin / docker- componer

Reemplace 1.23.2con la versión disponible actualmente como se determinó anteriormente. Finalmente, otorgue permisos de ejecución a Docker Compose con el siguiente comando:

sudo chmod + x / usr / local / bin / docker-compose

Si se instala correctamente debería ver el número de versión que la salida de este comando: docker-compose --version.

Agregar usuario de Linux al grupo Docker

La ejecución y administración de contenedores docker requiere privilegios de sudo. Esto significa que tendrá que escribir sudopara cada comando o cambiar a la cuenta de usuario root. Pero puede solucionar esto agregando el usuario actual al dockergrupo utilizando el siguiente comando:

sudo usermod -aG docker $ {USER}

Si bien esto puede ser un riesgo de seguridad menor, las posibilidades son muy pocas y no se trata de una configuración de nivel empresarial sino de una configuración hogareña. Así que recomiendo hacer esto por conveniencia.

Inicio » Servidor doméstico » Ultimate Smart Home Media Server con Docker y Ubuntu 18.04 – Básico

Ultimate Smart Home Media Server con Docker y Ubuntu 18.04 – Básico

SERVIDORDOMÉSTICO HOGAR INTELIGENTE

Ubuntu Docker Home Media Server

escrito por Anandel 14 de marzo de 2018

Docker puede ayudarlo a construir un Home Media Server en solo minutos sin configuraciones complejas. En esta publicación, le mostraré cómo construir un servidor doméstico perfecto para una casa inteligente usando Docker y Ubuntu. Este servidor de medios Docker todo en uno automatizará la descarga de medios, la transmisión y satisfará sus necesidades de automatización del hogar. Docker puede hacer que su hogar inteligente sea más inteligente. [ Leer: Configuración de Mi casa inteligente: todos los gadgets y aplicaciones que uso en mi casa automatizada ]

Tenga en cuenta que esta es una publicación de nivel «básico» sobre cómo configurar un servidor doméstico perfecto con Docker. Mi publicación de nivel avanzado cubre la configuración del proxy inverso de Traefik con SSL para Docker . Con Traefik, incluso puede agregar Google OAuth para sus servicios de docker para el inicio de sesión único. Esta publicación está escrita con muchos detalles para ayudar a los novatos. Puede parecer largo, pero el proceso en sí debería tomar menos de una hora. [ Leer: ¿Qué es un hogar inteligente y qué puede hacer la automatización del hogar inteligente por usted? ]19 de noviembre de 2019: he actualizado mi configuración significativamente después de publicar esta publicación. Compruebe por favor mi Docker-Traefik GitHub Repo para obtener los últimos archivos de Docker Compose. En algún momento, actualizaré esta publicación para reflejar los cambios.

Registro de cambios:
  • 18 de mayo de 2018: instrucciones probadas y actualizadas para Ubuntu 18.04 Bionic Beaver. Se agregó la sección de solución de problemas. Se agregó phpMyAdmin.
  • 7 de mayo de 2018: se agregó MariaDB. Reemplazado PlexPy con Tautulli. Contenedores reorganizados en varias secciones. Reemplazado PlexPy con Tautulli.
  • 15 de marzo de 2018: Radarr y Sonarr se convirtieron en las aplicaciones recomendadas en lugar de CouchPotato y SickRage, respectivamente. Se agregó Bittorrent de transmisión con soporte VPN.
  • 14 de marzo de 2018 – Publicación inicial.

Tabla de contenido [ ocultar ]

¿QUÉ ES UN SERVIDOR DE MEDIOS DOMÉSTICO?

Un Home Media Server es un servidor ubicado en su red doméstica que actúa como un dispositivo central de almacenamiento y servicio de datos. Por lo general, un servidor doméstico siempre está encendido, tiene toneladas de capacidad de almacenamiento y está listo para servir archivos (incluidos los medios) cuando sea necesario. Hemos cubierto varios temas de servidores domésticos en gran detalle en el pasado. Si aún no tiene un servidor doméstico o está considerando construir uno, lea este resumen sobre los usos más comunes de NAS o servidor doméstico . Si te venden, entonces considera esta construcción de servidor doméstico de baja potencia para tu servidor de medios doméstico. Si tiene poco presupuesto, puede considerar nuestra construcción de servidor doméstico sin cabeza de presupuesto . Si tiene varias unidades de almacenamiento, esta guía asume que su RAID ya está configurado.

Recomendaciones de HTPC / Home Server Builds 2017:

Una vez que haya resuelto el hardware, la siguiente gran pregunta es el sistema operativo. En mi opinión, Linux es el mejor sistema operativo para construir su servidor de medios doméstico. Pero luego, hay varias distribuciones de servidores domésticos Linux disponibles, que ofrecen estabilidad y rendimiento. Entonces, ¿cuál usar? Siempre recomiendo Ubuntu Server, más específicamente los LTS (versiones de soporte a largo plazo), que son compatibles durante 5 años. Una vez que construye su servidor, puede dejarlo funcionar durante 5 años con todas las actualizaciones de seguridad del equipo de Ubuntu. He probado esta guía en Ubuntu Server 16.04 LTS y 18.04.La próxima versión a largo plazo 18.04 está a la vuelta de la esquina. Actualizaré esta guía poco después de que se lance.

Docker Home Media Server 2018

Las mejores aplicaciones de servidor doméstico para automatizar la gestión de medios

OBJETIVOS DE ESTE DOCKER HOME MEDIA SERVER

Una de las grandes tareas de un servidor de medios completamente automatizado es una agregación de medios. Por ejemplo, cuando un episodio de un programa de televisión esté disponible, descárguelo automáticamente, recoja su póster, fanart, subtítulo, etc., póngalos todos en la carpeta que elija (por ejemplo, dentro de la carpeta de programas de TV), actualice su biblioteca de medios por ejemplo, en Plex) y luego enviarle una notificación (por ejemplo, correo electrónico, notificación móvil, etc.) diciendo que su episodio está listo para ver. Suena genial verdad? Hay varias aplicaciones que pueden hacer tales tareas y las hemos compilado en nuestra lista de las mejores aplicaciones de servidor doméstico . Agregue a eso, un increíble software de código abierto como Home Assistantque puede convertir su servidor doméstico en un centro inteligente de automatización del hogar. Así que aquí hay una lista de funciones que quiero en mi nivel básico Docker Media Server perfecto para hacer:

  • Descarga y organización automatizadas de programas de TV
  • Descarga automatizada de películas y organización
  • Descarga de torrent a pedido o automatizada
  • Descarga NZB (Usenet) a pedido o automatizada
  • Sirva y transmita medios a dispositivos en el hogar y en el exterior a través de Internet
  • Interfaz de búsqueda de torrent y NZB bajo demanda
  • Ejecute el software de automatización del hogar
  • Actuar como un servidor en la nube personal con acceso seguro a archivos en cualquier lugar
  • Proporcionar una interfaz unificada para acceder a todas las aplicaciones.
  • Actualiza todas las aplicaciones automáticamente

Algunas aplicaciones son opcionales y encontrará detalles a continuación sobre cómo elegir y elegir lo que desea. Puede parecer una configuración compleja, pero confía en mí, Docker puede facilitar la instalación y el mantenimiento de estas aplicaciones de servidor doméstico. Hay muchas más cosas interesantes que puedes hacer con Docker, que se discutirán en futuras publicaciones. Así que ten cuidado con eso. [ Leer: Tutorial de Traefik: Proxy inverso de Traefik con LetsEncrypt para Docker Media Server ]

¿QUÉ ES DOCKER?

Antes de comenzar a construir un servidor de medios docker , solo tiene sentido tocar Docker. Ya hemos cubierto Qué es Docker y cómo se compara con una máquina virtual como VirtualBox . Por lo tanto, no entraremos en muchos detalles aquí.

Docker vs máquinas virtuales hechas por docker

Docker vs máquinas virtuales hechas por docker

Brevemente, Docker permite la virtualización a nivel del sistema operativo. Lo que esto significa es que las aplicaciones se pueden instalar dentro de «contenedores» virtuales, completados aislados del sistema operativo host. Dado que cada aplicación / contenedor es autónomo, se pueden crear y destruir a voluntad sin ningún impacto en el sistema operativo del host. Los contenedores comparten los recursos del sistema host y usan mucho menos en comparación con una máquina virtual. A diferencia de una máquina virtual, que necesita un SO huésped para cada una de las máquinas virtuales, un contenedor Docker no necesita un sistema operativo separado. Por lo tanto, los contenedores acoplables se pueden crear y destruir en segundos. Los contenedores también se inician en segundos, por lo que su aplicación está lista para funcionar rápidamente.

Docker funciona de forma nativa en Linux, pero también está disponible para Mac y Windows.

Guías recomendadas:

OK Genial, pero ¿por qué construir un Docker Media Server?

La forma tradicional de construir un Home Media Server implica configurar el sistema operativo, agregar repositorios, descargar las aplicaciones, instalar los requisitos previos / dependencias, instalar la aplicación y configurarla. Esto es engorroso en Linux y requiere un extenso trabajo de línea de comandos. Algunos usuarios de Linux juran por este método tradicional, pero la mayoría de los novatos se sienten intimidados por esto. Es por esta razón que creamos AtoMiC ToolKit , que automatiza la instalación y el mantenimiento de aplicaciones de servidores domésticos en Linux. Incluso con esto, uno puede tener problemas durante la instalación.

Busque aplicaciones en contenedores en Docker Store

Busque aplicaciones en contenedores en Docker Store

En Docker, las aplicaciones de servidor doméstico como SickRage, CouchPotato, Plex, etc. se pueden instalar con facilidad sin preocuparse por requisitos previos o incompatibilidades. Todos los requisitos ya están preempacados con cada contenedor. La comunidad Docker ya contiene las aplicaciones más conocidas en contenedores y están disponibles a través de Docker Store .

La mayoría de los contenedores de Docker de buena reputación en Docker Hub tienen una amplia documentación para ayudarlo a configurar e iniciar el contenedor. No se preocupe, es básicamente una sola línea de comando con pocos parámetros de configuración. Pero espera, esto se pone aún mejor. Con Docker Compose , puede editar el archivo de redacción para establecer algunos parámetros de configuración (por ejemplo, directorio de descarga, proporción inicial, etc.) y ejecutar el archivo y todas sus aplicaciones en contenedores se pueden configurar e iniciar con un solo comando. Esto es lo que hago y esto es lo que voy a explicar en esta publicación. Si sabes de lo que estoy hablando, aquí está mi archivo básico de compilación de acoplador . Puede usar mi archivo de composición Docker y comenzar en minutos. Si no, sigue leyendo y te guiaré a través de todo el proceso.

PREPARACIÓN

Si se vende, comience a prepararse para construir un servidor de inicio de Docker para un hogar más inteligente. Como se dijo antes, Docker se ejecuta de forma nativa en Linux. Mi elección del sistema operativo para un servidor doméstico es Ubuntu . Si bien esta guía es para usuarios de Ubuntu, debería funcionar en la mayoría de las distribuciones de Linux basadas en Debian.

Ya hemos cubierto la instalación de varias aplicaciones de servidor doméstico usando Docker en varias publicaciones individuales . Puedes seguir esos. Pero esta publicación es más que suficiente para comenzar y más.

¿Qué pasa con nosotros los usuarios de Windows y Mac?

Docker está empaquetado con Windows Server 2016 y versiones posteriores. En Windows 7, 8 y 10 (no Pro y Non-Ent), Docker se puede instalar usando VirtualBox y Docker Toolbox. Docker ahora solo está disponible con Windows Hyper-V y no con VirtualBox. En las ediciones Windows 10 Pro, Ent y Edu, Docker se puede instalar directamente y ejecutar con Windows Hyper-V . Además, hay una herramienta llamada Kitematic que proporciona una GUI increíble para buscar, instalar y administrar contenedores Docker . Estas publicaciones deberían ser lo suficientemente buenas para ayudarlo a comenzar con Docker en Windows. Si necesita más información, puede consultar cómo comenzar con Docker en Windows Docker Wiki.

Una configuración similar también se puede hacer en Mac OS. Consulte Docker Wiki para comenzar a usar Docker en Mac OS .

Instalar Ubuntu Server

Tener un sistema Ubuntu o Debian listo es un requisito básico de esta guía. Explicar cómo instalar y configurar Ubuntu Server está fuera del alcance de esta publicación. Hemos cubierto esto extensamente en nuestra publicación sobre cómo instalar Ubuntu Server y la guía de particionamiento de disco de Ubuntu Server . Headover a la página de descarga de Ubuntu y descargue el archivo ISO. Para esta guía, estoy usando Ubuntu Server pero podría instalar cualquier versión de Ubuntu. Recomiendo instalar Ubuntu usando una unidad USB y el archivo ISO descargado.

Guías recomendadas:

Siga el proceso de instalación en pantalla. La instalación del servidor Ubuntu ofrecerá instalar ciertos paquetes del servidor durante el proceso de instalación, como se muestra a continuación. Como mínimo, recomiendo el servidor OpenSSH y el servidor de archivos SAMBA. Dado que esta es una guía para construir un servidor doméstico que siempre estará encendido, se supone que está ubicado en algún lugar de su casa y se conecta remotamente a través de SSH.

Instalación de Ubuntu Server Edition - Tasksel

Instalación de Ubuntu Server Edition – Tasksel

Si está convirtiendo un sistema de edición de Ubuntu que no sea servidor a un servidor doméstico 24/7, o está reutilizando una PC vieja como servidor , deberá instalar manualmente el servidor OpenSSH y el servidor SAMBA. [ Leer: Cómo simplificar el acceso SSH utilizando el archivo de configuración SSH en el servidor remoto ]

Instalar Docker en Ubuntu

Ahora estamos listos para comenzar a construir nuestro último servidor de medios para el hogar Docker . Ya te hemos mostrado cómo instalar Docker en Ubuntu . Además, este tema se trata en detalle aquí y aquí . Hay varias formas de instalar Docker. Hay scripts de bash automatizados que también pueden facilitar la instalación . Pero la breve guía a continuación debería ser suficiente.

Para simplificar, instalaremos Docker y Docker Compose desde el repositorio. Ubuntu tiene Docker en el repositorio oficial. Sin embargo, esto puede ser varias versiones antiguas. Entonces los vamos a instalar desde los repositorios de Docker. Primero, prepárese para agregar el repositorio Docker usando el siguiente comando:

sudo apt-get install apt-transport-https ca-certificados curl software-properties-common

Luego, agregue la clave GPG del repositorio Docker para la verificación del repositorio:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

A continuación, agregue el repositorio de Docker:

Repositorio Docker para Ubuntu 16.04:

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) estable"

Repositorio Docker para Ubuntu 18.04: el
repositorio estable para Bionic Beaver aún no está disponible. En este punto, tendrás que usar las compilaciones nocturnas . Si bien los nightlies pueden ser inestables, mi servidor doméstico actual funciona sin problemas. Cuando estable construye estén disponibles aquí , se puede reemplazar nightlycon stableel siguiente comando.Las construcciones estables ahora están disponibles. Así que leí el comando a continuación para agregar el repositorio estable en lugar de todas las noches mencionadas anteriormente.

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) estable"

Luego, actualice la lista de paquetes de Ubuntu:

sudo apt-get update

Si no encontró ningún error (no lo hará si sigue los pasos anteriores correctamente) durante los pasos anteriores, debería ser bueno instalar Docker y Docker Compose en Ubuntu usando el siguiente comando:

sudo apt-get install docker-ce

Puede verificar la versión instalada usando el comando docker –version . Finalmente, pruebe la configuración de su acoplador con el siguiente comando.

sudo docker ejecuta hello-world

Descargará un contenedor de prueba y lo ejecutará. Debería ver una salida similar a la siguiente:

Docker Hello World

Docker Hello World

Instalar Docker Compose en Ubuntu

Como dije anteriormente, en esta guía voy a usar Docker compose para simplificar la instalación de aplicaciones de servidores domésticos y reducir el trabajo de la línea de comandos. Docker compose está en los repositorios de Ubuntu pero es bastante antiguo, como es el caso la mayor parte del tiempo. Así que instalemos la última versión de Docker compose en Ubuntu.

Primero, descubra la última versión de Docker compose que ahora está disponible. La versión actual es 1.23.2como se puede ver en la captura de pantalla a continuación.

Última versión de Docker Compose

Última versión de Docker Compose

A continuación, instale la última versión de Docker compose utilizando el siguiente comando:

sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o / usr / local / bin / docker- componer

Reemplace 1.23.2con la versión disponible actualmente como se determinó anteriormente. Finalmente, otorgue permisos de ejecución a Docker Compose con el siguiente comando:

sudo chmod + x / usr / local / bin / docker-compose

Si se instala correctamente debería ver el número de versión que la salida de este comando: docker-compose --version.

Agregar usuario de Linux al grupo Docker

La ejecución y administración de contenedores docker requiere privilegios de sudo. Esto significa que tendrá que escribir sudopara cada comando o cambiar a la cuenta de usuario root. Pero puede solucionar esto agregando el usuario actual al dockergrupo utilizando el siguiente comando:

sudo usermod -aG docker $ {USER}

Si bien esto puede ser un riesgo de seguridad menor, las posibilidades son muy pocas y no se trata de una configuración de nivel empresarial sino de una configuración hogareña. Así que recomiendo hacer esto por conveniencia.

Configurar variables ambientales para Docker

A continuación, estableceremos algunas variables ambientales como la zona horaria, la identificación de usuario, el grupo de usuarios, etc., que los contenedores acoplables deberían usar. Cree / edite el archivo de variables ambientales con el siguiente comando:

sudo nano / etc / environment

Agregue lo siguiente como líneas separadas al final del archivo:

PUID = 1000
PGID = 140
TZ = "América / Nueva_York"
USERDIR = "/ home / USER"
MYSQL_ROOT_PASSWORD = "contraseña"

Reemplazar / configurar:

  1. PUIDPGID– la ID de usuario del usuario de Linux, a quien queremos ejecutar las aplicaciones del servidor doméstico y la ID de grupo de Docker. Ambos se pueden obtener utilizando el idcomando como se muestra a continuación.ID de usuario e ID de grupoEn esta guía, vamos a usar 1000 para PUID, que es la identificación de usuario del usuario y 140, que es la identificación de grupo del grupo acoplable.
  2. TZ– la zona horaria que desea establecer para sus contenedores. Obtenga su TZ de esta base de datos de zonas horarias .
  3. USERDIR– la ruta a la ruta a la carpeta de inicio del usuario actual. También puede obtener esto usando el siguiente comando:cd ~; pwd
  4. MYSQL_ROOT_PASSWOR – Contraseña de administrador MySQL para MariaDB y phpMyAdmin.

Estas variables de entorno se referenciarán utilizando {} en todo el archivo de redacción de Docker. No necesita reemplazarlos. Sus valores se extraerán automáticamente del archivo de entorno que creamos / editamos anteriormente.Deberá cerrar sesión y volver a iniciarla para que las variables ambientales surtan efecto.

Eso es todo, el trabajo de preparación básica para construir nuestro servidor de inicio Docker está hecho.

DOCKER BÁSICO Y DOCKER COMPOSE PRIMER

Ahora comencemos con una introducción básica a Docker y Docker Compose. Esto es muy importante para que sepa lo que estamos haciendo, cuándo / cómo parar y probar, y cuándo / cómo comenzar de nuevo. Luego vamos a configurar nuestro docker-compose.ymlarchivo. Una vez que nuestro archivo de compilación esté completamente construido, lo ejecutaremos y verá cómo en minutos se construirá su servidor de medios doméstico basado en Docker. Puede usar cualquier editor de texto para crear su archivo de redacción. Asegúrese de seguir la ymlsintaxis a fondo, ya que incluso las diferencias en el espacio entre caracteres pueden generar errores. Si copia y pega de esta guía, debería estar bien. Voy a usar el nanoeditor.

Carpeta Docker y permisos

Para simplificar, creé una carpeta llamada dockeren mi carpeta de inicio. Todas mis cosas de Docker, aplicaciones, datos de aplicaciones se almacenarán en este contenedor:

mkdir ~ / docker

A continuación, configuremos los permisos apropiados para la carpeta acoplable para evitar cualquier problema de error de permiso. Use los siguientes comandos en secuencia:

sudo setfacl -Rdm g: docker: rwx ~ / docker
sudo chmod -R 775 ~ / docker

El comando anterior obliga a cualquier subcarpeta nueva dentro de la carpeta acoplable a heredar permisos de la carpeta acoplable. Algunos pueden estar en desacuerdo con los permisos liberales anteriores, pero nuevamente esto es para uso doméstico y es lo suficientemente restrictivo.

Inicio de Docker Compose File

Finalmente, comencemos a crear nuestro docker-compose.ymlarchivo:

nano ~ / docker / docker-compose.yml

Agregue las siguientes dos líneas:

versión: "3.6"
servicios:

En cualquier momento, puede guardar y salir presionando Ctrl + X-> y-> Entery volver a abrir para editar con el comando nano anterior.

Inicio de contenedores con Docker Compose

Esta sección es una introducción a algunos de los comandos que usará más adelante en esta guía. Ejecutarlos en este punto de la guía arrojará errores. Después de agregar opciones de redacción para cada contenedor (tenga en cuenta que todavía no las hemos agregado), le recomiendo guardar, salir y ejecutar el archivo de redacción con el siguiente comando para verificar si la aplicación del contenedor se inicia correctamente.

docker-compose -f ~ / docker / docker-compose.yml up -d

La -dopción lo demoniza en segundo plano. Sin él, verá registros en tiempo real, que es otra forma de asegurarse de que no se arrojen errores. Presione Ctrl + Cpara salir de los registros en tiempo real.

NOTA: en este momento, no tiene ningún servicio.

Ver contenedores Docker

En cualquier momento, puede verificar todos los contenedores acoplables que tiene en su sistema (tanto en ejecución como detenidos) con el siguiente comando:

docker ps -a

Como ejemplo, aquí hay una lista de mis contenedores por ahora. La columna «ESTADO» muestra si un contenedor está en ejecución (durante cuánto tiempo) o si ha salido. La última columna muestra el nombre descriptivo del contenedor.

Lista de contenedores de Docker

Lista de contenedores de Docker

Verifique los registros del contenedor Docker

Si desea verificar los registros en tiempo real mientras se inicia el contenedor, puede usar el siguiente comando:

registros compuestos por docker 

Además, también puede especificar el nombre del contenedor específico al final del comando anterior si desea ver los registros de un contenedor específico. Aquí hay una captura de pantalla de los registros de Docker para mi transmission-vpncontenedor que se generó con el siguiente comando:

docker-compose logs transmission-vpn
Docker Componga registros para contenedores

Docker compone registros en tiempo real para contenedores

En cualquier momento, puede salir de la pantalla de registros en tiempo real presionando Ctrl + C.

Detención / reinicio de contenedores con Docker Compose

Para detener cualquier contenedor de Docker en ejecución, use el siguiente comando:

docker-compose stop CONTENEDOR-NOMBRE

Reemplazar CONTAINER-NAMEcon el nombre descriptivo del contenedor. También puede reemplazar stopcon restart. Para detener y eliminar completamente los contenedores, las imágenes, los volúmenes y las redes (vuelva a cómo estaba antes de ejecutar el archivo de composición de Docker), use el siguiente comando:

docker-compose -f ~ / docker / docker-compose.yml abajo

Limpieza de Docker

Recuerde, uno de los mayores beneficios de Docker es que es extremadamente difícil estropear su sistema operativo host. Para que pueda crear y destruir contenedores a voluntad. Pero con el tiempo, los restos de imágenes, contenedores y volúmenes de Docker pueden ocupar varios GB de espacio. Por lo tanto, en cualquier momento puede ejecutar los siguientes scripts de limpieza y volver a ejecutar su docker-compose como se describe anteriormente.

poda del sistema acoplable
ciruela pasa imagen
ciruela pasa volumen

Estos comandos eliminarán los contenedores, volúmenes e imágenes perdidos que no se estén ejecutando o que no estén asociados con ningún contenedor. Recuerde, incluso si elimina algo que era necesario, siempre puede volver a crearlos simplemente ejecutando el archivo de composición docker.

CONSTRUIR DOCKER HOME MEDIA SERVER 2018

Ahora que se ha realizado toda la configuración básica, podemos comenzar con la parte fácil: configurar aplicaciones a través de contenedores. He dividido esta sección en pocas categorías diferentes. Las aplicaciones que elija para cada categoría son una cuestión de preferencia personal. He mostrado las instrucciones de configuración para las aplicaciones que recomiendo. Siempre que sea posible, también he proporcionado algunas alternativas populares.

Es muy importante que preste atención a los espacios en blanco en los fragmentos de código a continuación . Tendrá que definir un número de puerto para muchas de las aplicaciones web a continuación. Si ya se utiliza un puerto, recibirá un error cuando ejecute el docker-compose.ymlarchivo. También puede ver manualmente todos los puertos que actualmente están escuchando / tomados utilizando el siguiente comando:

sudo netstat -tulpn | grep ESCUCHE

Antes de comenzar a agregar contenedores, le recomiendo hacer una lista de 10-12 puertos libres que pueda recordar fácilmente. Por ejemplo, 9100 a 9112, si encuentra que son gratis.

Tenga en cuenta que ${$USERDIR}${PUID}${PGID}${TZ}, $ {} MYSQL_ROOT_PASSWORD, etc., en la ventana acoplable Traefik componer ejemplo bloques de código serán llenados automáticamente por el archivo de composición del archivo de entorno que hemos creado / editado previamente. Si no configuró variables ambientales, puede reemplazarlas con valores reales en los bloques de código a continuación.

En los fragmentos de redacción de Docker a continuación, notará que ${USERDIR}/docker/sharedestá configurado como un volumen en casi todos los contenedores. La idea es usar esta una carpeta compartida entre todos los contenedores para cosas como certificados SSL, etc. si los tiene. Si no los tiene, no hay nada malo en dejar la línea como está. En la guía avanzada, veremos cómo agregar sus certificados SSL para una conexión segura y confiable a sus aplicaciones.

Inicio » Servidor doméstico » Ultimate Smart Home Media Server con Docker y Ubuntu 18.04 – Básico

Ultimate Smart Home Media Server con Docker y Ubuntu 18.04 – Básico

SERVIDORDOMÉSTICO HOGAR INTELIGENTE

Ubuntu Docker Home Media Server

escrito por Anandel 14 de marzo de 2018

Docker puede ayudarlo a construir un Home Media Server en solo minutos sin configuraciones complejas. En esta publicación, le mostraré cómo construir un servidor doméstico perfecto para una casa inteligente usando Docker y Ubuntu. Este servidor de medios Docker todo en uno automatizará la descarga de medios, la transmisión y satisfará sus necesidades de automatización del hogar. Docker puede hacer que su hogar inteligente sea más inteligente. [ Leer: Configuración de Mi casa inteligente: todos los gadgets y aplicaciones que uso en mi casa automatizada ]

Tenga en cuenta que esta es una publicación de nivel «básico» sobre cómo configurar un servidor doméstico perfecto con Docker. Mi publicación de nivel avanzado cubre la configuración del proxy inverso de Traefik con SSL para Docker . Con Traefik, incluso puede agregar Google OAuth para sus servicios de docker para el inicio de sesión único. Esta publicación está escrita con muchos detalles para ayudar a los novatos. Puede parecer largo, pero el proceso en sí debería tomar menos de una hora. [ Leer: ¿Qué es un hogar inteligente y qué puede hacer la automatización del hogar inteligente por usted? ]19 de noviembre de 2019: he actualizado mi configuración significativamente después de publicar esta publicación. Compruebe por favor mi Docker-Traefik GitHub Repo para obtener los últimos archivos de Docker Compose. En algún momento, actualizaré esta publicación para reflejar los cambios.

Registro de cambios:
  • 18 de mayo de 2018: instrucciones probadas y actualizadas para Ubuntu 18.04 Bionic Beaver. Se agregó la sección de solución de problemas. Se agregó phpMyAdmin.
  • 7 de mayo de 2018: se agregó MariaDB. Reemplazado PlexPy con Tautulli. Contenedores reorganizados en varias secciones. Reemplazado PlexPy con Tautulli.
  • 15 de marzo de 2018: Radarr y Sonarr se convirtieron en las aplicaciones recomendadas en lugar de CouchPotato y SickRage, respectivamente. Se agregó Bittorrent de transmisión con soporte VPN.
  • 14 de marzo de 2018 – Publicación inicial.

Tabla de contenido [ ocultar ]

¿QUÉ ES UN SERVIDOR DE MEDIOS DOMÉSTICO?

Un Home Media Server es un servidor ubicado en su red doméstica que actúa como un dispositivo central de almacenamiento y servicio de datos. Por lo general, un servidor doméstico siempre está encendido, tiene toneladas de capacidad de almacenamiento y está listo para servir archivos (incluidos los medios) cuando sea necesario. Hemos cubierto varios temas de servidores domésticos en gran detalle en el pasado. Si aún no tiene un servidor doméstico o está considerando construir uno, lea este resumen sobre los usos más comunes de NAS o servidor doméstico . Si te venden, entonces considera esta construcción de servidor doméstico de baja potencia para tu servidor de medios doméstico. Si tiene poco presupuesto, puede considerar nuestra construcción de servidor doméstico sin cabeza de presupuesto . Si tiene varias unidades de almacenamiento, esta guía asume que su RAID ya está configurado.

Recomendaciones de HTPC / Home Server Builds 2017:

Una vez que haya resuelto el hardware, la siguiente gran pregunta es el sistema operativo. En mi opinión, Linux es el mejor sistema operativo para construir su servidor de medios doméstico. Pero luego, hay varias distribuciones de servidores domésticos Linux disponibles, que ofrecen estabilidad y rendimiento. Entonces, ¿cuál usar? Siempre recomiendo Ubuntu Server, más específicamente los LTS (versiones de soporte a largo plazo), que son compatibles durante 5 años. Una vez que construye su servidor, puede dejarlo funcionar durante 5 años con todas las actualizaciones de seguridad del equipo de Ubuntu. He probado esta guía en Ubuntu Server 16.04 LTS y 18.04.La próxima versión a largo plazo 18.04 está a la vuelta de la esquina. Actualizaré esta guía poco después de que se lance.

Docker Home Media Server 2018

Las mejores aplicaciones de servidor doméstico para automatizar la gestión de medios

OBJETIVOS DE ESTE DOCKER HOME MEDIA SERVER

Una de las grandes tareas de un servidor de medios completamente automatizado es una agregación de medios. Por ejemplo, cuando un episodio de un programa de televisión esté disponible, descárguelo automáticamente, recoja su póster, fanart, subtítulo, etc., póngalos todos en la carpeta que elija (por ejemplo, dentro de la carpeta de programas de TV), actualice su biblioteca de medios por ejemplo, en Plex) y luego enviarle una notificación (por ejemplo, correo electrónico, notificación móvil, etc.) diciendo que su episodio está listo para ver. Suena genial verdad? Hay varias aplicaciones que pueden hacer tales tareas y las hemos compilado en nuestra lista de las mejores aplicaciones de servidor doméstico . Agregue a eso, un increíble software de código abierto como Home Assistantque puede convertir su servidor doméstico en un centro inteligente de automatización del hogar. Así que aquí hay una lista de funciones que quiero en mi nivel básico Docker Media Server perfecto para hacer:

  • Descarga y organización automatizadas de programas de TV
  • Descarga automatizada de películas y organización
  • Descarga de torrent a pedido o automatizada
  • Descarga NZB (Usenet) a pedido o automatizada
  • Sirva y transmita medios a dispositivos en el hogar y en el exterior a través de Internet
  • Interfaz de búsqueda de torrent y NZB bajo demanda
  • Ejecute el software de automatización del hogar
  • Actuar como un servidor en la nube personal con acceso seguro a archivos en cualquier lugar
  • Proporcionar una interfaz unificada para acceder a todas las aplicaciones.
  • Actualiza todas las aplicaciones automáticamente

Algunas aplicaciones son opcionales y encontrará detalles a continuación sobre cómo elegir y elegir lo que desea. Puede parecer una configuración compleja, pero confía en mí, Docker puede facilitar la instalación y el mantenimiento de estas aplicaciones de servidor doméstico. Hay muchas más cosas interesantes que puedes hacer con Docker, que se discutirán en futuras publicaciones. Así que ten cuidado con eso. [ Leer: Tutorial de Traefik: Proxy inverso de Traefik con LetsEncrypt para Docker Media Server ]

¿QUÉ ES DOCKER?

Antes de comenzar a construir un servidor de medios docker , solo tiene sentido tocar Docker. Ya hemos cubierto Qué es Docker y cómo se compara con una máquina virtual como VirtualBox . Por lo tanto, no entraremos en muchos detalles aquí.

Docker vs máquinas virtuales hechas por docker

Docker vs máquinas virtuales hechas por docker

Brevemente, Docker permite la virtualización a nivel del sistema operativo. Lo que esto significa es que las aplicaciones se pueden instalar dentro de «contenedores» virtuales, completados aislados del sistema operativo host. Dado que cada aplicación / contenedor es autónomo, se pueden crear y destruir a voluntad sin ningún impacto en el sistema operativo del host. Los contenedores comparten los recursos del sistema host y usan mucho menos en comparación con una máquina virtual. A diferencia de una máquina virtual, que necesita un SO huésped para cada una de las máquinas virtuales, un contenedor Docker no necesita un sistema operativo separado. Por lo tanto, los contenedores acoplables se pueden crear y destruir en segundos. Los contenedores también se inician en segundos, por lo que su aplicación está lista para funcionar rápidamente.

Docker funciona de forma nativa en Linux, pero también está disponible para Mac y Windows.

Guías recomendadas:

OK Genial, pero ¿por qué construir un Docker Media Server?

La forma tradicional de construir un Home Media Server implica configurar el sistema operativo, agregar repositorios, descargar las aplicaciones, instalar los requisitos previos / dependencias, instalar la aplicación y configurarla. Esto es engorroso en Linux y requiere un extenso trabajo de línea de comandos. Algunos usuarios de Linux juran por este método tradicional, pero la mayoría de los novatos se sienten intimidados por esto. Es por esta razón que creamos AtoMiC ToolKit , que automatiza la instalación y el mantenimiento de aplicaciones de servidores domésticos en Linux. Incluso con esto, uno puede tener problemas durante la instalación.

Busque aplicaciones en contenedores en Docker Store

Busque aplicaciones en contenedores en Docker Store

En Docker, las aplicaciones de servidor doméstico como SickRage, CouchPotato, Plex, etc. se pueden instalar con facilidad sin preocuparse por requisitos previos o incompatibilidades. Todos los requisitos ya están preempacados con cada contenedor. La comunidad Docker ya contiene las aplicaciones más conocidas en contenedores y están disponibles a través de Docker Store .

La mayoría de los contenedores de Docker de buena reputación en Docker Hub tienen una amplia documentación para ayudarlo a configurar e iniciar el contenedor. No se preocupe, es básicamente una sola línea de comando con pocos parámetros de configuración. Pero espera, esto se pone aún mejor. Con Docker Compose , puede editar el archivo de redacción para establecer algunos parámetros de configuración (por ejemplo, directorio de descarga, proporción inicial, etc.) y ejecutar el archivo y todas sus aplicaciones en contenedores se pueden configurar e iniciar con un solo comando. Esto es lo que hago y esto es lo que voy a explicar en esta publicación. Si sabes de lo que estoy hablando, aquí está mi archivo básico de compilación de acoplador . Puede usar mi archivo de composición Docker y comenzar en minutos. Si no, sigue leyendo y te guiaré a través de todo el proceso.

PREPARACIÓN

Si se vende, comience a prepararse para construir un servidor de inicio de Docker para un hogar más inteligente. Como se dijo antes, Docker se ejecuta de forma nativa en Linux. Mi elección del sistema operativo para un servidor doméstico es Ubuntu . Si bien esta guía es para usuarios de Ubuntu, debería funcionar en la mayoría de las distribuciones de Linux basadas en Debian.

Ya hemos cubierto la instalación de varias aplicaciones de servidor doméstico usando Docker en varias publicaciones individuales . Puedes seguir esos. Pero esta publicación es más que suficiente para comenzar y más.

¿Qué pasa con nosotros los usuarios de Windows y Mac?

Docker está empaquetado con Windows Server 2016 y versiones posteriores. En Windows 7, 8 y 10 (no Pro y Non-Ent), Docker se puede instalar usando VirtualBox y Docker Toolbox. Docker ahora solo está disponible con Windows Hyper-V y no con VirtualBox. En las ediciones Windows 10 Pro, Ent y Edu, Docker se puede instalar directamente y ejecutar con Windows Hyper-V . Además, hay una herramienta llamada Kitematic que proporciona una GUI increíble para buscar, instalar y administrar contenedores Docker . Estas publicaciones deberían ser lo suficientemente buenas para ayudarlo a comenzar con Docker en Windows. Si necesita más información, puede consultar cómo comenzar con Docker en Windows Docker Wiki.

Una configuración similar también se puede hacer en Mac OS. Consulte Docker Wiki para comenzar a usar Docker en Mac OS .

Instalar Ubuntu Server

Tener un sistema Ubuntu o Debian listo es un requisito básico de esta guía. Explicar cómo instalar y configurar Ubuntu Server está fuera del alcance de esta publicación. Hemos cubierto esto extensamente en nuestra publicación sobre cómo instalar Ubuntu Server y la guía de particionamiento de disco de Ubuntu Server . Headover a la página de descarga de Ubuntu y descargue el archivo ISO. Para esta guía, estoy usando Ubuntu Server pero podría instalar cualquier versión de Ubuntu. Recomiendo instalar Ubuntu usando una unidad USB y el archivo ISO descargado.

Guías recomendadas:

Siga el proceso de instalación en pantalla. La instalación del servidor Ubuntu ofrecerá instalar ciertos paquetes del servidor durante el proceso de instalación, como se muestra a continuación. Como mínimo, recomiendo el servidor OpenSSH y el servidor de archivos SAMBA. Dado que esta es una guía para construir un servidor doméstico que siempre estará encendido, se supone que está ubicado en algún lugar de su casa y se conecta remotamente a través de SSH.

Instalación de Ubuntu Server Edition - Tasksel

Instalación de Ubuntu Server Edition – Tasksel

Si está convirtiendo un sistema de edición de Ubuntu que no sea servidor a un servidor doméstico 24/7, o está reutilizando una PC vieja como servidor , deberá instalar manualmente el servidor OpenSSH y el servidor SAMBA. [ Leer: Cómo simplificar el acceso SSH utilizando el archivo de configuración SSH en el servidor remoto ]

Instalar Docker en Ubuntu

Ahora estamos listos para comenzar a construir nuestro último servidor de medios para el hogar Docker . Ya te hemos mostrado cómo instalar Docker en Ubuntu . Además, este tema se trata en detalle aquí y aquí . Hay varias formas de instalar Docker. Hay scripts de bash automatizados que también pueden facilitar la instalación . Pero la breve guía a continuación debería ser suficiente.

Para simplificar, instalaremos Docker y Docker Compose desde el repositorio. Ubuntu tiene Docker en el repositorio oficial. Sin embargo, esto puede ser varias versiones antiguas. Entonces los vamos a instalar desde los repositorios de Docker. Primero, prepárese para agregar el repositorio Docker usando el siguiente comando:

sudo apt-get install apt-transport-https ca-certificados curl software-properties-common

Luego, agregue la clave GPG del repositorio Docker para la verificación del repositorio:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

A continuación, agregue el repositorio de Docker:

Repositorio Docker para Ubuntu 16.04:

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) estable"

Repositorio Docker para Ubuntu 18.04: el
repositorio estable para Bionic Beaver aún no está disponible. En este punto, tendrás que usar las compilaciones nocturnas . Si bien los nightlies pueden ser inestables, mi servidor doméstico actual funciona sin problemas. Cuando estable construye estén disponibles aquí , se puede reemplazar nightlycon stableel siguiente comando.Las construcciones estables ahora están disponibles. Así que leí el comando a continuación para agregar el repositorio estable en lugar de todas las noches mencionadas anteriormente.

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) estable"

Luego, actualice la lista de paquetes de Ubuntu:

sudo apt-get update

Si no encontró ningún error (no lo hará si sigue los pasos anteriores correctamente) durante los pasos anteriores, debería ser bueno instalar Docker y Docker Compose en Ubuntu usando el siguiente comando:

sudo apt-get install docker-ce

Puede verificar la versión instalada usando el comando docker –version . Finalmente, pruebe la configuración de su acoplador con el siguiente comando.

sudo docker ejecuta hello-world

Descargará un contenedor de prueba y lo ejecutará. Debería ver una salida similar a la siguiente:

Docker Hello World

Docker Hello World

Instalar Docker Compose en Ubuntu

Como dije anteriormente, en esta guía voy a usar Docker compose para simplificar la instalación de aplicaciones de servidores domésticos y reducir el trabajo de la línea de comandos. Docker compose está en los repositorios de Ubuntu pero es bastante antiguo, como es el caso la mayor parte del tiempo. Así que instalemos la última versión de Docker compose en Ubuntu.

Primero, descubra la última versión de Docker compose que ahora está disponible. La versión actual es 1.23.2como se puede ver en la captura de pantalla a continuación.

Última versión de Docker Compose

Última versión de Docker Compose

A continuación, instale la última versión de Docker compose utilizando el siguiente comando:

sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o / usr / local / bin / docker- componer

Reemplace 1.23.2con la versión disponible actualmente como se determinó anteriormente. Finalmente, otorgue permisos de ejecución a Docker Compose con el siguiente comando:

sudo chmod + x / usr / local / bin / docker-compose

Si se instala correctamente debería ver el número de versión que la salida de este comando: docker-compose --version.

Agregar usuario de Linux al grupo Docker

La ejecución y administración de contenedores docker requiere privilegios de sudo. Esto significa que tendrá que escribir sudopara cada comando o cambiar a la cuenta de usuario root. Pero puede solucionar esto agregando el usuario actual al dockergrupo utilizando el siguiente comando:

sudo usermod -aG docker $ {USER}

Si bien esto puede ser un riesgo de seguridad menor, las posibilidades son muy pocas y no se trata de una configuración de nivel empresarial sino de una configuración hogareña. Así que recomiendo hacer esto por conveniencia.

Configurar variables ambientales para Docker

A continuación, estableceremos algunas variables ambientales como la zona horaria, la identificación de usuario, el grupo de usuarios, etc., que los contenedores acoplables deberían usar. Cree / edite el archivo de variables ambientales con el siguiente comando:

sudo nano / etc / environment

Agregue lo siguiente como líneas separadas al final del archivo:

PUID = 1000
PGID = 140
TZ = "América / Nueva_York"
USERDIR = "/ home / USER"
MYSQL_ROOT_PASSWORD = "contraseña"

Reemplazar / configurar:

  1. PUIDPGID– la ID de usuario del usuario de Linux, a quien queremos ejecutar las aplicaciones del servidor doméstico y la ID de grupo de Docker. Ambos se pueden obtener utilizando el idcomando como se muestra a continuación.ID de usuario e ID de grupoEn esta guía, vamos a usar 1000 para PUID, que es la identificación de usuario del usuario y 140, que es la identificación de grupo del grupo acoplable.
  2. TZ– la zona horaria que desea establecer para sus contenedores. Obtenga su TZ de esta base de datos de zonas horarias .
  3. USERDIR– la ruta a la ruta a la carpeta de inicio del usuario actual. También puede obtener esto usando el siguiente comando:cd ~; pwd
  4. MYSQL_ROOT_PASSWOR – Contraseña de administrador MySQL para MariaDB y phpMyAdmin.

Estas variables de entorno se referenciarán utilizando {} en todo el archivo de redacción de Docker. No necesita reemplazarlos. Sus valores se extraerán automáticamente del archivo de entorno que creamos / editamos anteriormente.Deberá cerrar sesión y volver a iniciarla para que las variables ambientales surtan efecto.

Eso es todo, el trabajo de preparación básica para construir nuestro servidor de inicio Docker está hecho.

DOCKER BÁSICO Y DOCKER COMPOSE PRIMER

Ahora comencemos con una introducción básica a Docker y Docker Compose. Esto es muy importante para que sepa lo que estamos haciendo, cuándo / cómo parar y probar, y cuándo / cómo comenzar de nuevo. Luego vamos a configurar nuestro docker-compose.ymlarchivo. Una vez que nuestro archivo de compilación esté completamente construido, lo ejecutaremos y verá cómo en minutos se construirá su servidor de medios doméstico basado en Docker. Puede usar cualquier editor de texto para crear su archivo de redacción. Asegúrese de seguir la ymlsintaxis a fondo, ya que incluso las diferencias en el espacio entre caracteres pueden generar errores. Si copia y pega de esta guía, debería estar bien. Voy a usar el nanoeditor.

Carpeta Docker y permisos

Para simplificar, creé una carpeta llamada dockeren mi carpeta de inicio. Todas mis cosas de Docker, aplicaciones, datos de aplicaciones se almacenarán en este contenedor:

mkdir ~ / docker

A continuación, configuremos los permisos apropiados para la carpeta acoplable para evitar cualquier problema de error de permiso. Use los siguientes comandos en secuencia:

sudo setfacl -Rdm g: docker: rwx ~ / docker
sudo chmod -R 775 ~ / docker

El comando anterior obliga a cualquier subcarpeta nueva dentro de la carpeta acoplable a heredar permisos de la carpeta acoplable. Algunos pueden estar en desacuerdo con los permisos liberales anteriores, pero nuevamente esto es para uso doméstico y es lo suficientemente restrictivo.

Inicio de Docker Compose File

Finalmente, comencemos a crear nuestro docker-compose.ymlarchivo:

nano ~ / docker / docker-compose.yml

Agregue las siguientes dos líneas:

versión: "3.6"
servicios:

En cualquier momento, puede guardar y salir presionando Ctrl + X-> y-> Entery volver a abrir para editar con el comando nano anterior.

Inicio de contenedores con Docker Compose

Esta sección es una introducción a algunos de los comandos que usará más adelante en esta guía. Ejecutarlos en este punto de la guía arrojará errores. Después de agregar opciones de redacción para cada contenedor (tenga en cuenta que todavía no las hemos agregado), le recomiendo guardar, salir y ejecutar el archivo de redacción con el siguiente comando para verificar si la aplicación del contenedor se inicia correctamente.

docker-compose -f ~ / docker / docker-compose.yml up -d

La -dopción lo demoniza en segundo plano. Sin él, verá registros en tiempo real, que es otra forma de asegurarse de que no se arrojen errores. Presione Ctrl + Cpara salir de los registros en tiempo real.

NOTA: en este momento, no tiene ningún servicio.

Ver contenedores Docker

En cualquier momento, puede verificar todos los contenedores acoplables que tiene en su sistema (tanto en ejecución como detenidos) con el siguiente comando:

docker ps -a

Como ejemplo, aquí hay una lista de mis contenedores por ahora. La columna «ESTADO» muestra si un contenedor está en ejecución (durante cuánto tiempo) o si ha salido. La última columna muestra el nombre descriptivo del contenedor.

Lista de contenedores de Docker

Lista de contenedores de Docker

Verifique los registros del contenedor Docker

Si desea verificar los registros en tiempo real mientras se inicia el contenedor, puede usar el siguiente comando:

registros compuestos por docker 

Además, también puede especificar el nombre del contenedor específico al final del comando anterior si desea ver los registros de un contenedor específico. Aquí hay una captura de pantalla de los registros de Docker para mi transmission-vpncontenedor que se generó con el siguiente comando:

docker-compose logs transmission-vpn
Docker Componga registros para contenedores

Docker compone registros en tiempo real para contenedores

En cualquier momento, puede salir de la pantalla de registros en tiempo real presionando Ctrl + C.

Detención / reinicio de contenedores con Docker Compose

Para detener cualquier contenedor de Docker en ejecución, use el siguiente comando:

docker-compose stop CONTENEDOR-NOMBRE

Reemplazar CONTAINER-NAMEcon el nombre descriptivo del contenedor. También puede reemplazar stopcon restart. Para detener y eliminar completamente los contenedores, las imágenes, los volúmenes y las redes (vuelva a cómo estaba antes de ejecutar el archivo de composición de Docker), use el siguiente comando:

docker-compose -f ~ / docker / docker-compose.yml abajo

Limpieza de Docker

Recuerde, uno de los mayores beneficios de Docker es que es extremadamente difícil estropear su sistema operativo host. Para que pueda crear y destruir contenedores a voluntad. Pero con el tiempo, los restos de imágenes, contenedores y volúmenes de Docker pueden ocupar varios GB de espacio. Por lo tanto, en cualquier momento puede ejecutar los siguientes scripts de limpieza y volver a ejecutar su docker-compose como se describe anteriormente.

poda del sistema acoplable
ciruela pasa imagen
ciruela pasa volumen

Estos comandos eliminarán los contenedores, volúmenes e imágenes perdidos que no se estén ejecutando o que no estén asociados con ningún contenedor. Recuerde, incluso si elimina algo que era necesario, siempre puede volver a crearlos simplemente ejecutando el archivo de composición docker.

CONSTRUIR DOCKER HOME MEDIA SERVER 2018

Ahora que se ha realizado toda la configuración básica, podemos comenzar con la parte fácil: configurar aplicaciones a través de contenedores. He dividido esta sección en pocas categorías diferentes. Las aplicaciones que elija para cada categoría son una cuestión de preferencia personal. He mostrado las instrucciones de configuración para las aplicaciones que recomiendo. Siempre que sea posible, también he proporcionado algunas alternativas populares.

Es muy importante que preste atención a los espacios en blanco en los fragmentos de código a continuación . Tendrá que definir un número de puerto para muchas de las aplicaciones web a continuación. Si ya se utiliza un puerto, recibirá un error cuando ejecute el docker-compose.ymlarchivo. También puede ver manualmente todos los puertos que actualmente están escuchando / tomados utilizando el siguiente comando:

sudo netstat -tulpn | grep ESCUCHE

Antes de comenzar a agregar contenedores, le recomiendo hacer una lista de 10-12 puertos libres que pueda recordar fácilmente. Por ejemplo, 9100 a 9112, si encuentra que son gratis.

Tenga en cuenta que ${$USERDIR}${PUID}${PGID}${TZ}, $ {} MYSQL_ROOT_PASSWORD, etc., en la ventana acoplable Traefik componer ejemplo bloques de código serán llenados automáticamente por el archivo de composición del archivo de entorno que hemos creado / editado previamente. Si no configuró variables ambientales, puede reemplazarlas con valores reales en los bloques de código a continuación.

En los fragmentos de redacción de Docker a continuación, notará que ${USERDIR}/docker/sharedestá configurado como un volumen en casi todos los contenedores. La idea es usar esta una carpeta compartida entre todos los contenedores para cosas como certificados SSL, etc. si los tiene. Si no los tiene, no hay nada malo en dejar la línea como está. En la guía avanzada, veremos cómo agregar sus certificados SSL para una conexión segura y confiable a sus aplicaciones.

Aplicaciones de Frontends

Portainer: interfaz de usuario web para contenedores

Portainer WebUI para Docker

Portainer – WebUI para administrar contenedores Docker

Hemos cubierto la instalación de Portainer anteriormente. Portainer proporciona una WebUI para administrar todos sus contenedores acoplables. Recomiendo esto para los novatos. Aquí está el código para agregar (copiar y pegar) en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  portainer:
    imagen: portainer / portainer
    nombre_contenedor: portainer
    reiniciar: siempre
    comando: -H unix: ///var/run/docker.sock
    puertos:
      - "XXXX: 9000"
    volúmenes:
      - /var/run/docker.sock:/var/run/docker.sock
      - $ {USERDIR} / docker / portainer / data: / data
      - $ {USERDIR} / docker / shared: / shared
    ambiente:
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. XXXX– número de puerto en el que desea que el portainer Webui esté disponible. Podría ser el mismo puerto que el contenedor: 9000 (debe ser libre).

Después de guardar el docker-compose.ymlarchivo, ejecute el siguiente comando para iniciar el contenedor y verificar si la aplicación es accesible:

docker-compose -f ~ / docker / docker-compose.yml up -d

Portainer WebUI debería estar disponible en http: // SERVER-IP: XXXX . Repita el comando anterior después de agregar cada contenedor al docker-compose.ymlarchivo y asegúrese de que la aplicación funcione.

Organizr – Interfaz web unificada HTPC / Home Server

Interfaz web Organizr

Organizr – Interfaz web unificada HTPC / Home Server

Un servidor de medios doméstico con varias aplicaciones puede ser genial, pero ahora tendrá que recordar todos los números de puerto diferentes para acceder a ellos. Ahí es donde entra Organizr. Organizr proporciona una interfaz unificada para acceder a todas las aplicaciones de su servidor doméstico para que no tenga que recordarlas individualmente. La interfaz con pestañas le permite trabajar en su servidor con facilidad. Incluso puede configurar usuarios y darles acceso a aplicaciones específicas. El calendario proporciona una visión general de los episodios de los programas de televisión que se lanzarán próximamente. En esencia, Organizr es similar a HTPC Manager o Muximux . Pero me gustan más las características de Organizr. Docker hace que sea más fácil de instalar. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  organizador:
    nombre_contenedor: organizador
    reiniciar: siempre
    imagen: lsiocommunity / organizador
    volúmenes:
      - $ {USERDIR} / docker / organizador: / config
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 80"
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. XXXX– número de puerto en el que desea que Organizr Webui esté disponible. Podría ser el mismo puerto que el contenedor: 80 (debe ser libre). El puerto 80 es el puerto predeterminado del servidor web. Por lo tanto, no necesita especificar :80al final de la Dirección IP o Nombre de dominio.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Organizr WebUI debería estar disponible en http: // SERVER-IP: XXXX (: XXXX no es necesario si se utiliza el puerto 80).

phpMyAdmin – WebUI para administrar MariaDB

phpMyAdmin es una herramienta gratuita de código abierto desarrollada en PHP y destinada a manejar la administración del sistema de administración de bases de datos MySQL (DBMS). Está diseñado para realizar una amplia gama de operaciones en MySQL a través de la web. Ofrece una interfaz web fácil de usar, soporte para la mayoría de las características de MySQL, administración de usuarios y privilegios de MySQL, administración de procedimientos almacenados y disparadores, importación y exportación de datos de varias fuentes, administración de múltiples servidores y mucho más. Tener esta herramienta puede facilitarle la creación y administración de bases de datos para aplicaciones como Home Assistant, NextCloud y Kodi.

  phpmyadmin:
    nombre de host: phpmyadmin
    nombre_contenedor: phpmyadmin
    imagen: phpmyadmin / phpmyadmin
    reiniciar: siempre
    Enlaces:
      - mariadb: db
    puertos:
      - XXXX: 80
    ambiente:
      - PMA_HOST = mariadb
      - MYSQL_ROOT_PASSWORD = $ {MYSQL_ROOT_PASSWORD}

Reemplazar / configurar:

  1. ${MYSQL_ROOT_PASSWORD} – Completado automáticamente desde el archivo de entorno que creamos anteriormente.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si el contenedor funciona.

Aplicaciones relacionadas con Docker

Watchtower – Actualización automática de contenedores / aplicaciones

Por lo tanto, hemos creado un servidor de medios de kickass docker, pero sería difícil si tenemos que mirar cada uno de los contenedores y actualizarlos manualmente. Aquí es donde Atalaya entra en acción. Torre de vigilancia supervisa sus contenedores de Docker. Si sus imágenes en Docker Store cambian, watchtower extraerá la nueva imagen, cerrará el contenedor en ejecución y se reiniciará con la nueva imagen y las opciones que configuró originalmente para el contenedor durante la implementación. Puede especificar la frecuencia de la verificación de actualización como intervalo de tiempo o como tiempo cron. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  torre de vigilancia:
    nombre_contenedor: torre de vigilancia
    reiniciar: siempre
    imagen: v2tec / watchtower
    volúmenes:
      - /var/run/docker.sock:/var/run/docker.sock
    comando: --schedule "0 0 4 * * *" --cleanup

Reemplazar / configurar:

  1. --schedule "0 0 4 * * *"– los contenedores son revisados ​​para actualizaciones a las 4 am todos los días. Puede usar el cronograma de 6 dígitos o puede especificar el intervalo de tiempo: --interval 30para verificar cada 30 segundos. El control diario es lo suficientemente bueno para uso doméstico en mi opinión. Si lo desea semanalmente, utilícelo 0 0 23 * * SUNpara cada actualización a las 11 pm los domingos.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si el contenedor funciona. No es necesario verificar ni ver nada con Watchtower. Simplemente se ejecuta en segundo plano y hace su trabajo.

Aplicaciones para el hogar inteligente

Asistente de inicio – Smart Home Hub

Home Server para Smart Home - Asistente de inicio

Asistente de inicio – Smart Home Hub

Home Assistant es, en mi opinión, el mejor software de código abierto Smart Home Hub que existe, punto. Con un USB Z-wave Stick compatible , puede convertir cualquier computadora en un Smart Home Hub. Con la integración de casi 1000 servicios y componentes para el hogar inteligente, su compatibilidad es inigualable. También tiene capacidades de automatización muy potentes. El único inconveniente es que tiene una curva de aprendizaje empinada. Hay otras opciones dockerizadas como OpenHAB y Domoticz , pero recomiendo Home Assistant. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  asistente de casa:
    nombre_contenedor: homeassistant
    reiniciar: siempre
    imagen: asistente de hogar / asistente de hogar
    dispositivos:
      - / dev / ttyUSB0: / dev / ttyUSB0
      - / dev / ttyUSB1: / dev / ttyUSB1
      - / dev / ttyACM0: / dev / ttyACM0
    volúmenes:
      - $ {USERDIR} / docker / homeassistant: / config
      - / etc / localtime: / etc / localtime: ro
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 8123"
    privilegiado: verdadero
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. XXXX– número de puerto en el que desea que el Home Assistant Webui esté disponible. Podría ser el mismo puerto que el contenedor: 9091 (debe ser libre).
  2. Lista de dispositivos: esta lista hará que los dispositivos USB estén disponibles para el asistente doméstico dentro del contenedor acoplable. Si tiene un dispositivo USB de onda Z, deberá averiguar la dirección de su dispositivo. Por lo general, debería serlo, /dev/ttyACM0pero puede encontrar la dirección correcta utilizando uno de los siguientes comandos:ls -ltr / dev / tty * | tail -n 1 ls / dev

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Home Assistant debería estar disponible en http: // SERVER-IP: XXXX . La primera vez que inicias Home Assistant, puede llevar entre varios minutos y una hora arrancar, ya que compila y crea varios archivos durante el proceso. Alternativamente, puede seguir los registros en tiempo real del homeassistantcontenedor para ver cuándo se completa el primer inicio. Los inicios posteriores deberían ser más rápidos.

Descargadores

Transmisión con VPN – Bittorrent Downloader

Transmisión - Bittorrent Downloader

Transmisión – Bittorrent Downloader

La transmisión es uno de los clientes de descarga de bittorrent más utilizados en Linux. Es liviano, multiplataforma y tiene todas las características de un cliente de torrent. Hemos cubierto la instalación de transmisión en ubuntu y también es parte de nuestro kit de herramientas AtoMiC . También hemos descrito cómo instalarlo usando Docker y Kitematic . Nuevamente, instalarlo con Docker es mucho más simple.

Como ya sabrás, la privacidad es muy importante al usar torrents. Su ISP y otros pueden detectar sus actividades. Por lo tanto, es muy importante protegerse con una VPN.

Oferta exclusiva de IPVanish VPN: solo $ 4.12 por mes :

Guías de VPN
Windows , Android , Ubuntu
Kodi OpenVPN
OSMC en RPi

♦ Ocultesu navegación (sin registros), anonimice la transmisión y descargas
♦ Restrinja las restricciones geográficas / nacionales y acceda a contenido mundial
♦ Funciona en Windows, Mac, Linux, Android, iOS, enrutador y más
♦ Garantía de devolución de dinero: regístrese ahora

Para este servidor doméstico, vamos a utilizar esta increíble construcción de Transmission-OpenVPN . La belleza de esta compilación es que es compatible con varios proveedores de VPN, incluido IPVanish . Si se pierde la conexión VPN, la transmisión dejaría de descargar / cargar. Si aún no tiene una cuenta VPN, continúe y obtenga una de IPVanish con este enlace con descuento . Una vez hecho esto, agregue el siguiente código a su archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  transmisión-vpn:
    nombre_contenedor: transmisión-vpn
    imagen: haugene / transmission-openvpn
    cap_add:
      - NET_ADMIN
    dispositivos:
      - / dev / net / tun
    reiniciar: siempre
    puertos:
    - "XXXX: 9091"
    dns:
      - 1.1.1.1
      - 1.0.0.1
    volúmenes:
      - / etc / localtime: / etc / localtime: ro
      - $ {USERDIR} / docker / transmission-vpn: / data
      - $ {USERDIR} / docker / shared: / shared
      - $ {USERDIR} / Descargas: / data / watch
      - $ {USERDIR} / Descargas / completadas: / datos / completadas
      - $ {USERDIR} / Descargas / incompleto: / data / incomplete
    ambiente:
      - OPENVPN_PROVIDER = IPVANISH
      - OPENVPN_USERNAME = ipvanish_username
      - OPENVPN_PASSWORD = ipvanish_password
      - OPENVPN_CONFIG = "AAAAAAAAAAA" 
      - OPENVPN_OPTS = - inactivo 3600 --ping 10 --ping-exit 60
      - LOCAL_NETWORK = 192.168.1.0 / 24
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}
      - TRANSMISSION_RPC_AUTHENTICATION_REQUIRED = verdadero
      - TRANSMISSION_RPC_HOST_WHITELIST = "127.0.0.1,192.168. *. *"
      - TRANSMISSION_RPC_PASSWORD = webui_password
      - TRANSMISSION_RPC_USERNAME = webui_username
      - TRANSMISSION_UMASK = 002
      - TRANSMISSION_RATIO_LIMIT = 1.00
      - TRANSMISSION_RATIO_LIMIT_ENABLED = verdadero

Los cambios de configuración que realice a través de la interfaz web no se mantendrán. Por lo tanto, deberá pasar la configuración de transmisión como variables ambientales. Toda la lista de variables está disponible aquí . Ya he agregado algunos importantes en el código de redacción de Docker anterior.

Reemplazar / configurar:

  1. XXXX– número de puerto en el que desea que esté disponible el Transmission Webui. Podría ser el mismo puerto que el contenedor: 9091 (debe ser libre).
  2. OPENVPN_PROVIDER– Proveedor de VPN deseado . He mostrado IPVanish. Verifique aquí otros nombres de proveedores .
  3. OPENVPN_USERNAME – Nombre de usuario del proveedor de VPN.
  4. OPENVPN_PASSWORD – Contraseña del proveedor de VPN.
  5. OPENVPN_CONFIG– Opcional (puede eliminar esta línea). Si le gusta un servidor VPN específico, puede agregarlo aquí. Por ejemplo, ipvanish-CA-Montreal-yul-c04en lugar de YYYYYYYYYYY.
  6. LOCAL_NETWORK– Esto es importante. Dado que el tráfico de transmisión pasa por VPN, no podrá acceder a la interfaz de usuario web a menos que la red local se especifique correctamente. Por lo general, es 192.168.1.0/24 o 192.168.0.0/24. Con su red listada aquí, debería poder acceder a WebUI desde su red doméstica.
  7. TRANSMISSION_RPC_HOST_WHITELIST– Especifique los hosts desde los cuales puede conectarse a la transmisión WebUI. Esto generalmente incluye el servidor en el que se está ejecutando Transmission (127.0.0.1) y las IP de su red local (192.168. *. *).
  8. TRANSMISSION_RPC_PASSWORD – Contraseña de transmisión webUI deseada.
  9. TRANSMISSION_RPC_USERNAME – Nombre de usuario de transmisión de WebUI deseado.
  10. TRANSMISSION_UMASK – Recomendado es 022. Pero para uso doméstico prefiero 002 para evitar problemas de permisos.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Transmission WebUI estará disponible en http: // SERVER-IP: XXXX . Puede verificar los registros en tiempo real utilizando los docker-compose logs transmission-vpnerrores.

qBittorrent sin VPN – Bittorrent Downloader (Alternativa)

Si prefiere tener un cliente bittorrent sin VPN (no recomendado), qBittorrent es una opción. O ejecutas tanto Transmission-VPN como qBittorrent. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  qbittorrent:
    imagen: "linuxserver / qbittorrent"
    nombre_contenedor: "qbittorrent"
    volúmenes:
      - $ {USERDIR} / docker / qbittorrent: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: XXXX"
      - "6881: 6881"
      - "6881: 6881 / udp"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}
      - UMASK_SET = 002
      - WEBUI_PORT = XXXX

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. XXXX– número de puerto en el que desea que qBittorent Webui esté disponible. Reemplace en las 3 ubicaciones en el código.
  3. UMASK_SET– Se recomienda 022. Pero prefiero 002 para evitar problemas de permisos.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. qBittorent WebUI estará disponible en http: // SERVER-IP: XXXX .

SABnzbd – Descargador de Usenet (NZB)

Interfaz web SABnzbd

SABnzbd – Descargador de Usenet (NZB)

SABnzbd es mi cliente favorito de noticias NZB. Si no sabe qué es esto, le sugiero que revise nuestra publicación en Usenet vs Torrents . Hemos cubierto la instalación de SABnzbd en Ubuntu y Windows . También está disponible como contenedor Docker. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  sabnzbd:
    imagen: "linuxserver / sabnzbd"
    nombre_contenedor: "sabnzbd"
    volúmenes:
      - $ {USERDIR} / docker / sabnzbd: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - $ {USERDIR} / Descargas / incompleto: / descargas incompletas
      - $ {USERDIR} / docker / shared: / shared
    puertos:
        - "XXXX: 8080"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. ${USERDIR}/Downloads/incomplete– Ruta donde guardar los archivos que se están descargando actualmente. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  3. XXXX– número de puerto en el que desea que esté disponible el SABnzbd Webui. Podría ser el mismo puerto que el contenedor: 8080 (debe ser libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. SABnzbd WebUI debe estar disponible en http: // SERVER-IP: XXXX .

Usenet es mejor que Torrents:

Para aplicaciones como Sonarr, Radarr, SickRage y CouchPotato, Usenet es mejor que Torrents . Los planes ilimitados de Newshosting (servidores de EE. UU.), Eweka ( servidores de la UE ) o UsenetServer , que ofrecen retención de más de 3000 días, SSL para privacidad y VPN para anonimato, son mejores para contenido HD.

NZBGet – Descargador de Usenet (NZB) (Alternativo)

A muchas personas les gusta NZBGet en lugar de SABnzbd como un descargador de Usenet (solo necesita uno de ellos). Si usted es uno de ellos, aquí está el código de redacción de Docker para NZBget (preste atención a los espacios en blanco al comienzo de cada línea):

  nzbget:
    imagen: "linuxserver / nzbget"
    nombre_contenedor: "nzbget"
    volúmenes:
      - $ {USERDIR} / docker / nzbget: / config
      - $ {USERDIR} / Descargas: / descargas
      - $ {USERDIR} / Descargas / incompleto: / descargas incompletas
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 6789"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. XXXX– número de puerto en el que desea que esté disponible el NZBGet Webui. Podría ser el mismo puerto que el contenedor: 6789 (debe ser libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. NZBGet WebUI debería estar disponible en http: // SERVER-IP: XXXX .

Grabadoras de video personales

Radarr – Descarga y gestión de películas

Radarr - Descarga y organización de películas

Radarr – Descarga y organización de películas

Radarr es una película PVR. Agrega las películas que desea ver a Radarr y buscará varios proveedores de bittorrent y Usenet para la película. Si está disponible, tomará el archivo de índice y lo enviará a su cliente Bittorrent o NZB para descargarlo. Una vez que se completa la descarga, puede cambiar el nombre de su película a un formato específico y moverla a la carpeta que elija (biblioteca de películas). Incluso puede actualizar su biblioteca de Kodi o notificarle cuando una nueva película está lista para que la vea. [ Leer: CouchPotato vs SickBeard, SickRage o Sonarr para principiantes ]

Ya hemos cubierto la instalación de Radarr en Ubuntu , así como, usando docker y Kitematic . Docker hace que sea más fácil de instalar. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  radarr:
    imagen: "linuxserver / radarr"
    nombre_contenedor: "radarr"
    volúmenes:
      - $ {USERDIR} / docker / radarr: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - $ {USERDIR} / media / movies: / movies
      - "/ etc / localtime: / etc / localtime: ro"
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 7878"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. ${USERDIR}/media/movies– Ruta de acceso a su biblioteca de películas. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  3. XXXX– número de puerto en el que desea que esté disponible el Radarr Webui. Podría ser el mismo puerto que el contenedor: 7878 (debe ser libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Radarr WebUI debería estar disponible en http: // SERVER-IP: XXXX .

Usenet es mejor que Torrents:

Para aplicaciones como Sonarr, Radarr, SickRage y CouchPotato, Usenet es mejor que Torrents . Los planes ilimitados de Newshosting (servidores de EE. UU.), Eweka (servidores de la UE) o UsenetServer , que ofrecen retención> 3000 días, SSL para privacidad y VPN para anonimato, son mejores para contenido HD.

CouchPotato – Descarga y gestión de películas (alternativa)

CouchPotato es una alternativa a Radarr. Durante mi cambio a Docker, me mudé de CouchPotato a Radarr y estoy muy feliz con eso. Anteriormente hemos cubierto la instalación de CouchPotato en Ubuntu y Windows . Si prefiere CouchPotato sobre Radarr (solo necesita uno de ellos), aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  flojo:
    imagen: "linuxserver / couchpotato"
    nombre_contenedor: "camote"
    volúmenes:
      - $ {USERDIR} / docker / couchpotato: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - $ {USERDIR} / media / movies: / movies
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 5050"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - UMASK_SET = 002
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. ${USERDIR}/media/movies– Ruta de acceso a su biblioteca de películas. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  3. XXXX– número de puerto en el que desea que esté disponible el CouchPotato Webui. Podría ser el mismo puerto que el contenedor: 5050 (debe ser libre).
  4. UMASK_SET– Se recomienda 022. Pero prefiero 002 para evitar problemas de permisos.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. CouchPotato WebUI debe estar disponible en http: // SERVER-IP: XXXX .

Sonarr – Descarga y gestión de programas de televisión

Sonarr - Descarga y organización de programas de TV

Sonarr – Descarga y organización de programas de TV

Sonarr es un PVR para programas de televisión. Agregas los programas que quieres ver a Sonarr y buscará varios proveedores de bittorrent y Usenet para los episodios del programa. Si está disponible, tomará el archivo de índice y lo enviará a su cliente bitorrent o cliente NZB para descargarlo. Una vez que se completa la descarga, puede cambiar el nombre de su episodio a un formato específico y moverlo a la carpeta que elija (biblioteca de programas de TV). Incluso puede actualizar su biblioteca de Kodi o notificarle cuando un nuevo episodio esté listo para que lo vea. Anteriormente hemos cubierto la instalación de Sonarr en Ubuntu , Windows , usando Docker y Kitematic.. Docker hace que sea más fácil de instalar. Aquí está el código para agregar en el archivo docker-compose (preste atención a los espacios en blanco al comienzo de cada línea):

  sonarr:
    imagen: "linuxserver / sonarr"
    nombre_contenedor: "sonarr"
    volúmenes:
      - $ {USERDIR} / docker / sonarr: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - $ {USERDIR} / media / tvshows: / tv
      - "/ etc / localtime: / etc / localtime: ro"
      - $ {USERDIR} / docker / shared: / shared
    puertos:
        - "XXXX: 8989"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. ${USERDIR}/media/tvshows– Ruta de acceso a su biblioteca de películas. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  3. XXXX– número de puerto en el que desea que esté disponible Sonarr Webui. Podría ser el mismo puerto que el contenedor: 8989 (debe ser libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Sonarr WebUI debería estar disponible en http: // SERVER-IP: XXXX .

Usenet es mejor que Torrents:

Para aplicaciones como Sonarr, Radarr, SickRage y CouchPotato, Usenet es mejor que Torrents . Los planes ilimitados de Newshosting (servidores de EE. UU.), Eweka (servidores de la UE) o UsenetServer , que ofrecen retención> 3000 días, SSL para privacidad y VPN para anonimato, son mejores para contenido HD.

SickRage – Descarga y gestión de programas de TV (alternativa)

SickRage es una alternativa a Sonarr. Durante mi cambio a Docker, me mudé de SickRage a Sonarr y estoy muy feliz con eso. Anteriormente hemos cubierto la instalación de SickRage en Ubuntu y Windows . Si prefiere SickRage sobre Sonarr (solo necesita uno de ellos), aquí está el código para agregar en el archivo de compilación acoplable (preste atención a los espacios en blanco al comienzo de cada línea):

  enfermería
    imagen: "linuxserver / sickrage"
    nombre_contenedor: "enfermedad"
    volúmenes:
      - $ {USERDIR} / docker / sickrage: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - $ {USERDIR} / media / tvshows: / tv
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 8081"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/completed– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. ${USERDIR}/media/tvshows– Ruta de acceso a su biblioteca de películas. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  3. XXXX– número de puerto en el que desea que SickRage Webui esté disponible. Podría ser el mismo puerto que el contenedor: 8081 (debe estar libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. SickRage WebUI debería estar disponible en http: // SERVER-IP: XXXX .

Aplicaciones de servidor de medios

Hay varias opciones disponibles para un servidor de medios. Anteriormente hemos cubierto muchas aplicaciones de servidor de medios y aplicaciones de servidor de música en detalle. Entre todos, Plex es el más común y eso es lo que usaré en esta guía del servidor de medios Docker.

Servidor de medios Plex

Plex - Docker Media Server

Servidor de medios Plex

Plex media server es un servidor de medios gratuito que puede transmitir contenido local e internet a varios de sus dispositivos. Tiene un componente de servidor que cataloga sus medios (películas, programas de televisión, fotos, videos, música, etc.). Para transmitir, necesita la aplicación cliente instalada en dispositivos cliente Plex compatibles . Con la introducción de Plex News , ahora puede transmitir contenido de News. El reproductor de música Plexamp mejora la experiencia de escuchar música.

Los mejores dispositivos de cliente Plex:
  1. Servidor multimedia doméstico NVIDIA SHIELD TV Pro – $ 199.99
  2. Reproductor multimedia de transmisión Amazon Fire TV – $ 89.99
  3. Roku Premiere + 4K UHD – $ 83.99
  4. CanaKit Raspberry Pi 3 Kit de inicio completo – $ 69.99
  5. Consola Xbox One de 500 GB – $ 264.99

Hemos cubierto plex en detalle, incluida la comparación de Plex y Kodi y la instalación de Plex en varias plataformas: XBox One , PS4 , Windows Server y Ubuntu Server . Incluso hemos descrito la configuración del acoplador Plex . Docker compose facilita la instalación de Plex y aquí está el código docker-compose para él (preste atención a los espacios en blanco al comienzo de cada línea):

  plexos:
    nombre_contenedor: plexos
    reiniciar: siempre
    imagen: plexinc / pms-docker
    volúmenes:
      - $ {USERDIR} / docker / plexms: / config
      - $ {USERDIR} / Descargas / plex_tmp: / transcode
      - / media / media: / media
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "32400: 32400 / tcp"
      - "3005: 3005 / tcp"
      - "8324: 8324 / tcp"
      - "32469: 32469 / tcp"
      - "1900: 1900 / udp"
      - "32410: 32410 / udp"
      - "32412: 32412 / udp"
      - "32413: 32413 / udp"
      - "32414: 32414 / udp"
    ambiente:
      - TZ = $ {TZ}
      - HOSTNAME = "Docker Plex"
      - PLEX_CLAIM = "reclamo-AAAAAAAA"
      - PLEX_UID = $ {PUID}
      - PLEX_GID = $ {PGID}
      - ADVERTISE_IP = "http: // SERVER-IP: 32400 /"

Reemplazar / configurar:

  1. ${USERDIR}/Downloads/plex_tmp– Ruta temporal dolder para transcodificación. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. /media/media – Ruta de acceso a su biblioteca de medios.
  3. HOSTNAME – Nombra tu servidor plex.
  4. PLEX_CLAIM– Su código de reclamo de acceso Plex desde aquí . La palabra «reclamo» delante del código debe estar en minúscula .
  5. ADVERTISE_IP– Dirección IP de su servidor (p. Ej. 192.168.1.100): puede obtenerla de la página de administración de su enrutador o ejecutarla ifconfigen la terminal.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Plex WebUI debería estar disponible en http: // SERVER-IP: 32400 . La primera vez que acceda al servidor de medios Plex, asegúrese de estar conectado a su red doméstica. Si tiene problemas de transmisión, eche un vistazo a nuestras soluciones para problemas de almacenamiento en búfer de Plex .

Tautulli (también conocido como PlexPy) – Monitoreo del uso de Plex

Página de PlexPy

Tautulli (también conocido como PlexPy) – Monitoreo del uso de Plex

Tautulli / PlexPy está cubierto en detalle en nuestra guía de configuración de PlexPy . En resumen, es una aplicación basada en web basada en python que le permite monitorear el uso de Plex. Específicamente, le permitirá ver el número de jugadas para cada usuario, el momento en que el servidor se usó más, el uso del servidor y otra información útil. También puede recibir notificaciones personalizadas sobre la actividad de la transmisión y los medios recientemente agregados y obtener estadísticas completas de la biblioteca e información del archivo de medios. Anteriormente hemos cubierto la configuración de PlexPy en Ubuntu , Windows y usando Docker . Docker compose lo hace aún más fácil y aquí está el código para ello (preste atención a los espacios en blanco al comienzo de cada línea):

  tautulli:
    nombre_contenedor: tautulli
    reiniciar: siempre
    imagen: linuxserver / tautulli
    volúmenes:
      - $ {USERDIR} / docker / tautulli / config: / config
      - $ {USERDIR} / docker / tautulli / logs: / logs: ro
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 8181"
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}  

Reemplazar / configurar:

  1. XXXX– número de puerto en el que desea que esté disponible el Tautulli Webui. Podría ser el mismo puerto que el contenedor: 8181 (debe estar libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. PlexPy debería estar disponible en http: // SERVER-IP: XXXX .

Ombi: acepte solicitudes para su servidor de medios

Ombi: acepte solicitudes de medios de amigos y familiares

Ombi: acepte solicitudes de medios de amigos y familiares

Si comparte su servidor de medios con amigos y familiares, es posible que haya oído hablar de las solicitudes de Plex . Ombi es similar a eso pero mejor. Ombi le permite aceptar solicitudes de películas o programas de televisión de amigos y familiares. Cuando llega una solicitud, se puede agregar automáticamente a aplicaciones integradas como sonarr, radarr, couchpotato, etc. La solicitud se puede descargar y agregar automáticamente a su biblioteca. Ombi es compatible con Plex y Emby. Docker facilita la instalación de Ombi y aquí está el código (preste atención a los espacios en blanco al comienzo de cada línea):

  ombi:
    nombre_contenedor: ombi
    reiniciar: siempre
    imagen: linuxserver / ombi
    volúmenes:
      - $ {USERDIR} / docker / ombi: / config
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 3579"
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}  

Reemplazar / configurar:

  1. XXXX– número de puerto en el que desea que esté disponible el Ombi Webui. Podría ser el mismo puerto que el contenedor: 3579 (debe ser libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Ombi debería estar disponible en http: // SERVER-IP: XXXX

Buscadores

NZBHydra – NZB Meta Search

Interfaz web NZBHydra

NZBHydra – NZB Meta Search

NZBHydra es una metabúsqueda de indexadores NZB con fácil acceso a varios indexadores sin procesar y basados ​​en newznab. Proporciona una interfaz unificada para buscar todos sus indexadores desde un solo lugar y también usarla como fuente de indexación para aplicaciones como Sickrage, Sonarr y CouchPotato. Si está buscando un indexador, puede revisar nuestra lista de los mejores sitios de índice de Usenet . tenga en cuenta que NZBHydra no está relacionado con nzbhydra.com, que es un servicio de indexación. Agregamos NZBHydra a AtoMiC ToolKit para Ubuntu. Si bien no es tan difícil de instalar y comenzar, Docker lo hace más fácil. Aquí está el código (preste atención a los espacios en blanco al comienzo de cada línea):

  hidra:
    imagen: "linuxserver / hydra"
    nombre_contenedor: "hidra"
    volúmenes:
      - $ {USERDIR} / docker / hydra: / config
      - $ {USERDIR} / Descargas: / descargas
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 5075"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ} 

Reemplazar / configurar:

  1. ${USERDIR}/Downloads– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. XXXX– número de puerto en el que desea que esté disponible el NZBHydra Webui. Podría ser el mismo puerto que el contenedor: 5076 (debe ser libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. NZBHydra WebUI debe estar disponible en http: // SERVER-IP: XXXX .

Chaqueta – Torrent Proxy

Interfaz web Jackett

Chaqueta – Torrent Proxy

Jackett es un servidor proxy que traduce las consultas de búsqueda de aplicaciones como SickRage, CouchPotato, Sonarr, Mylar, Radarr, etc., en consultas HTTP específicas del sitio del rastreador de torrents. Cuando se recibe una respuesta HTML del sitio del rastreador, Jackett la envía de vuelta a la aplicación solicitante. Jackett es un gran compañero, ya que amplía las capacidades de torrent de las aplicaciones anteriores. Jackett permite obtener cargas RSS y realizar búsquedas desde una sola fuente, quitando la carga de las aplicaciones. Jackett es una de las mejores aplicaciones de servidor doméstico y también está disponible a través de AtoMiC Toolkit .

Oferta exclusiva de IPVanish VPN: solo $ 4.12 por mes :

Guías de VPN
Windows , Android , Ubuntu
Kodi OpenVPN
OSMC en RPi

♦ Ocultesu navegación (sin registros), anonimice la transmisión y descargas
♦ Restrinja las restricciones geográficas / nacionales y acceda a contenido mundial
♦ Funciona en Windows, Mac, Linux, Android, iOS, enrutador y más
♦ Garantía de devolución de dinero: regístrese ahora

Ya hemos cubierto la instalación de Jackett en Windows , usando Docker y Kitematic . Aquí está el código de Docker-compose, que lo hará, aún más, más fácil (preste atención a los espacios en blanco al comienzo de cada línea):

  chaqueta:
    imagen: "linuxserver / jackett"
    nombre_contenedor: "chaqueta"
    volúmenes:
      - $ {USERDIR} / docker / jackett: / config
      - $ {USERDIR} / Descargas / completado: / descargas
      - "/ etc / localtime: / etc / localtime: ro"
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 9117"
    reiniciar: siempre
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/Downloads– Ruta donde guardar los archivos descargados. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. XXXX– número de puerto en el que desea que esté disponible el Jackett Webui. Podría ser el mismo puerto que el contenedor: 9117 (debe estar libre).

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. Jackett WebUI debería estar disponible en http: // SERVER-IP: XXXX .

Utilidades

Estas son buenas aplicaciones que harán que usar y administrar su servidor doméstico sea mucho más fácil.

MariaDB – Servidor de base de datos para sus aplicaciones

MariaDB es una bifurcación desarrollada por la comunidad del sistema de base de datos MySQL. Puede servir como ubicación central de datos para todas las aplicaciones que lo admiten. Además, para aplicaciones que ahorran una gran cantidad de datos, una base de datos como MySQL puede mejorar significativamente el rendimiento sobre una base de datos basada en archivos como SQLite (por ejemplo, Home Assistant, NextCloud). Además, incluso puede usar este servidor de base de datos para configurar una biblioteca compartida para sus cajas Kodi .

  mariadb:
    imagen: "linuxserver / mariadb"
    nombre_contenedor: "mariadb"
    nombre de host: mariadb
    volúmenes:
        - $ {USERDIR} / docker / mariadb: / config
    puertos:
      - objetivo: 3306
        publicado: 3306
        protocolo: tcp
        modo: host
    reiniciar: siempre
    ambiente:
      - MYSQL_ROOT_PASSWORD = $ {MYSQL_ROOT_PASSWORD}
      - PUID = $ {PUID}
      - PGID = $ {PGID}
      - TZ = $ {TZ}

Reemplazar / configurar:

  1. ${USERDIR}/docker/mariadb– La ruta a la que desea guardar sus archivos de base de datos. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. Ports – Recomiendo dejar el puerto predeterminado 3306 como está a menos que sepa lo que está haciendo.
  3. MYSQL_ROOT_PASSWORD – Completado automáticamente desde el archivo de entorno que creamos anteriormente.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si el contenedor funciona.

NextCloud: su propio almacenamiento en la nube

Interfaz web de Nextcloud

NextCloud: su propio almacenamiento en la nube

Nextcloud le permite ejecutar su propio servicio de almacenamiento en la nube en su servidor doméstico. Es una alternativa a Owncloud y creada por el antiguo fundador de Owncloud. En muchos sentidos, ambos servicios son similares. Nextcloud se ejecuta en su servidor, protege sus archivos y le brinda acceso seguro a sus archivos desde computadoras de escritorio o dispositivos móviles desde cualquier lugar. También puede sincronizar y compartir sus datos entre dispositivos.

  nextcloud:
    nombre_contenedor: nextcloud
    reiniciar: siempre
    imagen: linuxserver / nextcloud
    volúmenes:
      - $ {USERDIR} / docker / nextcloud: / config
      - $ {USERDIR} / shared_data: / data
      - $ {USERDIR} / docker / shared: / shared
    puertos:
      - "XXXX: 443"
    ambiente:
      - PUID = $ {PUID}
      - PGID = $ {PGID}

Reemplazar / configurar:

  1. ${USERDIR}/shared_data– Ruta a los datos que desea compartir / sincronizar. ${USERDIR}se llena automáticamente desde el archivo de entorno que creamos anteriormente.
  2. XXXX– número de puerto en el que desea que Nextcloud Webui esté disponible. Podría ser el mismo puerto que el contenedor: 443 (debe estar libre). 443 es el puerto HTTPS predeterminado. Entonces, si no tiene un servidor web escuchando en 443, puede acceder a Nextcloud sin especificar el número de puerto 443 al final.

Guarde y ejecute el docker-compose.ymlarchivo como se describió anteriormente y verifique si la aplicación funciona. NextCloud WebUI debería estar disponible en http: // SERVER-IP: XXXX . Tenga en cuenta que esta configuración no incluye una base de datos de fondo como MySQL o MariaDB. Por lo tanto, los datos se almacenarán como base de datos SQLite. Se recomienda una base de datos de back-end para un mejor rendimiento. Esto se cubrirá en una guía separada. Brevemente, puede usar phpMyAdmin para crear una base de datos, nombre de usuario y contraseña para NextCloud y proporcionarlos durante la configuración.

Archivo completo de Docker Compose – Básico

Eso nos lleva al final de la construcción del último servidor para el hogar docker para el hogar inteligente. Todo mi archivo de compilación de acoplador de nivel «básico» está disponible aquí . Al final, docker-compose.ymldebería ser muy similar, pero es posible que haya menos aplicaciones, ya que mi archivo de compilación de Docker contiene algunas aplicaciones que realizan las mismas cosas (por ejemplo, NZBGet y SABnzbd, CouchPotato y Radarr, SickRage y Sonarr).

También puede copiar y pegar todo el contenido del archivo vinculado anteriormente como punto de partida para su docker-compose.ymlarchivo.

Inicio, detención y autoarranque

El inicio y la detención de contenedores con Docker Composose se describió al comienzo de esta guía. Todos los contenedores anteriores están construidos con restart: alwayscláusula. Por lo tanto, Docker iniciará automáticamente todos los contenedores cada vez que no se estén ejecutando. Entonces, después de un reinicio, Docker iniciará automáticamente todos los contenedores. Si por alguna razón no desea este comportamiento, puede configurar reiniciar en «no».

DNS dinámico y reenvío de puertos

Un último tema que quiero tocar antes de concluir es el DNS dinámico y el reenvío de puertos. Abrir sus aplicaciones en el navegador web usando http: // SERVER-IP: XXXX probablemente estará bien si las abre desde su red doméstica. Para acceder a sus aplicaciones desde fuera de su red doméstica (también conocida como Internet), debe conocer la dirección IP WAN de su hogar. En tales situaciones, un nombre de dominio dedicado (pago) o DNS dinámico (gratis) puede ayudar. Hay varios servicios DNS dinámicos gratuitos. DuckDNS y Afraid son 2 buenos ejemplos. Si bien muchos recomiendan DuckDNS, noté que DuckDNS agregó algunas cadenas de consulta al final de la URL. Esto causó problemas con algunas configuraciones. Por lo tanto, recomiendo usar Afraid. Una vez configurado, puede llegar a su hogar usando myhome.duckdns.orgmyhome.crabdance.com (miedo) en lugar de la WAN IP. También es posible que desee configurar el actualizador DDNS en su puerta de enlace de Internet como un enrutador inalámbrico (la mayoría de los modernos lo admiten), para actualizar automáticamente WAN IP (si cambia) en su cuenta de DNS dinámico.

Ok, ahora puedes acceder a la IP de tu casa desde internet. Pero esto no es suficiente para llegar a las aplicaciones del servidor doméstico. Las aplicaciones de su servidor doméstico están escuchando en puertos específicos. Por lo tanto, deberá reenviar las solicitudes recibidas en puertos específicos al número de puerto en su servidor donde está instalada la aplicación. Esto se llama reenvío de puertos y la mayoría de los enrutadores lo admiten. Puede consultar nuestra guía sobre reenvío de puertos para hacer esto.

Con ambos hechos, deberías poder llegar a decir CouchPotato ejecutándose en el puerto 5050 usando: http://myhome.crabdance.com:5050 . Mejor aún, si tiene Organizr instalado, puede visitar http://myhome.crabdance.com y acceder a todas las aplicaciones del servidor de medios de Docker desde allí.

SOLUCIÓN DE PROBLEMAS

Cuando construí mi servidor de medios Docker en Ubuntu 16.04, hice cientos de pruebas. Pero algunas cosas nunca funcionaron. Abrí problemas en GitHub y publiqué en foros. Pero nunca pude entender por qué algunas aplicaciones no se iniciaban. Esto se hizo aún más evidente cuando me mudé a 18.04. Todo funciona muy bien en 18.04 y parece ser incluso mejor que en 16.04. Durante el cambio a 18.04 aprendí algunas cosas que podrían causar problemas. Los estoy documentando a continuación para ayudar a otros que pueden estar en situaciones similares.

Cambio de PUID y PGID

Siempre instalo versiones LTS limpias y no actualizo. Cuando cambié de Ubuntu 16.04 a 18.04, noté que algunas aplicaciones no se iniciaban correctamente. Al investigar la mayoría de las carpetas y archivos dentro de mi carpeta Docker tenía un ID de grupo de 140, que era el ID de grupo «Docker» en 16.04. Al verificar la identificación del grupo «acoplador» en 18.04, no era «140» sino «999». Tuve que editar mi /etc/environmmentarchivo para asegurarme de que PUIDera la identificación correcta para mi usuario y PGUIDera la ID de grupo correcta para el grupo «acoplador».

Problemas de permisos

Nunca pude hacer que algunas aplicaciones funcionen (por ejemplo, phpmyadmin y pihole). Al buscar, nadie parecía tener problemas similares y no obtuve soporte en los foros. Por ejemplo, mi instancia de PiHole siguió fallando debido al siguiente error:

2018-04-27 13:52:47: (log.c.171) error de apertura '/var/log/lighttpd/error.log' falló: Permiso denegado

Y mi phpMyaAdmin nunca se inició debido al siguiente error: no se pudo ejecutar php-fpm: EACCES . En un presentimiento, detuve la ventana acoplable, eliminé la /var/lib/dockercarpeta, reinicié y reconstruí todo desde cero usando mi archivo de composición de la ventana acoplable. Voila! Tanto PiHole como phpMyAdmin funcionaron. No estoy seguro, pero tal vez tuve muchos archivos sobrantes de ensayos y errores anteriores que arruinaron las cosas.

Deja una respuesta

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