POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Factorio 100% declarativo: NixOS y Terraform sin Magalu Cloud

Factorio 100% declarativo con NixOS y Terraform sin Magalu Cloud

Publicado el 04/09/2025

Hola comunidad. Gabriel aquí.

Una duda recurrente cuando alguien empieza con Terraform es la siguiente: después de crear la máquina virtual, cómo ejecuto mi aplicación. Existen muchas opciones como cloud-init o Ansible, pero en este artículo te muestro una que, en mi opinión, es de las más elegantes: NixOS. Verás cómo combinar Terraform y NixOS para levantar un servidor que arranque directamente con tu aplicación, sin pasos manuales.

Usaremos como ejemplo divertido un servidor de Factorio. Factorio es un juego de automatización con una calidad abrumadora y un gameplay muy pulido. Advertencia amistosa: si valoras tus horas de sueño, quizás no quieras probarlo. Para el resto de nosotros, la fábrica debe crecer.

El repositorio final con el resultado está disponible en GitHub Misterio77 hackathon mgc factorio terraform. Aquí recorreremos el proceso paso a paso hasta llegar a ese código.

Resumen de la idea: con un único tofu apply, se crea la VM en Magalu Cloud, se instala NixOS automáticamente y el servicio de Factorio queda activo. Todo de forma declarativa.

Requisitos para seguir el tutorial en tu equipo local: Linux o macOS, Nix instalado, MGC CLI, OpenTofu, una clave SSH y tu editor preferido.

Primero, habilita en Nix las funcionalidades flakes y nix-command. Crea el archivo de configuración de Nix en tu perfil de usuario y añade la línea que activa estas características. Después, define una configuración mínima de NixOS con nombre de host, red con DHCP, versión de estado del sistema 25.05, plataforma x86_64 linux, y habilita el servicio de Factorio con la apertura del puerto correspondiente en el firewall. Añade también el servicio de SSH, permite acceso para root solo con clave y registra tu clave pública en el usuario root. Con esto, la VM de NixOS arrancará y el servicio de Factorio quedará activo.

Antes de ir a la nube, prueba localmente la configuración con la VM de pruebas de NixOS. Nix puede construir y lanzar una VM temporal a partir de tu flake para validar que el servicio se activa y que el acceso por SSH funciona con tu clave. Accede con root y la clave autorizada, verifica el estado del servicio de Factorio y confirma que el puerto de juego está abierto.

Pasamos ahora a la infraestructura con Terraform en Magalu Cloud. Configura el provider mgc en la región br se1 y usa un backend local para el estado. Crea la VM con el tipo BV2 8 40 y la imagen cloud debian 12 LTS. Sí, empezamos con Debian porque instalaremos NixOS de manera automatizada encima con nixos anywhere. Adjunta tu clave pública a la VM, asigna una IP pública y abre el firewall con dos reglas de entrada: SSH en el puerto 22 TCP y Factorio en el 34197 UDP. Adjunta el security group a la interfaz de red de la VM.

Autentícate con la MGC CLI, crea una API key, expórtala como variable TF VAR mgc api key y ejecuta tofu init seguido de tofu apply. En pocos minutos tendrás la VM en línea y podrás conectarte por SSH con el usuario debian al IP que mostrará el output del plan aplicado.

Llega el momento de instalar NixOS con nixos anywhere. Esta herramienta inicia temporalmente un NixOS vía kexec, desmonta, particiona el disco con disko y despliega tu configuración final de NixOS. Para ello añade a tu flake el input de disko y un módulo de hardware con perfil qemu guest. Define el particionado declarativo en el disco vda con esquema gpt, una partición de arranque, una partición EFI y una raíz ext4. En tu configuration de NixOS importa ese hardware configuration, habilita openssh, desactiva autenticación por contraseña y mantén registrada tu clave pública en root. Mantén el servicio de Factorio habilitado con la apertura de su puerto.

En Terraform añade el módulo all in one de nixos anywhere. Indica el atributo del sistema NixOS a instalar desde tu flake, el script de particionado de disko, el id de la instancia, el host objetivo que es la IP pública de la VM y el usuario de instalación debian. Ejecuta de nuevo tofu init y luego tofu apply. El proceso tarda unos minutos y al finalizar tendrás NixOS instalado y tu servicio de Factorio corriendo de forma declarativa.

Listo. Abre Factorio, conecta al IP de tu servidor y a construir fábricas sin parar.

Ventajas del enfoque declarativo: cualquiera de tu equipo puede clonar el repo y ejecutar tofu apply para reproducir el mismo entorno, sin pasos manuales tipo instala X o edita Y. Los archivos tf y nix son la única fuente de verdad.

En Q2BSTUDIO ayudamos a equipos a llevar este modelo a producción. Diseñamos y construimos aplicaciones a medida y software a medida con pipelines reproducibles, observabilidad, seguridad y automatización de extremo a extremo. Podemos integrar tus despliegues con servicios cloud en AWS y Azure, análisis de datos con power bi, además de soluciones de inteligencia artificial, agentes IA e ia para empresas orientadas a casos reales. Si buscas un socio que una DevOps, servicios cloud AWS y Azure y arquitectura escalable, estás en buenas manos. También impulsamos la automatización de procesos para reducir tiempos de entrega y errores humanos.

Nuestro equipo también ofrece ciberseguridad y pentesting, servicios de inteligencia de negocio, arquitectura de datos y MLOps para operar modelos de inteligencia artificial de forma segura. Contáctanos si necesitas llevar a producción plataformas robustas con despliegues declarativos, integración continua y orquestación.

Repositorio de referencia del tutorial con el resultado final: GitHub Misterio77 hackathon mgc factorio terraform. Si te quedó alguna duda, estaré encantado de ayudarte. Feliz automatización.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio