Saltar al contenido principal
50% de descuento todos los planes, tiempo limitado. Desde $2.48/mo
16 min left
IA y machine learning

Cómo ejecutar Code Server y Claude Code en un VPS: un entorno de desarrollo de IA basado en navegador

H Por Haze 16 min de lectura
A browser-based VS Code IDE with a Claude Code terminal panel running on a VPS, viewed on a tablet

Cierras tu portátil, caminas hasta una cafetería y abres un navegador en una tableta. Tu editor VS Code completo está justo ahí, con una terminal ejecutando Claude Code a su lado, en un servidor que controlas. Sin cadena de herramientas local, sin sincronización, sin esperar a que un portátil se despierte.

Esa combinación es lo que construye esta guía: Code Server (VS Code basado en navegador) y Claude Code (la CLI de codificación con IA de Anthropic) en un solo VPS Linux. Muchos tutoriales cubren uno u otro, pero ejecutar ambos en la misma máquina te da un IDE asistido por IA al estilo de Codespaces, accesible desde cualquier dispositivo, por el coste de un VPS y con acceso root completo. Una aclaración antes de empezar: Servidor de Código aquí se refiere al proyecto de código abierto de Coder (coder/code-server), no al VS Code Server de Microsoft ni a la plataforma empresarial separada de Coder. Comparten nombre y se confunden constantemente, así que vale la pena dejarlo claro ahora.

Al final, tendrás un entorno de desarrollo funcional basado en navegador y asistido por IA ejecutándose en un VPS que posees, protegido con HTTPS y configurado para sobrevivir a una conexión caída.

La versión corta

  • La pila: Code Server te da VS Code en una pestaña del navegador; Claude Code añade el asistente de codificación con IA de Anthropic en el mismo servidor. Accedes a todo el conjunto desde cualquier dispositivo con un navegador.
  • El piso real de RAM es 4 GB, y Claude Code es la razón. Code Server por sí solo funciona con 1 GB, pero Claude Code requiere 4 GB o más, así que la pila combinada necesita al menos 4 GB de RAM, 2 vCPU y 120 GB de almacenamiento. Planifica 8 GB si quieres comodidad.
  • El orden de instalación importa menos que el paso de autenticación. Los instaladores nativos de ambas herramientas son una línea cada uno. Autenticar Claude Code en un servidor sin navegador es la parte en la que se atasca la mayoría de las configuraciones. Copias una URL de inicio de sesión a tu navegador local, o usas un token o una clave API.
  • Claude Code no es gratis. Requiere un plan de pago de Claude (Pro, Max, Team o Enterprise) o una clave API de Anthropic. El plan gratuito de Claude.ai no lo incluye.

Lo que necesitarás

Antes de empezar, asegúrate de tener lo siguiente en su sitio. Cada uno de estos se referencia en un paso posterior, así que vale la pena confirmarlos ahora en lugar de descubrir una carencia a mitad de camino.

  • Un VPS Linux que cumpla el piso de dimensionamiento de más abajo. En toda esta guía se usa Ubuntu 22.04 LTS; los comandos son casi idénticos en Debian y en otras versiones de Ubuntu.
  • El tamaño correcto: al menos 4 GB RAM, 2 vCPU, and 120 GB of NVMe storage. El mínimo de 4 GB viene de Claude Code, no de Code Server (la sección de dimensionamiento explica por qué).
  • Un nombre de dominio (opcional pero recomendado) si quieres HTTPS con un certificado real. Puedes ejecutar Code Server en una dirección IP, pero un dominio hace más limpio el paso del proxy inverso.
  • Un plan de pago de Claude o una clave API de Anthropic. Claude Code requiere una suscripción Pro, Max, Team o Enterprise, o una cuenta de Claude Console (API). El plan gratuito de Claude.ai no incluye el acceso a Claude Code. Confirma cuál tienes antes del paso de instalación, porque decide cómo te autenticas.
  • Acceso SSH básico al servidor con un usuario con capacidad sudo.

Elegir tu VPS

La primera decisión es el tamaño, y el consejo común que encontrarás para Code Server es incorrecto para esta pila. La mayoría de las guías de Code Server citan un mínimo de 1 GB de RAM, lo cual es exacto para Code Server por sí solo. Una vez que añades Claude Code, ese piso se mueve.

