Siempre ando a vueltas con un par de portátiles (uno de trabajo y otro personal). A veces tengo proyectos propios que no quiero meter en el equipo de trabajo y, si lo hiciera todo en el personal, acabaría con un caos de contenedores y máquinas virtuales, ya que me muevo en todo tipo de tecnologías de desarrollo, bases de datos, etc.
He probado un par de veces con GitHub Codespaces, Gitpod y similares, pero al final, cuando necesito “ampliar” un poco para hacer pruebas (sobre todo pruebas de concepto), se me quedan cortos. No están pensados para mantener de una a varias BDs persistentes que crezcan y recuperarlas meses después, montar un bus de servicios para testear, etc.
También he trabajado con máquinas virtuales en Azure, AWS y GCP, lo que me permitía centralizar todo, pero a veces me encontraba con infraestructuras no compatibles o con costes de almacenamiento elevados. Lo más barato eran unos 20 €/mes en GCP, y al final me encontraba pagando unos 220 € al año solo “por si acaso”. Otra opción era descargar y cargar discos bajo demanda, pero no me resultaba práctica.
Por eso ahora estoy montando algo casero con un mini PC (muy justo, pero no necesito nada potente). La idea es orquestar contenedores y VMs con Proxmox, y además añadir Coder, que me da la posibilidad de crear los workspaces que quiera y trabajar con VSCode directamente en el navegador, con el código en el servidor. De paso, voy a montar diferentes DevContainers base para automatizarlo todo.
El problema es que estoy montando varios DevContainers prácticamente idénticos. Además, Coder, a partir de la URL de GitHub, crea un contenedor donde descarga el proyecto y lo configura según el devcontainer.json. Pero ahí me estoy atascando: Coder no consigue conectar con repositorios privados de GitHub y no he dado con la forma de pasarle mis credenciales sin tener que subirlas directamente al DevContainer. Estoy pendiente de consultarlo en el Discord de Coder, porque la documentación oficial no me ha servido.
También he pensado en usar DevContainers por tecnología en lugar de por proyecto:
Pero no le veo mucho sentido y creo que ese enfoque es erróneo, porque no podría usar directamente el DevContainer del proyecto. Tendría que crear uno y, sobre esa máquina, montar otro DevContainer encima, lo cual es un sinsentido.
Conclusión: creo que la solución pasa por conseguir que Coder sea capaz de crear el entorno descargando desde el repositorio privado, o bien buscar una alternativa similar. La opción de DevContainers que contengan varios proyectos no me termina de convencer.
¿Opiniones? ¿Ideas? ¿Alguien más se ha peleado con Coder?


