HDA-SERV: Configuración

hda

#179 Casi… ¿todos? XD, de hecho, me gustaría tener un microservicio de audiolibros, de ahí que pretenda levantar 2 readarr diferentes. ( #180 ¡No puedo decirte, aún no lo tengo montado!)

Mi intención es tener todos esos stacks corriendo en el servidor de #1. Pero aún no lo he hecho, es solo intención. Cada screenshot se refiere a un stack diferente, en orden: núcleo, base, descargas, juegos, e IA.

#178mongui:

tienes un unico nodo ejecutando dockers?

Serán diferentes stacks. Es posible que rule el núcleo desde docker compose y el resto los lance desde portainer.

#178mongui:

Lo tienes localmente en el server o storage compartido?

Local, en el server. Por comodidad, monto algunas carpetas en samba, solo de lectura, para asimismo montarlas como unidad en mi PC personal (w11).

#178mongui:

Tienes backup si es que no tienes redundancia?

El server va con RAID1, bueno, zpool espejo. Hay redundancia y la intención es hacer sendos backups al NAS (que también tiene redundancia) de las carpetas de configuración montadas de los docker (quizás también alguna de saves de videojuegos, como el mundo de valheim). La pena que el NAS no esté en zfs. La multimedia y descarga en general no me importa arriesgarla solo con la redundancia nativa. Adicionalmente, todavía valoro si el backup offside (que será del NAS: backup del backup) lo llevo con backblaze o si lo monto con AWS glazier.


Llevo con el proyecto parado una temporada por mis circunstancias familiares, pero me gustaría volver a empujarlo y así montar el tercer hilo de la serie. Quizás… hasta sería bueno montarlo en modo diario, aprovechándome del conocimiento de la comunidad, para el durante. En contraste con la forma del 1° y 2° de la serie. Sucede que, aunque me guste mucho docker, soy novato y es un cierto esfuerzo, sobre todo enrutar todo correctamente, quizás haciendo subnets, configurando bien el proxy inverso y, sobre todo, securizando.

Además, si hago diario me autoimpongo (¿me motivo?) a seguir adelante, entiendo que además, al aprovecharme de vosotros, sería más fácil. Literalmente, he llorado de frustración montando el compose del NAS, hasta que por fin lo logré rular bien. Ocurre que ahora mismo, aunque este me gusta y me entretiene, estoy con otros proyectos.

2 respuestas
ItNaS
#181hda:

#180 ¡No puedo decirte, aún no lo tengo montado!

pues armate de paciencia si lo intentas, yo me rendi. no esta al nivel de radarr/sonarr aunque compartan sufijo. para libros normales tiro de calibre.

yo tb tengo dos instancias de qbittorrent, una con vpn y otra sin. ojala pudiera tirar solo de la que tiene vpn pero los trackers privados españoles tienen muchas manias.

1
danao

#174 k8s es un monstruo, cuidado donde te metes.

Si es cierto que podrías sacarle mucho rendimiento a jobs de estilo batch para local, pero en general es para tener servicios siempre levantados y distribuidos en nodos

Docker-compose hace un buen trabajo ahi o rancher o docker swarm

1 1 respuesta
danao

De hecho, también puedes utilizar Nomad, del stack de hashicorp que además te permite poner a correr binarios directamente, lo puedes conectar a un vault (de la misma empresa) para tener tus secretitos de servicio a buen recaudo y guardados.

Necesitarás también un consul.

Al final es un stack "a pelo" pero permite muchas cosas interesantes aunque hay que trabajarselas algo más.

1 respuesta
hda

#183 #184 agradecido por tu comentario. Realmente, no me veo metiéndome a corto en k8s (pasa que tengo comprados los "coming soon" de cantrill.io, y sería una pena no echarle un ojo, al menos, al de fundamentals). Debo confesar que meterme en ansible y terraform también me produce mucho, mucho interés /ref #8 #15 . Pero que, vamos, esta no es mi área para nada y me dedico a cagar fuera del tiesto. La historia de mi vida XD Lo que debiera hacer de una vez es sacarme las certs de AWS, cosa que sí me urge bastante.