La propia lista de requisitos del sistema de Claude Code 4 GB+ RAM (según la documentación de configuración de Claude Code). Code Server necesita aproximadamente 1 GB. Ejecutar ambos, más tus extensiones de editor, un proyecto activo y la memoria que usa una sesión agéntica de Claude Code mientras trabaja, significa que el piso realista de la pila combinada es:

RecursoMínimoRecomendado
RAM4 GB8 GB
vCPU24
El almacenamiento120 GB NVMe240 GB NVMe
OSUbuntu 22.04 LTSUbuntu 22.04 LTS

La columna recomendada es donde quieres estar si instalas varias extensiones, mantienes proyectos grandes con directorios node_modules considerables en el servidor, o ejecutas Claude Code en tareas agénticas que tocan muchos archivos a la vez. El mínimo hará funcionar la pila; la especificación recomendada la mantiene cómoda.

Dos puntos que te ahorran dinero y confusión:

No se requiere GPU. Claude Code envía su trabajo a la API de Anthropic, así que toda la inferencia del modelo ocurre de forma remota. No estás ejecutando un modelo en tu servidor. Un VPS con CPU estándar es la elección correcta, y pagar por una instancia con GPU aquí no te aporta nada.

Elige un centro de datos cercano a ti. Un IDE en navegador es sensible a la latencia de red de una forma en que una aplicación web normal no lo es, porque cada pulsación de tecla y cada edición de archivo viaja por una conexión WebSocket hasta el servidor y de vuelta. Cuanto más cerca esté el servidor de donde te sientas físicamente, más local se siente el editor. Si codificas desde una región la mayor parte del tiempo, elige la ubicación más cercana a ella.

Conclusión clave de la sección: Dimensiona para Claude Code, no para Code Server. El requisito de 4 GB de Claude Code fija tu piso. La cifra de 1 GB de Code Server no aplica una vez que ambas herramientas comparten la máquina.

VPS sizing for Code Server plus Claude Code: 4 GB RAM, 2 vCPU, 120 GB NVMe minimum, 8 GB RAM and 4 vCPU recommended

Instalar Code Server

Este paso produce un editor VS Code funcional accesible en tu navegador en el puerto 8080. Code Server incluye un script de instalación que se encarga por ti de la configuración del paquete.

Ejecuta el instalador oficial:

curl -fsSL https://code-server.dev/install.sh | sh

El script detecta tu distribución e instala Code Server como un servicio de systemd. Una vez que termina, arranca el servicio y habilítalo para que vuelva tras un reinicio:

sudo systemctl enable --now code-server@$USER

Code Server se vincula a 127.0.0.1:8080 por defecto y genera una contraseña aleatoria en la primera ejecución. Necesitas esa contraseña para iniciar sesión. Vive en el archivo de configuración generado:

cat ~/.config/code-server/config.yaml

La salida esperada tiene este aspecto:

bind-addr: 127.0.0.1:8080
auth: password
password: 5f3a9c1b2e8d7460a1f2c3b4
cert: false

Copia el valor de la contraseña. La introducirás en la pantalla de inicio de sesión de Code Server una vez que el servidor sea accesible en tu navegador, cosa que, ahora mismo, no lo es, porque está vinculado a 127.0.0.1 (solo localhost). Eso es intencionado: exponer Code Server de forma segura es un paso posterior, hecho a través de un proxy inverso en lugar de abriendo el puerto 8080 a internet.

Nota: Code Server limita la tasa de intentos de inicio de sesión. Si te equivocas con la contraseña unas cuantas veces y te bloqueas brevemente, eso es el limitador de tasa, no una instalación rota. Espera un minuto e inténtalo de nuevo.

Si prefieres saltarte por completo la instalación manual, el marketplace de Cloudzy tiene un despliegue de Code Server con un clic que aprovisiona el servidor con Code Server ya instalado. Es el camino más rápido si estás eligiendo un proveedor ahora; los pasos manuales de arriba funcionan en cualquier VPS Ubuntu, así que el resto de esta guía sigue siendo agnóstica del proveedor.

Instalar Claude Code

Este paso añade el asistente de codificación con IA al mismo servidor. Claude Code se instala como un único binario y se ejecuta desde la terminal: la misma terminal que más tarde abrirás dentro del IDE en navegador.

Usa el instalador nativo, que es el método recomendado por Anthropic:

curl -fsSL https://claude.ai/install.sh | bash

Confirma que se instaló:

claude --version

Si ya ejecutas Node.js 18 o posterior y prefieres gestionar la herramienta a través de npm, ese camino existe como alternativa:

npm install -g @anthropic-ai/claude-code

