Construye una capa de servicios estable, separa los datos persistentes de los artefactos reconstruibles y haz que cada servicio de desarrollo pueda recuperarse sin conservar el propio host.
Para uno o dos desarrolladores en casa, un único servidor Linux puede alojar Git, un registro de imágenes, bases de datos y aplicaciones de previsualización. El diseño solo sigue siendo manejable cuando la identidad, las funciones del almacenamiento, la exposición de red, las copias de seguridad y la restauración se planifican antes de que los servicios comiencen a depender unos de otros.
Asigna las funciones de los servicios antes de elegir el hardware
Trata Git, el registro de contenedores, los motores de bases de datos y las aplicaciones de previsualización como funciones de servicio independientes aunque compartan un mismo host. Git conserva el historial del código fuente; el registro almacena artefactos reconstruibles; las bases de datos contienen el estado mutable de las aplicaciones; las aplicaciones de previsualización son entornos de ejecución desechables.
Calcula la CPU y la memoria a partir de las compilaciones simultáneas, los conjuntos de trabajo de las bases de datos y las previsualizaciones activas. Calcula el almacenamiento a partir de los repositorios, la retención del registro, el crecimiento de las bases de datos, los registros y el almacenamiento temporal de copias de seguridad. Así evitarás comprar un disco grande mientras la memoria se convierte en el primer cuello de botella.
Utiliza inicialmente un único nodo de cómputo cuando su fallo sea aceptable para el desarrollo. Divide los trabajadores de compilación más adelante si las compilaciones intensivas comienzan a privar de recursos a las bases de datos o a las previsualizaciones interactivas.
Separa los datos persistentes, reconstruibles y de recuperación
| Función de los datos | Ejemplos | Protección |
|---|---|---|
| Estado persistente | Repositorios Git, volúmenes de bases de datos | Instantáneas más copias de seguridad independientes |
| Artefactos reconstruibles | Imágenes de contenedores, caché de compilación | Política de retención; copia de seguridad opcional |
| Secretos y configuración | Claves de despliegue, archivos de entorno | Exportación cifrada y copia de recuperación sin conexión |
| Medios de recuperación | Instalador del sistema operativo, notas de restauración | Almacenados fuera del servidor |
No hagas copias de seguridad de cada byte por igual. Por lo general, un registro puede reconstruirse a partir del código fuente y las instrucciones de compilación; una base de datos no. Almacena los volcados de las bases de datos o las instantáneas coherentes por separado del volumen activo de la base de datos.
Un plan práctico de copias de seguridad autoalojado demuestra el valor de automatizar Git y las copias externas como tareas independientes, en lugar de asumir que el propio NAS es la copia de seguridad.
Crea una única ruta de acceso privada
Asigna al servidor una dirección LAN estable y un nombre DNS local. Expón las rutas de Git, el registro, la base de datos y las previsualizaciones solo a las redes que las necesiten. El acceso remoto debe entrar mediante una VPN privada o una ruta de proxy inverso autenticada, no mediante una colección de puertos de servicios reenviados.
Utiliza cuentas de servicio y claves de despliegue independientes. Los desarrolladores no deben compartir una contraseña de administrador, y las aplicaciones de previsualización no deben heredar credenciales que puedan modificar los repositorios Git o el registro.
Elige SMB o NFS solo para los flujos de trabajo con archivos que realmente necesiten un montaje compartido. La guía para elegir entre clientes SMB y NFS ayuda a mantener separada la elección del protocolo del acceso a los servicios de las aplicaciones.
Haz que el orden de despliegue coincida con el grafo de dependencias
Activa los montajes de almacenamiento, la identidad, las bases de datos, el registro, Git y, después, las aplicaciones de previsualización. Las comprobaciones de estado deben probar las dependencias reales sin reiniciar una base de datos lenta simplemente porque una aplicación todavía se está iniciando.
Mantén las definiciones de despliegue, las migraciones de esquemas y las rutas del proxy inverso bajo control de versiones. Mantén los secretos fuera del repositorio y especifica claramente su ubicación de restauración. Un host de sustitución debería poder recrear los servicios a partir de las definiciones y del estado protegido.
Valida el proceso reconstruyendo una aplicación de previsualización a partir de un checkout limpio, descargando su imagen, aplicando una restauración de prueba de la base de datos y accediendo a ella desde la ruta de cliente prevista.
Haz copias de seguridad para restaurar, no para acumular
Haz copias de seguridad de los repositorios, los volcados nativos de las bases de datos, la configuración de los servicios y los secretos cifrados en un destino que no esté montado con permisos de escritura para todos los servicios. Conserva al menos una copia fuera de los límites de alimentación eléctrica y administración del servidor.
Realiza una restauración trimestral en un espacio de nombres aislado. Confirma los usuarios, las extensiones, las tareas programadas, los permisos de los repositorios, la autenticación del registro y las rutas DNS, no solo la presencia de los archivos.
Amplía la infraestructura cuando las colas de compilación retrasen el trabajo interactivo, aumente la latencia de la base de datos durante las subidas de imágenes o las ventanas de copia de seguridad coincidan con la jornada laboral. Deja de añadir funciones al mismo host cuando un único servicio experimental pueda agotar los recursos o las credenciales que necesita la capa de servicios estable.
Regla final de configuración
La configuración es válida cuando cada servicio tiene una función identificada, un estado protegido, una ruta de acceso controlada, una restauración probada y un indicador medible para dividir o ampliar la topología.
Configuración de NAS y Servidor
Más para leer

Una configuración RAG local para artículos de investigación, notas y documentos privados
Mantén los documentos originales como fuente de autoridad, haz que la indexación sea repetible, exige citas y separa los modelos reemplazables de los datos...

¿Por qué los desarrolladores utilizan un nodo de puerta de enlace para DNS privado, VPN y aplicaciones de prueba?
Un nodo de puerta de enlace proporciona a las aplicaciones privadas un único nombre y una ruta de acceso controlados, mientras que los nodos...

Cómo crear una pila de aplicaciones reproducible con archivos de Compose, secretos y datos persistentes separados
Mantén portables las definiciones de Compose, protege los secretos y realiza copias de seguridad independientes de los datos de las aplicaciones para poder reconstruir...