1 respuesta
itonny

#162

Unifi Dream Machine Special Edition

Buen overkill para 3 APs xddd

1 respuesta
mongui

#181 A lo que voy es, si se te muere el servidor, pierdes servicio? Por mucho que sean stacks distintos, si el nodo que los ejecuta se va a la puta y pierdes servicio, te ríes un poco de tener stacks. Unicamente esa es la parte que me "patina" un poco, que tener todo redundado a excepción del servidor, que es el cerebro ejecutor, te da un pelin poca fiabilidad al entorno, nada mas

1 respuesta
ItNaS

a ver al nivel al que estamos la redundancia no creo que se busque para tener 100% de uptime, sino mas que nada para no perder informacion.

1 respuesta
mongui

#188 No veo el problema de tener un par de servers en cluster para correr las cosas con seguridad, yo empece hace mas de 10 años con unas pis y ahora tengo unos HP, la tecnología avanza pero los principios de la misma no, yo no busco tener una web 100% ultime pero si busco que mis contenedores tengan ese uptime. Yo al menos tengo redundancia en todo, si lo haces, lo haces bien, no supone un desembolso muchísimo mayor

hda

#187 ah, perdona, no te había entendido. En ese sentido no tengo un servidor de redundancia. Solo tengo lo que pongo en #1 y el NAS. De hecho, lo más probable es que mantenga en el NAS el servicio de openvpn y en el servidor el de wireward. Usar de forma normal el wireward, pero si cae el servidor conectarme através de la VPN del NAS para para mandar el paquete mágico al servidor, que físicamente están en la misma subred.

En definitiva, no, no tengo redundancia, entiendo que "otra máquina" es a lo que te refieres. Destilo de lo que comentas que esa es la manera ideal de obrar si estás desplegando en una nube, para asegurarte que hay 100% uptime.

Igual, como tengo que sacarme a medio-corto el solutions architect, no sería malo montar una redundancia de lo básico, o algo así. No tengo idea, la verdad. Pero soy todo hogos, querido @mongui <3 Deseoso de exprimir vuestro conocimiento xD

1 respuesta
mongui

#190 No digo que deba ser tu objetivo, dado que al final cuando montas un entorno, alguien lo monta como repositorio de ficheros, otro como centro multimedia, otro webserver, etc etc... pero si al menos basado en mi experiencia te puedo dar recomendaciones, he montado mas de un centenar de infraestructuras de todos los colores, sabores, marcas y tecnologías. Puedes darle mil usos a tu infra, asi que dependiendo de que servicio montes primariamente o aquel objetivo para el cual lo vayas a enfocar, puede ser que te haga falta o no. Pasa que cuando analizo lo que poneis todos, cuando veo que se tienen en cuenta elementos como equipo con doble fuente, o un nas al que hacer backups o storage RAID pero veo que solo se monta 1 server, me flaquea ese punto porque todo va muy bien por tener esa redundancia hasta que al faltarte el cerebro (Server), si este peta, adios entorno, te vale verga tener todo backapeado o redundado, si el server no lo está. Ademas, ya tampoco ni siquiera por eso, si no porque con 2 servers, tienes un balanceo de recursos, optimización de los mismos y el crecimiento es bastante mas horizontal, pudiendo montar pools con mas recursos lógicos de los que 1 unica maquina física te podria dar

Depende como lo enfoques, no es un dineral esa inversión, si nos ponemos algo tontis y lo quieres montar bien, la tolerancia a fallos de 1 server es muy alta hoy en dia, mas aun con discos salidos donde los "antiguos" mecánicos, eran mas propensos a fallar. Pero siempre con cariño todo, estoy para lo que necesites <3

1 3 respuestas
hda

#191 entiendo, entiendo.