The native installer is the primary path in Anthropic's current documentation, and it auto-updates in the background. The npm package can also auto-update, but that depends on the npm global directory being writable; if it isn't, Claude Code shows a one-time notice instead of updating silently. Choose the native installer unless you have a specific reason to prefer npm.

Claude Code admite Ubuntu 20.04+, Debian 10+ y Alpine 3.19+, así que el VPS que dimensionaste arriba ya cumple los requisitos. Requiere un plan de pago de Claude o una clave API de Anthropic, que confirmaste en los requisitos previos, y el plan gratuito de Claude.ai no lo incluye.

Para la referencia de instalación autoritativa, la documentación actual está en code.claude.com. (Los enlaces antiguos a docs.anthropic.com redirigen allí; usa directamente la dirección code.claude.com.)

Autenticar Claude Code en un servidor sin interfaz gráfica

Ejecuta claude por primera vez e intenta abrir una ventana del navegador para completar el inicio de sesión. En un servidor remoto al que se accede por SSH, no hay navegador que abrir. Este es el único paso que detiene la mayoría de las configuraciones de servidor, y tiene tres soluciones limpias.

El método directo: copia la URL de inicio de sesión a tu navegador local. Cuando ejecutas claude en el servidor, imprime una URL de inicio de sesión (pulsa c para copiarla a tu portapapeles si no se abre automáticamente). Abre esa URL en el navegador de tu propia máquina, inicia sesión y completa la autorización. Si el navegador muestra un código de inicio de sesión en lugar de redirigir, pega ese código de vuelta en la terminal en el aviso Paste code here if prompted. Esto es normal en sesiones SSH y contenedores. Este es el camino interactivo estándar para una suscripción Pro o Max.

El método persistente: un token de larga duración. Si no quieres volver a autenticar el servidor periódicamente, genera un token OAuth de un año:

claude setup-token

El comando te guía por la autorización OAuth una vez e imprime un token. No almacena el token por ti, así que cópialo y establécelo como una variable de entorno para que Claude Code lo recoja en cada ejecución:

export CLAUDE_CODE_OAUTH_TOKEN=your-token-here

Añade esa línea export a tu perfil de shell (por ejemplo ~/.bashrc) para que persista entre sesiones. Este token se autentica contra tu suscripción y requiere un plan Pro, Max, Team o Enterprise.

El método de la clave API. Si usas una cuenta de Claude Console (API) en lugar de una suscripción, establece tu clave API en su lugar:

export ANTHROPIC_API_KEY=sk-ant-your-key-here

Una nota de precisión para que no te sorprendas en una factura: una clave API factura por token a través de Claude Console, que es un camino de facturación separado del de una suscripción Pro o Max. Si tienes tanto una suscripción como ANTHROPIC_API_KEY establecida, la clave API tiene prioridad una vez aprobada. Así que si tienes la intención de usar tu suscripción, no dejes una clave API perdida en tu entorno.

Conclusión clave de la sección: Tres rutas para autenticar en una máquina sin interfaz gráfica: copia la URL de inicio de sesión a tu navegador local, ejecuta claude setup-token para un token de suscripción de larga duración, o establece ANTHROPIC_API_KEY para facturación directa de la API.

Three ways to authenticate Claude Code on a headless server: copy the login URL to a local browser, a one-year OAuth token, or an Anthropic API key

Exponer Code Server de forma segura con HTTPS

Ahora mismo Code Server está vinculado a localhost y sirve HTTP sin cifrar. No quieres abrir el puerto 8080 a internet e iniciar sesión por una conexión no cifrada, porque cualquiera en la ruta de red podría leer tu sesión. La solución estándar es un proxy inverso que termina HTTPS delante de Code Server.

Hay una restricción dura que da forma a este paso: Code Server depende de WebSockets (según los requisitos de Coder). El editor usa una conexión WebSocket persistente para su comunicación en vivo con el servidor, así que tu proxy inverso debe reenviar correctamente las actualizaciones de WebSocket. Por eso la elección del proxy importa.

Usa Caddy o Nginx. Ambos manejan el proxy de WebSocket de forma fiable, y ambos están disponibles como aplicaciones de un clic del marketplace de Cloudzy si quieres saltarte instalarlos a mano. Caddy es el camino más corto porque obtiene y renueva automáticamente un certificado de Let's Encrypt. Un Caddyfile mínimo para Code Server es:

# /etc/caddy/Caddyfile
code.example.com {
    reverse_proxy 127.0.0.1:8080
}

Esa es toda la configuración. Caddy detecta la actualización de WebSocket y la reenvía sin directivas adicionales, y aprovisiona HTTPS para code.example.com por su cuenta. Recarga Caddy con sudo systemctl reload caddy y navega a https://code.example.com, y llegas a la pantalla de inicio de sesión de Code Server por una conexión cifrada.

Si prefieres Nginx, la configuración es más larga porque estableces explícitamente las cabeceras de actualización de WebSocket y obtienes el certificado por separado con Certbot:

# /etc/nginx/sites-available/code-server
server {
    listen 80;
    listen [::]:80;
    server_name code.example.com;
    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Accept-Encoding gzip;
    }
}

Nota: Nginx y Caddy son los dos proxies que documenta la documentación oficial de Coder, y ambos son las opciones fiables aquí. Apache también puede hacer de proxy para Code Server, pero su reenvío de WebSocket requiere una configuración de módulos adicional (proxy_wstunnel más reglas de reescritura) que la documentación oficial no cubre, y las configuraciones que se saltan esos módulos tienden a acabar depurando conexiones de editor caídas. Si ya ejecutas Apache para otros sitios, el camino más simple es poner Code Server detrás de Nginx o Caddy en un vhost separado en lugar de configurar Apache para que haga de proxy.

A reverse proxy terminating HTTPS in front of Code Server on localhost port 8080 and forwarding WebSocket upgrades, using Caddy or Nginx

Mantener tus sesiones vivas

Dos cosas diferentes se ejecutan en este servidor, y se comportan de forma distinta cuando tu conexión se cae. Vale la pena saber cuál es cuál antes de perder una hora de una ejecución agéntica de Claude Code por la tapa cerrada de un portátil.

Code Server en sí sobrevive a las desconexiones porque lo instalaste como un servicio de systemd. Cerrar la pestaña del navegador o perder el SSH no detiene el servicio de Code Server. En reconexiones normales, vuelves a la misma sesión del IDE en navegador, aunque las desconexiones muy largas pueden requerir una recarga de la ventana dependiendo del comportamiento de reconexión de Code Server.

Claude Code es distinto. Cuando ejecutas claude en una terminal interactiva por SSH, está ligado a esa sesión de terminal. Cierra la pestaña del navegador que contiene esa terminal, o pierde la conexión SSH, y el proceso muere con ella, a mitad de tarea si estaba trabajando. La solución es ejecutar Claude Code dentro de un multiplexor de terminal para que la sesión se desprenda de tu conexión y siga ejecutándose.

tmux es la herramienta estándar para esto. Si no lo has usado antes, tres comandos cubren lo que necesitas:

# Start a new named session
tmux new -s claude

# Run claude inside it as normal, then detach without stopping it:
# press Ctrl-b, then d

# Reattach later, from any new SSH session:
tmux attach -t claude

Inicio claude dentro de la sesión de tmux, desvincúlate con Ctrl-b y luego d, y la ejecución agéntica continúa en el servidor. Vuelve a vincularte con tmux attach -t claude cuando te reconectes (desde un dispositivo diferente, si quieres) y estarás de vuelta en la misma sesión en vivo.

Nota: screen funciona de la misma forma si ya lo usas (screen -S claude para iniciar, Ctrl-a y luego d para desvincular, screen -r claude para volver a vincular). Cualquiera de las dos herramientas resuelve el mismo problema; elige la que conozcas.

Usar Claude Code dentro del IDE en navegador

Una vez que ambas herramientas están en la máquina, hay dos formas de acceder a Claude Code desde el IDE en navegador: la terminal integrada y la extensión de VS Code. Una de ellas es fiable hoy; la otra necesita pruebas antes de que dependas de ella.

