Ejecuta code-server en infraestructura VPS cuando desees un entorno de desarrollo persistente que esté disponible desde un navegador mientras tus proyectos, repositorios de Git, configuraciones y extensiones permanezcan en un servidor Linux que controlas. La imagen de la aplicación code-server de VoyraCloud comienza con la autenticación por contraseña habilitada y escucha solo en la interfaz de bucle invertido de VPS. Primero te conectas a través de un túnel SSH en lugar de exponer un IDE web capaz de terminal directamente a Internet público.
TL;DR
- La imagen de VoyraCloud proporciona code-server y Git en Ubuntu, mientras que los entornos de ejecución de lenguajes, dependencias de proyectos, extensiones, dominios y copias de seguridad permanecen bajo gestión del usuario.
- code-server escucha en
127.0.0.1:8080, por lo que{server-ip}:8080no es una dirección de aplicación pública. - Utiliza el túnel SSH mostrado en los detalles del recurso, abre
http://127.0.0.1:8080localmente e inicia sesión con la contraseña única generada para tu VPS. - No desactives la autenticación. code-server incluye un terminal, por lo que un usuario no autorizado podría ejecutar comandos con los permisos del usuario del servicio.
- Utiliza un dominio, un proxy inverso capaz de WebSocket, HTTPS de confianza y una capa adicional de control de acceso antes de publicar el IDE en Internet.
- El VPS en la nube comienza con el plan elegible de 2 vCPU, 2 GB de RAM y 40 GB de almacenamiento. El VPS de IP residencial comienza con 2 vCPU, 4 GB de RAM y 60 GB de almacenamiento.
- Un reinicio preserva archivos en el almacenamiento de VPS y reinicia el servicio, pero la persistencia no es una copia de seguridad. Mantén copias probadas fuera del VPS.
¿Qué es code-server?
code-server es un proyecto de código abierto que ejecuta un entorno de desarrollo estilo VS Code en un navegador web. Proporciona un editor de código, terminal integrado, flujo de trabajo de Git, soporte de extensiones, configuraciones y acceso a archivos almacenados en la máquina remota.
No es Microsoft Visual Studio Code, GitHub Codespaces, ni la plataforma multiusuario Coder. Es un IDE de navegador autohospedado destinado a un usuario que controla el servidor subyacente. El navegador es solo la interfaz: la ejecución de código, terminales, repositorios, herramientas de construcción y servicios de desarrollo se ejecutan en el VPS.
Esta arquitectura es útil cuando trabajas desde varias computadoras, necesitas un entorno Linux siempre disponible, o no deseas que los archivos y herramientas del proyecto estén atados a una sola estación de trabajo. También cambia el límite de seguridad. Cualquiera que ingrese al IDE puede potencialmente abrir un terminal, inspeccionar archivos de proyecto y ejecutar comandos como el usuario del servicio code-server. Por lo tanto, la protección de acceso es parte del despliegue, no una configuración cosmética opcional.
Los requisitos oficiales de code-server recomiendan al menos dos núcleos de CPU y 1 GB de RAM y requieren soporte de WebSocket. Las necesidades reales del proyecto pueden ser mayores cuando instalas compiladores, servidores de lenguajes, contenedores, bases de datos o herramientas de construcción que consumen mucha memoria.
¿Qué incluye la imagen de VoyraCloud?
La imagen de la aplicación prepara un servicio privado de code-server y Git, pero no convierte el VPS en una plataforma de desarrollo gestionada. Mantienes acceso root al VPS y decides qué lenguajes, paquetes, repositorios y extensiones agregar.
| Entregado por la imagen | Gestionado por el usuario o no incluido |
|---|---|
| Ubuntu 24.04 LTS | Mantenimiento del sistema operativo después de la entrega |
| Una versión estable fija de code-server | Actualizaciones automáticas de code-server |
| Herramientas de línea de comandos de Git | Cuenta de alojamiento de Git y credenciales |
| Servicio de code-server no root | Cuentas de equipo compartidas o gestión de roles |
| Autenticación por contraseña habilitada | Proveedor de identidad externo o inicio de sesión único |
| Contraseña aleatoria única para cada VPS | Política de rotación de contraseñas después del primer inicio de sesión |
Escucha solo local en 127.0.0.1:8080 | Dominio público, proxy inverso o HTTPS de confianza |
| Inicio automático del servicio después de un reinicio normal | Alta disponibilidad o conmutación por error automática |
| Almacenamiento persistente en VPS | Copia de seguridad automática fuera del servidor |
| Soporte para instalación de extensiones | Extensiones de terceros preinstaladas o garantías de compatibilidad |
| Terminal integrado y proxy de puerto de desarrollo | Entornos de ejecución de lenguajes, bases de datos, Docker o proyectos de usuario |
La sección de Aplicación en los detalles de tu recurso de VoyraCloud muestra la versión de code-server entregada cuando se creó el VPS. No se actualiza automáticamente cuando cambias el software tú mismo más tarde.
Inicio rápido: ¿Cómo accedes a code-server de manera segura?
El camino inicial seguro es establecer un túnel SSH, recuperar tu contraseña de instancia a través de SSH y abrir la URL de bucle invertido en tu propia computadora. Esto mantiene el puerto 8080 privado y cifra el tráfico entre tu computadora y el VPS.
- Abre la página de code-server de VoyraCloud y continúa con el flujo de compra.
- Selecciona un plan de VPS en la nube o VPS de IP residencial elegible y cualquier región actualmente ofrecida por ese producto.
- Confirma que code-server está seleccionado en Imágenes, crea el VPS y espera hasta que la provisión se complete.
- Abre los detalles del recurso y copia el comando del túnel SSH mostrado. Sigue este patrón:
ssh -p <ssh-port> -N -L 8080:127.0.0.1:8080 <ssh-user>@<server-ip>
- Mantén esa sesión SSH abierta. Si se cierra, el túnel se cierra, pero code-server sigue ejecutándose en el VPS.
- Abre una segunda sesión SSH utilizando los valores de conexión mostrados para tu recurso:
ssh -p <ssh-port> <ssh-user>@<server-ip>
7. Lee la contraseña generada de tu configuración de code-server:
sed -n 's/^password: //p' ~/.config/code-server/config.yaml
8. En tu navegador local, abre:
http://127.0.0.1:8080
9. Ingresa la contraseña del paso 7, abre el terminal integrado y verifica Git:
git --version
Utiliza el usuario SSH y el puerto reales de los detalles de tu recurso en lugar de asumir root y puerto 22. El proceso de code-server se ejecuta bajo el usuario no root de la imagen, por lo que el comando de configuración debe ejecutarse como ese mismo usuario SSH.
La dirección utiliza HTTP porque solo se accede a través del túnel SSH cifrado en tu propia computadora. No es una URL de producción pública. No cambies el oyente a 0.0.0.0:8080 solo para que la dirección IP se abra en un navegador.
Si el puerto local 8080 ya está en uso, elige un puerto diferente en el lado izquierdo:
ssh -p <ssh-port> -N -L 18080:127.0.0.1:8080 <ssh-user>@<server-ip>
Luego navega a http://127.0.0.1:18080. Mantén el destino remoto como 127.0.0.1:8080.
¿Cómo cambias la contraseña de code-server?
Cambia la contraseña generada editando la configuración de code-server como el usuario del servicio y reiniciando el servicio. Utiliza una contraseña única que no reutilices para SSH, alojamiento de Git, correo electrónico u otro VPS.
Abre el archivo de configuración:
nano ~/.config/code-server/config.yaml
Mantén estas configuraciones de seguridad:
bind-addr: 127.0.0.1:8080
auth: password
cert: false
Reemplaza solo el valor después de password: con tu nueva contraseña fuerte, guarda el archivo y reinicia el servicio específico del usuario:
sudo systemctl restart code-server@"$(whoami)"
Reconéctate a través del túnel y verifica la nueva contraseña antes de cerrar tu sesión de navegador autenticada existente. La FAQ oficial de code-server también documenta una opción de contraseña hashed-password de Argon2. Si la adoptas, sigue la sintaxis oficial actual, mantén un camino de recuperación a través de SSH y prueba el servicio después del cambio.
Nunca configures auth: none en un despliegue accesible públicamente. Un túnel SSH limita la accesibilidad de la red, pero mantener la autenticación por contraseña habilitada agrega un segundo control y previene la exposición accidental sin autenticación si la configuración de red cambia más tarde.
¿Cómo agregas un proyecto y un repositorio de Git?
Crea o clona proyectos dentro de un directorio propiedad del usuario del servicio no root, luego abre ese directorio desde el IDE del navegador. Evita desarrollar como root porque las extensiones del editor, los scripts del proyecto y los hooks del ciclo de vida del paquete pueden ejecutar código.
Para clonar un repositorio a través de HTTPS:
mkdir -p ~/projects
cd ~/projects
git clone https://github.com/<owner>/<repository>.git
Para un repositorio privado, utiliza un método de credenciales compatible con tu proveedor de Git. No pegues tokens de acceso de larga duración en archivos fuente, scripts de shell, configuraciones de editor o comandos de terminal que permanezcan en el historial de shell. Prefiere un ayudante de credenciales compatible con el proveedor, un token de alcance limitado o el reenvío de agente SSH desde una estación de trabajo de confianza.
Antes de reenviar un agente SSH, comprende el límite de confianza: los procesos que se ejecutan como tu usuario remoto pueden solicitar firmas del agente reenviado mientras la sesión esté activa. No reenvíes una clave personal de alto valor a un entorno de proyecto no confiable. Una clave de despliegue específica del repositorio o una credencial de alcance limitado puede reducir la consecuencia de un compromiso.
La imagen no instala cadenas de herramientas de lenguaje para cada proyecto. Agrega solo el entorno de ejecución que tu código necesita y utiliza el archivo de bloqueo del proyecto para mantener las dependencias reproducibles. Revisa los scripts de instalación antes de ejecutarlos, especialmente los comandos copiados de un README de repositorio o ejecutados automáticamente por un gestor de paquetes.
¿Cómo funcionan las extensiones en code-server?
code-server admite extensiones, pero su ecosistema de extensiones no es idéntico al de VS Code de escritorio y no todas las extensiones funcionarán en un entorno alojado en un navegador. Algunas extensiones dependen de servicios propietarios de Microsoft, API de escritorio, binarios nativos o términos de licencia que no se aplican a bifurcaciones.
Instala una extensión desde la vista de Extensiones o con la línea de comandos de code-server:
code-server --install-extension <publisher.extension>
También puedes instalar un archivo VSIX de confianza que obtuviste del editor de la extensión:
code-server --install-extension /path/to/extension.vsix
La guía oficial de extensiones explica las rutas de mercado y VSIX compatibles. También desaconseja apuntar code-server a las URL del mercado de Microsoft porque hacerlo entra en conflicto con los Términos de Uso de Microsoft.
Trata las extensiones como software ejecutable. Revisa el editor, la fuente, los permisos, el historial de actualizaciones y el acceso al proyecto antes de la instalación. Una extensión puede leer archivos de espacio de trabajo, iniciar procesos, conectarse a redes y acceder a credenciales disponibles para el usuario del servicio. Instala solo lo que el proyecto requiere y prueba las actualizaciones de extensiones antes de confiar en ellas para trabajos importantes.
¿Cómo ejecutas y previsualizas un servicio de desarrollo?
Ejecuta tu servidor de desarrollo en la interfaz de bucle invertido de VPS y accede a él a través del proxy de puerto integrado de code-server u otro túnel SSH. No necesitas exponer cada puerto de desarrollo en el firewall de VPS.
Por ejemplo, si tu proyecto inicia un servidor de desarrollo en 127.0.0.1:3000, code-server puede detectar el puerto y ofrecer un enlace reenviado en su interfaz de Puertos. El proxy integrado utiliza la sesión autenticada de code-server y se basa en WebSockets para la conexión del editor.
Para un túnel SSH separado, ejecuta esto en tu computadora:
ssh -p <ssh-port> -N -L 3000:127.0.0.1:3000 <ssh-user>@<server-ip>
Luego abre http://127.0.0.1:3000 localmente. Este patrón es apropiado para paneles de desarrollo, documentación de API local y aplicaciones de prueba que no deben estar disponibles para el público.
No asumas que una contraseña de code-server protege un servicio que vinculas directamente a 0.0.0.0. Un puerto de aplicación separado puede eludir completamente la autenticación del IDE. Decide deliberadamente qué servicios son privados, cuáles necesitan su propia autenticación y cuáles están listos para la exposición a Internet.
¿Cómo deberías publicar code-server con HTTPS?
El acceso público requiere un dominio, un certificado TLS de confianza, un proxy inverso que preserve WebSockets, autenticación por contraseña y preferiblemente una capa adicional de acceso consciente de la identidad. La guía oficial de acceso seguro advierte que exponer code-server sin autenticación y cifrado puede dar a un atacante control de la máquina a través de su terminal.
Utiliza esta lista de verificación de producción:
- Crea un nombre de host dedicado como
code.example.comy apunta su registro DNS al VPS. - Mantén code-server vinculado a
127.0.0.1:8080. - Configura Nginx, Caddy u otro proxy inverso compatible para acceder al servicio de bucle invertido.
- Preserva los encabezados de actualización de WebSocket de HTTP/1.1 y la información original del host.
- Obtén un certificado de confianza para el navegador y automatiza la renovación.
- Redirige HTTP sin cifrar a HTTPS.
- Mantén habilitada la autenticación por contraseña de code-server.
- Agrega una capa de acceso externo como un proxy consciente de la identidad cuando el riesgo lo justifique.
- Prueba el inicio de sesión, el terminal, la carga de extensiones, la carga de archivos y los puertos de desarrollo reenviados.
- Confirma desde otra red que el puerto
8080en sí mismo siga sin estar disponible.
Una ubicación mínima de Nginx necesita reenvío de WebSocket:
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Este es solo el bloque de proxy de la aplicación. Aún debes configurar el nombre del servidor, el certificado de confianza, la renovación, la redirección HTTP, el firewall y la política de acceso. Valida la configuración completa con la documentación actual para tu proxy elegido.
Los certificados autofirmados son un mal defecto para el uso normal del navegador porque los usuarios deben eludir o gestionar manualmente las advertencias de confianza. El acceso a través de túneles SSH es más simple cuando solo un administrador necesita el IDE. HTTPS público es útil cuando necesitas acceso al navegador desde dispositivos sin un cliente SSH, pero crea una superficie de ataque más grande y una responsabilidad continua de mantenimiento de certificados y proxies.
¿VPS en la nube o VPS de IP residencial para code-server?
El VPS en la nube es la opción normal para el desarrollo remoto, mientras que el VPS de IP residencial está disponible cuando una identidad de red residencial estable es realmente parte del requisito de desarrollo o prueba regional. Ambas líneas de productos proporcionan el mismo comportamiento de aplicación de code-server y admiten todas las regiones actualmente ofrecidas para ese producto.
| Producto | Configuración inicial elegible | Uso apropiado |
|---|---|---|
| VPS en la nube | 2 vCPU, 2 GB RAM, 40 GB almacenamiento | Codificación general, proyectos de Git, compilaciones ligeras y desarrollo remoto |
| VPS de IP residencial | 2 vCPU, 4 GB RAM, 60 GB almacenamiento | El mismo flujo de trabajo de desarrollo cuando se requiere un origen de red residencial estable |
El mínimo de compra es una puerta de elegibilidad, no una garantía de rendimiento. Los proyectos más grandes pueden necesitar más recursos para servidores de lenguajes, instalación de paquetes, indexación de TypeScript, compilación, bases de datos locales, construcciones de contenedores o varios procesos concurrentes. Monitorea el uso de memoria, CPU, disco y almacenamiento libre después de instalar tu herramienta real.
La identidad de red residencial no mejora el rendimiento del editor y no debe presentarse como una característica de seguridad para el IDE. Elígela solo cuando el origen de la red en sí tenga un papel legítimo en tu trabajo. Revisa las configuraciones actuales en la página de precios de VoyraCloud antes de la compra.
¿Qué persiste después de un reinicio?
Los archivos almacenados en el VPS persisten a través de un reinicio normal, y el servicio de code-server se inicia nuevamente automáticamente, pero los procesos de terminal en vivo y el estado del editor no guardado pueden no sobrevivir. Guarda el trabajo del proyecto en el disco y utiliza la supervisión de procesos adecuada para cualquier cosa que deba reiniciarse.
Los elementos persistentes incluyen:
- Archivos de proyecto y repositorios de Git locales.
- Configuraciones del editor, atajos de teclado y extensiones instaladas.
- Configuración de code-server y cambios de contraseña.
- Archivos escritos por herramientas en directorios persistentes.
No esperes que un reinicio preserve:
- Un búfer de editor no guardado.
- Un comando ejecutándose en un terminal normal sin supervisión.
- Un servidor de desarrollo en memoria.
- Archivos temporales que tus herramientas eliminan al salir.
- Estado de sesión del navegador en una computadora diferente.
Para aplicaciones de larga duración, utiliza un gestor de servicios o una configuración de contenedor diseñada para esa aplicación. Reiniciar code-server no reinicia automáticamente cada comando que estaba abierto en su terminal.
¿Cómo haces una copia de seguridad de un VPS de code-server?
Haz una copia de seguridad del código fuente y el estado del entorno fuera del VPS porque la persistencia local no puede proteger contra eliminación, corrupción, compromiso o falla de almacenamiento. Los remotos de Git son útiles para el código fuente versionado, pero pueden no contener trabajo no confirmado, secretos, bases de datos locales, activos generados, configuraciones de editor o estado de despliegue.
Utiliza un plan de copia de seguridad por capas:
- Envía el código fuente confirmado a un remoto de Git privado que controlas.
- Identifica los datos del proyecto que Git excluye intencionalmente.
- Haz una copia de seguridad de las configuraciones de code-server y el estado de las extensiones si recrearlas sería costoso.
- Exporta bases de datos locales con un método consistente de aplicación en lugar de copiar archivos de base de datos en vivo ciegamente.
- Almacena copias de seguridad cifradas fuera del VPS.
- Retén más de un punto de recuperación.
- Restaura en un entorno de prueba separado y verifica el proyecto, credenciales, editor y proceso de construcción.
No pongas secretos en un repositorio de Git solo para facilitar la copia de seguridad. Haz una copia de seguridad de las credenciales a través de un proceso de gestión de secretos o recuperación cifrada apropiado, y rótalas si sospechas que el VPS o el destino de la copia de seguridad fueron expuestos.
¿Cómo deberías actualizar code-server?
Actualiza deliberadamente eligiendo una versión estable específica, leyendo sus notas de lanzamiento, haciendo una copia de seguridad de tus datos y probando el editor y el flujo de trabajo del proyecto después de la instalación. La imagen no sigue un lanzamiento flotante latest y VoyraCloud no actualiza automáticamente un VPS de cliente existente.
Antes de actualizar:
- Registra la versión actual con
code-server --version. - Revisa los lanzamientos oficiales de code-server y el registro de cambios para correcciones de seguridad, regresiones y cambios de compatibilidad con el navegador.
- Haz una copia de seguridad de proyectos, configuraciones, estado de extensiones y la configuración actual.
- Elige una versión estable exacta en lugar de una versión de borde o un objetivo de paquete flotante.
- Mantén una sesión SSH disponible en caso de que falle la interfaz del navegador.
- Instala la nueva versión utilizando el método oficial actual para Ubuntu.
- Reinicia el servicio y verifica su estado.
- Prueba el inicio de sesión por contraseña, la conectividad de WebSocket, el acceso al terminal, Git, las extensiones requeridas y un proyecto representativo.
- Confirma que el oyente siga siendo
127.0.0.1:8080y que la autenticación siga habilitada.
La página oficial de actualización indica que los datos del usuario se preservan cuando se instala una nueva versión sobre la antigua. Ese comportamiento esperado no reemplaza una copia de seguridad ni prueba que cada extensión y proyecto siga siendo compatible.
Las actualizaciones de seguridad del sistema operativo, entornos de ejecución de lenguajes, gestores de paquetes, proxies inversos, certificados, extensiones y dependencias de proyectos tienen ciclos de actualización separados. Actualizar solo code-server no hace que todo el entorno de desarrollo esté al día.
Errores comunes a evitar
La mayoría de las fallas en el despliegue de code-server provienen de debilitar los controles de acceso, confundir la persistencia con la copia de seguridad o asumir que la compatibilidad del IDE del navegador es idéntica a la de VS Code de escritorio. Evita estos errores:
- Vincular
8080a cada interfaz por conveniencia. - Configurar
auth: noneen un servidor accesible públicamente. - Publicar el IDE a través de HTTP sin cifrar en lugar de usar un túnel o HTTPS de confianza.
- Reutilizar la contraseña generada en varias instancias de VPS.
- Ejecutar code-server o comandos de proyecto como root.
- Tratar cada extensión o integración de mercado propietario como compatible.
- Instalar extensiones, scripts o dependencias de repositorio no revisados.
- Exponer puertos de desarrollo sin autenticación separada.
- Asumir que los procesos de terminal abiertos sobrevivirán a un reinicio.
- Llamar a archivos locales de VPS una copia de seguridad.
- Actualizar a un lanzamiento flotante sin leer los cambios o mantener acceso de recuperación SSH.
- Almacenar tokens de Git, claves API o claves privadas SSH en el código fuente del proyecto.
FAQ
¿Puedo abrir code-server en la dirección IP del VPS?
No, la imagen de VoyraCloud intencionadamente no expone el puerto 8080 en la IP pública. Establece el túnel SSH mostrado en los detalles del recurso y abre http://127.0.0.1:8080 en tu propia computadora. Configura un dominio, un proxy inverso, HTTPS de confianza y controles de acceso antes de habilitar el acceso público desde el navegador.
¿Por qué la URL local utiliza HTTP?
La URL HTTP se transporta dentro del túnel SSH cifrado y solo es accesible desde tu computadora local mientras el túnel esté abierto. No es una URL pública segura y no debe exponerse directamente en Internet.
¿Dónde obtengo la contraseña inicial?
Conéctate al VPS a través de SSH y lee la contraseña única de la configuración de code-server de tu usuario del servicio. La contraseña no se muestra en la página de recursos de VoyraCloud, API del frontend, registros o análisis. Cámbiala después de confirmar el acceso inicial.
¿La imagen incluye Node.js, Python, Docker o bases de datos?
No. La imagen proporciona code-server, Git y el entorno Linux necesario para el IDE del navegador. Instala y mantiene los entornos de ejecución de lenguajes, bases de datos, contenedores y dependencias de proyectos requeridos por tu propio trabajo.
¿Puedo instalar extensiones normales de VS Code?
Algunas extensiones funcionan, pero la compatibilidad no es idéntica a la de VS Code de escritorio. Utiliza la fuente de extensión compatible o un VSIX de confianza, verifica la licencia y los requisitos de tiempo de ejecución de la extensión, y no redirijas code-server a las URL del mercado de Microsoft.
¿Pueden varias personas compartir una contraseña de code-server?
Una contraseña compartida no proporciona identidades individuales, roles ni auditabilidad. Esta imagen está diseñada como un espacio de trabajo autogestionado de un solo usuario. Utiliza instancias de VPS separadas o una plataforma diseñada para la gestión de espacios de trabajo en equipo cuando varios usuarios necesiten acceso controlado.
¿Mi trabajo permanecerá después de un reinicio del VPS?
Los archivos guardados, repositorios, configuraciones, extensiones y la configuración de code-server permanecen en el almacenamiento persistente de VPS después de un reinicio normal. Los búferes de editor no guardados y los procesos de terminal ordinarios pueden no sobrevivir, y la persistencia local no reemplaza una copia de seguridad fuera del servidor.
¿VoyraCloud actualiza automáticamente code-server?
No. La imagen entrega una versión estable fija y las instancias existentes no siguen automáticamente nuevos lanzamientos. Revisa las notas de lanzamiento oficiales, haz una copia de seguridad de los datos, instala una versión estable exacta y prueba la autenticación y los flujos de trabajo del proyecto después de una actualización.
Conclusión
Un VPS de code-server te brinda un entorno de desarrollo basado en navegador persistente mientras mantienes el sistema operativo, archivos, herramientas y controles de red bajo tu administración. Comienza con el túnel SSH privado, mantén la autenticación por contraseña, instala solo los entornos de ejecución y extensiones que tu proyecto necesita, y agrega un proxy inverso HTTPS de confianza solo cuando sea necesario el acceso público desde el navegador.
Utiliza la guía de gestión de VPS para planificar las actualizaciones del sistema operativo, controles de acceso, monitoreo y trabajo de copia de seguridad que permanece fuera del IDE del navegador.
Comienza con la imagen de aplicación code-server de VoyraCloud, verifica el entorno entregado y construye tu flujo de trabajo de desarrollo en un VPS que controlas.