Si lo que debería hacer sería vender integralmente la caja de este servidor, que aún le puedo sacar un pico, deshacerme del NAS y del SAI (técnicamente son de mi empresa), comprarme un rack de segunda, de 26 u o así, un switch inteligente, un buen router, un buen SAI, un par de servidores de segunda, de los asequibles, que monten mucha ram y acepten un par de CPU eficientes cada uno. Uno sería para servir y otro para backups, aunque pudiesen compartir la carga de proceso si se diese el caso. Enrackar los 0.1 PB (porque mola poner PB XDXD) hacer un zpool para cada servidor y orquestarlo todo desde cero. Los microservicios que requieran CUDA que vayan bajo demanda contra una instancia en la nube. Esto último sería muchísimo más asequible que comprar una GPU CUDA para mi homelab, porque al final el uso que le daré es puntual, para algunas pipelines y nada más. Todo el tiempo que tengo este server sin explotar CUDA es sobreinversión. Se da esta coyuntura porque ya tenía la gráfica de antemano, claro.

No descarto seguir un camino así en algún momento ¡y pedir(te) consejo!, la verdad. Pero sería el típico proyecto para alguien con estabilidad. Por lo menos habiendo pasado de inquilino a propietario. Cosa que tristemente veo muy lejana en mí. El netflix, el netflix, ya sabes.

1 respuesta
Sr_RoS

Gran hilo. Gracias por el aporte

1
danao

#185 ansible y terraform te podrían dar la vida.

De hecho terraform te meteria de lleno y animaría a enterarte de todo eso de aws que lo estás postergando porque su potencial es la nube y tiene muchos módulos para automatizar cosas en ellas.

Ansible para lo que tienes sería lo mejor, imaginate tener todo ordenadito en un repo y si se te va todo a la mierda, coges ejecutas tu ansible y está todo tal cual se te rompió, o para actualizar el sistema o whatever, tiene mucho modulos interesantes de sistema.

Yo trabajo bastante con ansible aunque un modo muy adhoc, pero he hecho cosas complejas que extraen datos de apis y luego combinar varios datos para terminar haciendo una request concreta, por no picarme un script 🤣

Pero por ejemplo, el uso de templeate de jinja en base a una config en yaml es muy interesante y se puede ejecutar contra local, no hace falta conectarse a nada.

1 1 respuesta
GaN2

#163 Los OptiPlex son ideales para homelab: baratos, relativamente potentes, consumen poco, pequeños… El mío lo pillé de segunda mano en EBay y es una pasada

#164 Porque no tengo mucho tiempo y tú has hecho un trabajo genial con el hilo, ahora es el hilo de homelabs y servidores caseros!

#165 Esto no apareció de la noche a la mañana en casa, es el proceso de unos años de compras y demás. Mi mujer sabe que es uno de mis hobbies y lo apoya siempre que no se me vaya la mano con los gastos, por ejemplo lo más caro fue la NAS y la convencí diciéndole que era para guardar las fotos de la enana y tener backups de todo.

Evidemente si me traigo una blade de 20k pavos a casa seguramente chillaría pero mientras no se me vaya la cabeza sin problemas

#186 totalmente pero tenía una USG que se me quedaba pequeña y decidí irme a algo más gordo. Me gusta la cantidad de opciones que da la UDM y el nivel de monitorizavion y métricas que tengo.

1 2 respuestas
hda

#194 ufff, lo tengo en mente, lo tengo en mente. Me atrae sobremanera. Pero, joder, que yo soy picateclas científico de datos; todo esto se me queda muy grande XD

#195GaN2:

ahora es el hilo de homelabs y servidores caseros!

¡Me gusta!

1 respuesta
mongui

#196 zapatero a tus zapatos xD

1
laZAr0

#191 Entiendo que para tener disponibilidad, sin parones o interrupciones en caso de que falle un servidor, hay que tener dos servidores que se sincronicen constantemente para no perder información, sobre todo si tienes información sensible como pueda ser una base de datos de un entorno empresarial. ¿Cómo se realiza esto en la práctica de manera "casera" a nivel de hardware, sistema operativo y software?

