Tutoriales técnicos
Desplegar un editor de código en línea en un VPS (2025) - Guía completa de instalación de Code-server
Guía completa para desplegar Code-server en un VPS en 2025. Despliegue en contenedores Docker, proxy inverso Caddy con HTTPS automático y configuración de seguridad reforzada para que escribas código en el navegador en cualquier momento y lugar.

¿Quieres escribir código en una tablet? ¿Quieres acceder a tu entorno de desarrollo en cualquier momento y lugar? Code-server te ayuda a llevar VS Code a la nube y acceder a él en cualquier momento desde el navegador: no necesitas instalar ningún software, solo conexión a internet para programar.
Este artículo te enseña paso a paso a desplegar Code-server en un VPS, incluyendo el despliegue en contenedores Docker, la configuración de seguridad HTTPS y las mejores prácticas para escenarios multiusuario.
Code-server es un proyecto de código abierto de la empresa Coder que ejecuta Visual Studio Code completo en el navegador. A diferencia del vscode.dev oficial, Code-server se ejecuta en tu propio servidor y ofrece las siguientes ventajas:
- Acceso completo a la terminal: opera la línea de comandos del servidor directamente en el navegador
- Espacio de trabajo persistente: el código y la configuración se guardan en el servidor, y puedes continuar sin interrupciones al cambiar de dispositivo
- Compatibilidad total con extensiones: instala cualquier extensión de VS Code
- Recursos sin límites: aprovecha la potencia de cálculo del servidor, de modo que incluso equipos de bajas prestaciones pueden ejecutar proyectos grandes
- Privacidad controlable: los datos se almacenan en tu propio VPS
| Configuración | Mínimo | Recomendado |
|---|---|---|
| CPU | 1 núcleo | 2 núcleos |
| Memoria | 1GB | 2GB+ |
| Almacenamiento | 10GB | 20GB+ SSD |
| Sistema | Ubuntu 20.04+ / Debian 11+ | Ubuntu 22.04 LTS |
Asegúrate de que Docker y Docker Compose estén instalados en el VPS:
# 安装 Docker (如果还没装)
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# 验证安装
docker --version
docker compose version
Antes de comenzar el despliegue, asegúrate de que los siguientes puertos estén permitidos en el firewall del VPS o en el grupo de seguridad del proveedor de nube:
- 80 (TCP): validación del certificado de Let's Encrypt
- 443 (TCP): acceso HTTPS
# UFW 示例
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Nota: si utilizas un proveedor nacional como Alibaba Cloud o Tencent Cloud, también debes añadir reglas en el "Grupo de seguridad" de la consola.
Desplegar con Docker es la forma más sencilla: un solo comando resuelve las dependencias y el aislamiento.
mkdir -p ~/code-server/{config,workspace}
cd ~/code-server
version: "3.8"
services:
code-server:
image: codercom/code-server:latest
container_name: code-server
restart: unless-stopped
ports:
- "127.0.0.1:8443:8080" # 只绑定本地,通过反向代理暴露
environment:
- PASSWORD=YourStrongPassword123! # 修改为强密码
- TZ=Asia/Shanghai
volumes:
- ./config:/home/coder/.config
- ./workspace:/home/coder/project
user: "1000:1000" # 使用非 root 用户
Consejo de seguridad: ¡vincular el puerto a
127.0.0.1es clave! Esto evita que Code-server quede expuesto directamente a internet; todo el tráfico debe pasar por el proxy inverso.
docker compose up -d
Ahora Code-server ya se ejecuta en el puerto local 8443, pero todavía no es accesible desde el exterior. El siguiente paso es configurar HTTPS.
Usamos Caddy como proxy inverso; solicita y renueva automáticamente los certificados de Let's Encrypt.
# Debian/Ubuntu
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Ve a Cloudflare (o a tu proveedor de DNS) y añade un registro A:
类型: A
名称: code
值: 你的 VPS IP
代理状态: 仅 DNS(灰色云朵) # 重要!SSL 由 Caddy 处理
Verifica que el DNS esté en vigor (debes confirmarlo antes de iniciar Caddy):
dig code.yourdomain.com +short
# 应该返回你的 VPS IP 地址
Si no devuelve una IP, espera a que el DNS se propague (normalmente unos minutos); de lo contrario, la solicitud del certificado SSL fallará.
Edita /etc/caddy/Caddyfile:
code.yourdomain.com {
reverse_proxy 127.0.0.1:8443
# 可选:添加基础认证双重保护
# basicauth {
# admin $2a$14$... # caddy hash-password 生成的 bcrypt
# }
}
sudo systemctl enable --now caddy
sudo systemctl reload caddy
Tras unos segundos, visita https://code.yourdomain.com y verás la pantalla de inicio de sesión de VS Code. Introduce la contraseña configurada en docker-compose.yml para entrar.
Un editor de código en la nube expuesto a internet hace que la configuración de seguridad sea fundamental:
Configura en docker-compose.yml una contraseña compleja de al menos 16 caracteres, con mayúsculas, minúsculas, números y caracteres especiales.
sudo apt install fail2ban -y
Crea /etc/fail2ban/jail.local:
[code-server]
enabled = true
port = http,https
filter = code-server
logpath = /var/log/caddy/access.log
maxretry = 5
bantime = 3600
cd ~/code-server
docker compose pull
docker compose up -d
Si solo accedes al servidor a través de Code-server, puedes desactivar el inicio de sesión SSH con contraseña y permitir únicamente la autenticación con clave.
Tu código y configuración se almacenan en el directorio ~/code-server. ¡Asegúrate de hacer copias de seguridad periódicas de este directorio! Si el VPS falla o lo borras por error, todo tu trabajo se perderá.
tar -czvf code-server-backup-$(date +%Y%m%d).tar.gz ~/code-server
Recomendamos usar Rclone para sincronizar con almacenamiento en la nube (S3/OneDrive/Google Drive). Consulta: Soluciones de copia de seguridad automática para VPS
Si varias personas comparten un servidor, puedes crear un contenedor independiente para cada usuario:
services:
alice:
image: codercom/code-server:latest
ports:
- "127.0.0.1:8444:8080"
volumes:
- ./alice:/home/coder
environment:
- PASSWORD=AlicePassword
bob:
image: codercom/code-server:latest
ports:
- "127.0.0.1:8445:8080"
volumes:
- ./bob:/home/coder
environment:
- PASSWORD=BobPassword
Luego configura distintos subdominios en el Caddyfile apuntando a distintos puertos.
Tras entrar en Code-server, pulsa Ctrl+Shift+X para abrir el mercado de extensiones. Recomendamos instalar:
- Python / Go / Rust Analyzer - Soporte de lenguajes
- GitLens - Mejoras de Git
- Remote - SSH - Desarrollo remoto (si necesitas conectarte a otros servidores)
- Docker - Gestión de contenedores
- Asegúrate de que el VPS esté en una región de baja latencia (como Hong Kong o Japón)
- Actualiza a 2 núcleos y 2GB o más
- Usa Argo Tunnel de Cloudflare para optimizar la conexión
- Comprueba si la resolución DNS está en vigor:
dig code.yourdomain.com +short - Asegúrate de que el puerto 80 esté abierto (lo requiere Let's Encrypt)
- El proxy de Cloudflare debe estar desactivado (nube gris)
Sí, pero ten en cuenta:
- El dominio necesita registro ICP
- Solicita el certificado SSL por tu cuenta (los proveedores nacionales no siempre admiten automatización)
Code-server hace que tu entorno de desarrollo sea realmente "en la nube". Con un VPS estable, puedes escribir código en cualquier dispositivo —ya sea un iPad, un Chromebook o un ordenador de un cibercafé— con solo abrir el navegador.
Configuración recomendada: un VPS de 2 núcleos y 2GB o más, junto con un centro de datos asiático de baja latencia (Hong Kong/Japón/Singapur), para la mejor experiencia.
¡Despliega ya tu VS Code en la nube!