El camino de la terminal funciona, por construcción. Abre Code Server en tu navegador, abre su terminal integrada (Terminal > New Terminal, o Ctrl+`), y ejecuta:

claude

Ahora tienes la CLI completa de Claude Code ejecutándose dentro del IDE en navegador, en el mismo directorio que el proyecto que tienes abierto. Este es el camino fiable: la terminal es una shell real en el servidor, y Claude Code es una CLI instalada en ese servidor, así que se ejecuta. Combínalo con el paso de tmux de arriba y la sesión sobrevive a una conexión caída.

El camino de la extensión de VS Code es posible, pero el camino de la terminal sigue siendo la base más segura para esta configuración. Anthropic publica una extensión de Claude Code para VS Code y su documentación actual dice que se puede instalar desde Open VSX, lo cual importa porque Code Server usa Open VSX en lugar del VS Code Marketplace de Microsoft. Prueba a buscar "Claude Code" en la vista de Extensiones de Code Server, o instala la Anthropic.claude-code extensión desde Open VSX si aparece en tu instancia. Si la extensión no se instala limpiamente, o si la integración con el IDE se comporta de forma diferente a como lo hace en VS Code de escritorio, recurre a la terminal integrada. La CLI funciona en cualquier terminal, y para esta configuración de VPS, ese es el camino fiable.

Despliega tu propio IDE de IA basado en navegador

Ahora tienes el panorama completo: un editor VS Code accesible desde el navegador con Claude Code a su lado, protegido con HTTPS y configurado para sobrevivir a una conexión caída, en un VPS que controlas.

La única parte de esto que es puro trabajo de configuración es el principio: aprovisionar un servidor y conseguir que Code Server quede instalado antes de poder hacer nada interesante. Si quieres saltarte eso, ofrecemos un despliegue de Code Server con un clic en el marketplace de Cloudzy que aprovisiona el VPS con Code Server ya en ejecución, así que aterrizas directamente en la pantalla de inicio de sesión y vas directo a instalar Claude Code y autenticarte. Para el uso diario regular, pon aun así la instancia detrás de HTTPS con Caddy o Nginx como se muestra arriba en lugar de tratar el http://<server-ip>:8080 inicio de sesión en bruto como el camino final de acceso de producción.

El mismo Linux VPS aloja toda la pila (editor, CLI de IA y proxy inverso) con el acceso root que esta configuración necesita. A partir de ahí, los pasos de arriba son todo lo que se interpone entre tú y programar con IA desde cualquier navegador.

Si todavía estás sopesando a qué CLI de codificación con IA comprometerte antes de construir esto, nuestras comparaciones de OpenCode vs Claude Code y el más amplio duelo de CLI de codificación agéntica cubren las ventajas y desventajas.

Preguntas frecuentes

¿Qué especificaciones de VPS necesito para Code Server y Claude Code?

Necesitas al menos 4 GB de RAM, 2 vCPU y 120 GB de almacenamiento para la pila combinada. El mínimo de 4 GB lo impulsa Claude Code, no Code Server (Code Server por sí solo funciona con aproximadamente 1 GB). Para un uso cómodo con extensiones y proyectos más grandes, 8 GB de RAM y 4 vCPU es el tamaño recomendado.

¿Es gratis Claude Code?

No. Claude Code requiere un plan de pago de Claude (Pro, Max, Team o Enterprise) o una clave API de Anthropic a través de Claude Console. El plan gratuito de Claude.ai no incluye el acceso a Claude Code.

¿Cómo autentico Claude Code en un servidor sin navegador?

Ejecuta claude y copia la URL de inicio de sesión que imprime en el navegador de tu máquina local para completar el inicio de sesión, pegando el código de vuelta en la terminal si se te solicita. Para un servidor persistente, ejecuta claude setup-token para generar un token OAuth de un año y establécelo como CLAUDE_CODE_OAUTH_TOKEN, o establece ANTHROPIC_API_KEY para autenticarte con una clave API de Claude Console.

¿Funciona la extensión de Claude Code para VS Code dentro de Code Server?

La CLI de Claude Code se ejecuta por completo dentro de la terminal integrada de Code Server, que es la forma más fiable de usarlo en esta configuración de IDE en navegador. La extensión de VS Code también vale la pena probarla porque Anthropic dice que se puede instalar desde Open VSX, y Code Server usa Open VSX en lugar del VS Code Marketplace de Microsoft. Si la extensión no se instala limpiamente o se comporta de forma diferente en tu instancia, usa en su lugar el camino de la terminal integrada.

¿Puedo usar esto desde un iPad o un teléfono?

Sí. Code Server está basado en navegador, así que cualquier dispositivo con un navegador moderno (incluidos un iPad o un teléfono) alcanza el IDE completo. Ese acceso agnóstico del dispositivo es la principal ventaja de un IDE en navegador frente a VS Code Remote SSH, que necesita una instalación local de VS Code para conectarse.

Share

Más del blog

Sigue leyendo.

¿Listo para desplegar? Desde $2,48/mes.

Cloud independiente desde 2008. AMD EPYC, NVMe, 40 Gbps. Reembolso en 14 días.