¿Necesitas dos máquinas exactamente iguales en cuanto a hardware? Virtualmente, supongo que con proxmox se podría hacer un cluster de 2 servidores idénticos, ¿pero como sincronizas dos servidores físicos para que sean "clones" exactos o poder tener independencia de una de las máquinas físicas cuando ésta falle? Supongamos que hay un incendio en casa, ¿si se destruye mi servidor, puedo tener uno funcional igual en otra red, digamos, la casa de mi hermano?

No espero que me des una respuesta muy detallada, tampoco la iba a entender, sino una idea general para que pueda buscar información por mi cuenta si puede ser, y perdona si no soy muy preciso o riguroso con la terminología, la realidad es que no tengo mucha idea, no me dedico a esto, ni si quiera al sector tecnológico, y lo poco que he hecho ha sido a lo "cutre" en base a dar palos de ciegos y leyendo/copiando/basándome en el contenido de gente que sabe más que yo

Gracias.

1 respuesta
GaN2

#191 Al final cada uno valora sus necesidades y como cubrirlas. En la gran mayoria de casos no necesitas una alta disponibilidad en un servidor casero, te vale con tirar de backups y restaurar en caso de desastre en otro servidor por el tiempo que supone montar alta disponibilidad y redundancia a nivel casero y luego mantenerla en condiciones. Si te mola cacharrear y te quieres montar un cluster en Linux o k8s guay pero desde el punto de vista de necesidad de un homelab medio no es una necesidad.

Si nos ponemos tiquismiquis hasta tu conexión al ISP es un punto de fallo y deberias de tener duplicación para evitar problemas.

#192 los servidores tipo blade en general son ruidosos, gastan energia como animales y sueltan calor para calentar la casa entera. Si te mola el mundillo y te quieres meter muy en serio guay pero tienen mil puntos negativos. Lo digo porque tengo bastantes conocidos que les han dado un blade tipo PowerEdge y similares y al cabo de unos meses estan hasta los huevos del servidor. Ademas sumale que vas a necesitar una cabina de discos o similar que son igual de caras y con los mismos problemas que los blades.

#198 Dependiendo de lo que quieras duplicar se hace de una manera u otra. Con containers puedes tirar de Docker Swarm (caca) o Kubernetes, con Linux puedes tirar de cluster, con VMware puedes montar un cluster con varios hosts que tiren de una cabina común y que la VM se mueva de host A a host B dependiendo de la carga y disponibilidad. Tambien puedes replicar VMs con herramientas tipo Zerto, Veeam y similares. Las maquinas no necesitan ser iguales a nivel de hardware, evidemente el problema puede ser que el host A tenga mas carga que el host B y cuando pasen los servicios/VMs/lo que sea de uno a otro el host con menor/peor hardware reviente. En un MSP en le que curre nos pasaba a menudo, teniamos las maquinas a reventar y cuando una se caia era la fiesta porque los host restantes no tenian recursos suficientes.

Supongamos que hay un incendio en casa, ¿si se destruye mi servidor, puedo tener uno funcional igual en otra red, digamos, la casa de mi hermano?

Depende de tu RPO y RTO:

  • RTO: Tiempo que tardas en recuperar en caso de desastre.
  • RPO: Posible perdida máxima de datos.

Digamos que quieres un RTO y un RPO muy bajo lo que require que la replicación entre infraestructura A e infraestructura B sea practicamente instanea. En ese caso salvo que que tengas fibra directa entre tu casa y la de tu hermano no (y no hablo de fibra Movistar o similar). Si tienes un RTO y un RPO mayor hay maneras, por ejemplo sincronizar discos una vez al dia, restaurar de backups, etc. En ese caso no es alta disponibilidad y seria mas bien una solución de DR.

Al final volvemos a lo que comentaba antes, para el común de los mortales con tirar de backup le vale. Si quieres algo mejor seguramente sea porque esto ya no es un hobby y va camino de ser algo mas serio.

2 1 respuesta
sasher

