¿Qué es Code Server?
Code Server es el proyecto de código abierto (MIT, 79 000 estrellas en GitHub) que empaqueta VS Code del lado del servidor y lo expone por HTTP. Se ejecuta en un contenedor Docker ligero, expone el puerto 8080 y sirve una interfaz de navegador indistinguible de la aplicación de escritorio. Extensiones, temas, IntelliSense, depurador, terminal integrada: todo funciona, incluidos los atajos de teclado. La única limitación destacable: las extensiones ligadas a API propietarias de Microsoft (Remote SSH, Live Share) no están disponibles en el registro Open VSX, pero existen equivalentes libres.
Lo que obtiene
- VS Code completo en el navegador: IntelliSense, terminal, depurador, git integrado
- Un solo contenedor ligero, ~500 MB de RAM: sin base de datos ni Redis
- Acceso protegido por contraseña: secreto generado durante el aprovisionamiento
- Volumen persistente: el directorio personal, las extensiones y los ajustes sobreviven a los reinicios
- Funciona sin dominio mediante túnel SSH, o con HTTPS si hay un dominio asociado
- Registro Open VSX: miles de extensiones — ESLint, Prettier, Python, GitLens
Desplegar Code Server en un VPS en 4 pasos
Aprovisionar el VPS
Un VPS de 2 vCPU y 2 GB de RAM basta para un uso individual. Debian 12 es el sistema operativo recomendado: ligero, predecible y compatible con la plantilla oficial codercom/code-server.
Lanzar el contenedor
Cree un docker-compose.yml con la imagen codercom/code-server:latest. Monte un volumen con nombre en /home/coder para la persistencia. Pase la variable PASSWORD con una contraseña robusta. Exponga el puerto 8080 en loopback (127.0.0.1:8080:8080) si añade un reverse proxy, o directamente si utiliza un túnel SSH.
Configurar el acceso
Sin dominio: ssh -L 8080:127.0.0.1:8080 user@<su-ip> y después http://localhost:8080. Con un dominio: coloque nginx o Caddy como reverse proxy en 443 -> 8080. HTTPS desbloquea el portapapeles del navegador y los Web Workers.
Instalar sus extensiones
Abra el panel de extensiones (Ctrl+Mayús+X), busque sus herramientas en el registro Open VSX e instálelas. Se escriben en /home/coder/.local/share/code-server —dentro del volumen persistente— y permanecen tras cada reinicio del contenedor.
Túnel SSH o dominio: ¿cuándo elegir cada uno?
El túnel SSH es la forma más rápida de empezar: sin certificado, sin DNS, acceso inmediato. Pero bloquea el portapapeles (regla de seguridad del navegador en HTTP) y exige que su sesión SSH permanezca abierta. Un dominio con HTTPS levanta esas restricciones y le permite conectarse desde una red donde el puerto 22 está bloqueado (compartir datos del móvil, wifi de aeropuerto). Si programa desde varias redes, merece la pena dedicar un subdominio.
Casos de uso habituales
Programar desde un Chromebook o una tableta: su VPS se convierte en su máquina de desarrollo principal. Abra el navegador, introduzca la contraseña y recupere su proyecto donde lo había dejado, con el mismo runtime de Node.js o Python.
Entorno de equipo uniforme: cada desarrollador dispone de una instancia idéntica en el servidor, con el mismo runtime y las mismas versiones de herramientas. Se acabó el «funciona en mi máquina»: la referencia está en el VPS.
Pair programming a distancia: comparta la URL con un colaborador autenticado. Dos personas pueden consultar los mismos archivos sin compartir pantalla ni instalar nada en local.