Aunque comencé mi delirio de laboratorio en casa con una PC obsoleta, el error en mi cabecera me obligó a modificar en parafernalia adicional. Como tal, he dividido mi colección de máquinas virtuales y contenedores en un par de nodos, y cada servidor ejecuta herramientas distintas para mis deyección de modificación. Bueno, hay cierta superposición en las pilas de contenedores de mis plataformas de autohospedaje, ya que implementé un par de aplicaciones QoL Docker en cada sistema para hacer que mis tareas de agencia sean mucho menos dolorosas.
portainer
Un excelente compañero para nodos independientes de alojamiento de contenedores
Por mucho que prefiera usar comandos de terminal para mis tareas de DevOps, controlar múltiples contenedores desde una CLI puede resultar harto engorroso, especialmente porque uso una combinación de Docker y Podman cuando trabajo en proyectos de bricolaje. Ahora, uno y otro tiempos de ejecución de contenedores incluyen sus propias aplicaciones GUI, pero a menudo implemento contenedores usando máquinas virtuales con distribuciones mínimas y accedo a ellos desde mi MacBook y mi PC para juegos.
Esto hace que las interfaces de agencia basadas en web sean positivamente aperos para ordenar mi pila de contenedores, y Portainer es la utensilio con más funciones para el trabajo. Luego de todo, me permite configurar mi pila de red y volúmenes de almacenamiento desde una interfaz de sucesor web ordenada, al mismo tiempo que proporciona registros detallados para implementaciones fallidas de contenedores. Hablando de eso, Portainer puede activar contenedores a través de Dockerfiles, componer documentos o imágenes, y funciona con configuraciones de Docker, Podman y Kubernetes. Portainer igualmente me permite implementar contenedores de agentes en múltiples servidores, de modo que puedo controlar mi kit de herramientas autohospedado desde una única interfaz.
Copiar
Para mis deyección de respaldo
En los primeros meses de mis desventuras en el laboratorio doméstico, simplemente limpiaba todo y comenzaba de nuevo si las cosas iban mal durante mis experimentos. Pero a medida que mi ejército de contenedores comenzó a crecer, tuve que aparecer a agenciárselas soluciones de respaldo o arriesgarme a perder horas volviendo a implementar servicios esenciales. Proxmox Backup Server es más que suficiente para crear instantáneas de las VM y LXC implementadas en mi host PVE, pero igualmente tengo un par de configuraciones básicas que ejecutan otras plataformas de virtualización.
Kopia es mi utilidad de respaldo para estos sistemas, ya que es harto viable de implementar como contenedor Docker y admite múltiples tipos de almacenamiento. Utilizo conjuntos de datos separados en mi NAS como repositorios de Kopia para diferentes sistemas, pero igualmente es posible configurar Amazon S3, Backblaze B2, Azure Blob y otras plataformas en la nubarrón. Adicionalmente, utiliza instantáneas incrementales para guardar orgulloso de cuadrilla y admite la deduplicación para respaldar que no haga una copia de seguridad del mismo archivo de configuración varias veces.
¿Qué pasa?
Especialmente con el archivo de Watchtower
Aunque los servicios en contenedores especializados se abandonan harto rápido luego de su dispersión, la mayoría de las aplicaciones FOSS populares suelen percibir actualizaciones frecuentes. Desafortunadamente, desempolvar los contenedores Docker manualmente es un trabajo y medio. Primero, tendré que extraer la imagen más flamante de un servicio y destruir su contenedor existente, dejando intactos los volúmenes mapeados. Luego, necesitaré crear un nuevo contenedor con esta imagen. Teniendo en cuenta todos los servicios que implemento en el laboratorio de mi casa, repetir este proceso para docenas de contenedores sería positivamente disgustado sin una utensilio de automatización.
Si hubiera escrito este artículo hace unos meses, habría mencionado Watchtower y habría recomendado el uso de etiquetas para respaldar que la utensilio no actualice accidentalmente contenedores esenciales con imágenes rotas. Sin bloqueo, como ya no está en mejora activo, cambié a What’s Up Docker, que no solo mejoramiento las deficiencias de Watchtower, sino que igualmente viene con una agradable interfaz de sucesor web. En punto de desempolvar automáticamente el contenedor (a menos que especifique lo contrario), WUD escanea los repositorios en investigación de versiones más recientes de las imágenes del contenedor y utiliza activadores personalizados para realizar en consecuencia. Por supuesto, necesito configurar estos activadores manualmente, pero poder percibir notificaciones y elegir si quiero desempolvar mi colección de contenedores es una rezo para los nodos de mi servidor.
Escalera de posaderas
La forma más sencilla de habilitar el comunicación remoto
Ya sea mi configuración de respaldo 3-2-1 que involucra sistemas externos o las (poco raras) veces que necesito salir de mi sótano y tocar el césped, necesito una forma de emparejar nodos remotos con mis dispositivos cotidianos. Las VPN autohospedadas como WireGuard serían una opción sólida, si no fuera por el hecho de que mi red doméstica está afectada por CGNAT. Y prefiero no abonar por una plataforma en la nubarrón cuando expongo servicios a Internet.
Tailscale sirve como contraveneno para mis problemas de comunicación remoto. A aseverar verdad, actualmente ejecuto un enrutador de subred Tailscale en el interior de un Proxmox LXC, pero anteriormente lo había implementado en el interior de contenedores Docker en todos los nodos de mi servidor. Bueno, todavía ejecuto instancias de Tailscale en contenedores en mis unidades NAS y PBS externas, y funciona excepcionalmente aceptablemente para mis copias de seguridad remotas.
Un par de aplicaciones más que ejecuto en varios servidores
Separadamente de los servicios en contenedores que mencioné aquí, tengo un par de herramientas más que ejecuto en la mayoría de los nodos de mi laboratorio doméstico. Pulse, por ejemplo, normalmente se asocia con Proxmox, pero igualmente es excelente para monitorear entornos Docker y K8. Pero técnicamente, solo alojo la interfaz de sucesor web principal de Pulse como un contenedor, mientras que su agente requiere una instalación adecuada a través de un script de shell. Asimismo está PatchMon, que puede parchear vulnerabilidades en múltiples nodos y es excelente para rastrear actualizaciones de seguridad. Teniendo en cuenta que mi Internet se cortaría si mi instancia de Pi-hole se estropea, igualmente la implementé en una segunda máquina y configuré Nebula Sync para mantenerlas sincronizadas.
5 cosas que hago para simplificar el autohospedaje
Construir un imperio de contenedores no tiene por qué ser difícil