#177 Mola. Algunos comentarios:

  • docker-socket-proxy en teoría ya no hace falta, ya que tu le pasas el socket del docker rootless a tus servicios; el que está en tu home, no el que está en /var/run/docker.sock.
  • portainer es un coñazo que no se integra bien con los docker compose que ya tengas y encima la UI cada vez tiene más ruido. Te recomiendo mejor https://github.com/louislam/dockge, es más simple, te permite gestionar los servicios a partir de sus docker-compose concretos en el sistema de archivos, dejándolo todo MUCHO más organizado. Además te permite editarlos desde la UI web y los cambios se quedan guardados en el sistema.
  • Si no quieres usar wireguard directamente puedes usar https://github.com/wg-easy/wg-easy, que te abstrae un poco y además te da una UI web para gestionar los clientes.
  • Como cliente torrent yo solo puedo recomendar qbittorrent. Le configuras las categorías para que se descarguen las cosas en los directorios que quieras y luego encima la UI web (responsive desde el móvil) es una maravilla con https://github.com/VueTorrent/VueTorrent.

Sobre copias de seguridad, yo tengo un .sh en cron que me hace una copia de mi carpeta de servicios docker y volúmenes (con algunas excepciones). El backup lo sube a mi Dropbox y arreando. Si quieres algo mejor, échale un ojo a https://www.borgbackup.org/

2 2 respuestas
hda

#200 agradecidísimo por tu comentario, compañero. Estoy a demasiados palos, pero me vais a obligar a montar el hilo de microservicios. Cada vez me tiene más sentido el hacerlo a modo de diario, en vivo, para ir adaptándome a vuestro feedback. Estoy por liar a algún mod ( @cryoned, @spiuk, @yekale7 ) para que, conforme cree el diario (quizás poniendo #177 como OP), migre todos los tan relevantes cometarios sobre microservicios que se han ido dando en este hilo a aquel otro. Es posible que sea lo más eficiente.

De nuevo, gracias a todos por vuestros comentarios y recomendaciones. Así da gusto la comunidad mediavidera :D

4 1 respuesta
mongui

#201 Yo necesito entender como funciona un agujero negro, hacemos un quid pro quo, estas vainas me quitan el sueño :clint:

1 1 respuesta
hda

#202 astrofísica y cosmología fue mi último examen de la carrera. Tendré una pésima memoria, pero bien que me acuerdo de cuando lo terminé, firmé y tiré el boli sobre la mesa xdddd (de hecho, me vine arribísima y el resultado del ejercicio de astrofísica lo completé innecesariamente con la interpretación astronómica, intentando sacarme el rabo. Por supuesto, toda esa interpretación estaba mal, jajajaja, menos mal que no me evaluaba esa parte 😂😂😂😂😂😂😂😂)

Pasa que mis nociones de astrofísica son muy básicas, cualquier docu decentillo o canal de Youtube de divulgación dedicado te lo podría explicar mejor que yo.

laZAr0

#199 muchas gracias por tu respuesta.

Isengard

El privoxy que veo que tanto usáis se puede usar para routear peticiones concretas de máquinas en la red local?

1 respuesta
hda

#205 ¿te refieres al reverse proxy? Si es así, sí.

1 respuesta
Isengard

#206 Y alguno ha probado a bloquear anuncios de youtube/twitch con él?

itonny

#195 si, tampoco tiene mucha gama intermedia ubiquiti a la hora de pegar un salto.

Keltyzz

Otro por aquí con Unraid. Básicamente para las *arr, copias de seguridad de las fotos, un par de wikis personales que quiero migrar a mkdocs y duplicacy via sftp.

AikonCWD

@hda que opciones de seguridad has implementado? Entiendo que alguno de esos servicios los tendrás expuestos a internet y me molaría saber que usas a día de hoy para aceptar conexiones remotas, o si llevas algún tipo de registro de lo que ocurre.

Imagino que se te va del scope, pero yo implementaría algún honeypot para capturar intrusiones ya sea tpot o algo más liviano tipo chameleon.

2 respuestas