Etiqueta: umami

Mi nube, mis reglas: Los 8 servicios que mantengo en mi propio servidor con Docker

Como ya sabéis de posts anteriores, tengo una regla inquebrantable a la hora de montar cualquier cosa en mis máquinas: o se despliega en un contenedor de Docker, o directamente no se instala. Instalar servicios a pelo en el sistema operativo es comprar papeletas para que tu server se enguarrine con dependencias que no necesitas, o con miles de versiones de las mismas que luego se quedan huerfanas, y que son un dolor de cabeza, el día que toque migrar o restaurar copias de seguridad.

Llevo bastante tiempo dándole caña a mi propio servidor (no concibo depender de servicios de terceros para cosas críticas de mi día a día), y al final, tener tu propio self-hosted stack no solo te olvidas de la vigilancia de las big tech, sino que te ahorra un pastizal en suscripciones.

Actualmente tengo 8 servicios clave funcionando 24/7 sin despeinarse.

1. Wireguard: La llave de entrada a toda una red

Si tienes servicios en casa o en un VPS y los expones a lo loco a Internet mediante puertos abiertos sin control, estás jugando a la ruleta rusa.

Para mí, Wireguard es indispensable. Me permite crear un túnel VPN con mi servidor. Si estoy fuera de casa o conectado a una Wi-Fi pública, lo activo, y santas pascuas.

En mi servidor lo uso simplemente para poder cambiar la ubicación y evitar algunos bloqueos de determinado señor que empieza por Te y acaba por bas, que está obsesionado con que le roban el furgol. Pero en mi casa, también tengo instalado un servidor de Wireguard, y ahí si que me es imprescindible para poder acceder a todo lo que tengo en mis propios cacharros.

2. Nextcloud: La alternativa a las nubes big tech

Tener tus archivos importantes y copias de seguridad, desperdigados por nubes ajenas no me suena nada bien (Aunque lo siga haciendo para determinados casos: Redundancia y la paranoia de los informáticos). Nextcloud es la nube personal: sincronización en tiempo real entre el móvil, el portátil y el NAS, control de versiones, copia automatizada de las fotos del móvil, etc… Consume algo más de recursos que otros servicios más ligeros, pero bien configurado vuela.

Le puedes meter edición de documentos online en tu propio server mediante Collabora u Onlyoffice, y así ya huyes del todo de Google Docs, Office 365 o todos los demás editores. Y no solo eso, tiene plugins como para parar un tren, solo hay que echarle un rato para ver qué necesitas.

3. Poste.io: Servidor de correo sin complicaciones

Montar un servidor de correo tradicional desde cero puede ser una pesadilla que nadie en su sano juicio quiere repetir dos veces.

Poste.io lo resuelve de una patada metiendo toda la infraestructura de correo en un único contenedor de Docker con interfaz web de administración, webmail integrado y soporte TLS automático. Una pasada para tener cuentas de correo bajo mis propios dominios sin depender de proveedores externos.

4. GitLab: Mi repositorio de código

Aunque uso GitHub para cosas públicas y proyectos abiertos, mis propios desarrollos, scripts de mantenimiento y arquitecturas privadas viven en mi propio GitLab.

Tener el control del versionado, los repositorios y poder montar pipelines de CI/CD locales (Soy un apasionado de las pipelines, no me juzguéis por ello) con varios runners, me da todo lo que necesito.

Tengo que reconocer que antes usaba el GitLab «cloud», pero teniendo el server infra utilizado, dije… pues qué leches, me monto el mío propio. Y si, GitLab puede ser muy pesado a nivel de recursos para una sola persona. He visto alternativas también open source como Forgejo, pero sinceramente, me parecio un juguete al lado de GitLab, y prefiero quedarme con potencia a sencillez. Ojo, que si alguno de vosotros, tiene una máquina un poco limitada y no queréis la navaja suiza de GitLab, Forgejo es una opción muy muy buena.

5. Cap: Tu propio captcha

¿Cuántos de vosotros, que hayáis montado alguna web, no habéis tenido que añadir un captcha para registros/login, con el típico de reCaptcha? Bien, pues con esto os olvidáis de Google de una vez.

Cap es un captcha sencillito, con un interfaz de admin tambien bastante claro, y fácil de integrar.

Si os soy sincero, nunca pensé en tener un captcha autoalojado, hasta que me di de bruces con esto, y me alegro haberlo hecho.

6. Umami: Analítica web limpia y sin rastrear a nadie

Google Analytics es un monstruo pesado, intrusivo y un dolor de huevos en general.

Umami es todo lo contrario: una analítica web minimalista, de código abierto, respetuosa con la privacidad y ultraligera. Te da exactamente las métricas que necesitas saber (páginas vistas, dispositivos, procedencia) sin recopilar datos personales ni ralentizar la carga de las webs.

7. WordPress: El motor de publicaciones

No necesita mucha presentación. Aunque a veces sea criticado por su antigüedad, para un blog rápido y estructurado sigue siendo el estándar más fiable. Es más, si estás leyendo esto, spoiler: Esta página es un WordPress.

Te puedes crear un blog de dos patadas con Docker, y listo. Que lo dejes bonito y precioso, eso ya es otro cantar…

8. TeamSpeak: Comunicación por voz de baja latencia

Sí, existe Discord, pero para partidas online o charlas con amigos sin que una big tech monitorice canales ni meta publicidad, un servidor dedicado de TeamSpeak 3 (Las nuevas versiones tienen una licencia un poco rarurna, la v3 funciona a las mil maravillas) sigue siendo insuperable. Consume prácticamente cero recursos del servidor y ofrece un audio muy bueno con una latencia sorprendente (El servidor lo tengo en Alemania, y la latencia no se nota nada).

Epílogo: Un Nginx para gobernarlos a todos

Todo desplegado con docker precioso y muy bonito, pero… ¿Cómo leches accedes a todos estos servicios desplegados en la misma máquina, con distintos dominios? La respuesta es proxy inverso. Y al menos desde mi punto de vista Nginx es la elección.

Tengo metido Nginx y todos los servicios en la misma red de docker, exponiendo solo los puertos web en Nginx, y usándolo mediante reverse proxy a los distintos servicios de docker desplegados. Además con Nginx mantengo todos los certificados https mediante Let’s encrypt y no tengo que preocuparme de añadirlos a los propios servicios. Fácil, sencillo y para toda la familia.

Puede que no cuente como un servicio en sí mismo, pero es el anillo único en un despliegue de este tipo.

Conclusión

Mantener todos estos servicios funcionando a la vez no requiere data centers consumiendo luz y miles de bernabeus de agua (La medida estandar en Madrid para cantidades de agua), si se gestiona bien el servidor. Con una buena configuración en Docker, límites de memoria y copias de seguridad automáticas, tienes tu ecosistema digital completo, privado y bajo tu control.