Solución de la comunidad

Instalar code-server en CasaOS con BigBearCasaOS: imagen actual, espacio de trabajo persistente, PUID/PGID y seguridad web

A November 2023 Community post pointing to a BigBearCasaOS tutorial for browser-based VS Code. The forum body does not preserve the installation configuration. BigBearCasaOS still maintains code-server today using the LinuxServer.io image, so the current package and upstream documentation are the durable sources.

La publicación del foro de 2023 es básicamente un enlace a un tutorial externo de BigBearCasaOS, no un registro completo de instalación. La buena noticia es que el paquete subyacente todavía recibe mantenimiento: BigBearCasaOS sigue incluyendo code-server mediante la imagen de LinuxServer.io.

Una implementación actual debe centrarse en la configuración y el espacio de trabajo persistentes, en la identidad correcta de usuario/grupo para las carpetas de proyecto montadas y en la autenticación. code-server proporciona acceso desde el navegador a un shell y un editor para tus archivos, por lo que exponerlo despreocupadamente a Internet público implica un riesgo mucho mayor que exponer un panel multimedia de solo lectura.

BigBearCasaOS todavía mantiene code-server

El paquete actual de BigBear asigna carpetas persistentes de configuración y proyectos, y expone la interfaz web de code-server de LinuxServer mediante un puerto del host.

Consulta el paquete actual de code-server de BigBear.

Haz persistente /config

La imagen actual de code-server de LinuxServer almacena la configuración pertinente en /config. Mantén ese directorio en AppData de CasaOS u otra ubicación de almacenamiento persistente para que la configuración del usuario, la configuración de SSH, las extensiones y el estado del espacio de trabajo sobrevivan a la recreación del contenedor.

Asigna deliberadamente la carpeta de proyecto real

BigBear también expone un volumen de proyecto. Si el código fuente ya se encuentra en un recurso compartido NAS o en un disco de almacenamiento, asigna únicamente el árbol de carpetas que code-server realmente necesita, en lugar de concederle acceso de escritura amplio a todo el NAS.

Usa el PUID y PGID reales

La imagen actual de LinuxServer admite PUID y PGID para que los archivos creados mediante el editor del navegador coincidan con el modelo de propietarios del host.

Ejecuta id username en un host Linux normal con CasaOS para identificar el usuario y el grupo, en lugar de asumir que 1000 siempre es correcto.

Configura la autenticación antes del uso habitual

LinuxServer admite PASSWORD o HASHED_PASSWORD. Si no se configura ninguno, la interfaz web puede ejecutarse sin autenticación.

Consulta la guía actual del contenedor de code-server.

Considera SUDO_PASSWORD una función opcional y potente

La imagen puede habilitar sudo dentro del contenedor cuando se configura. No lo actives simplemente porque un tutorial antiguo muestre un campo para ello. Un contenedor de desarrollo accesible desde el navegador y con sudo es más delicado que un editor normal sin privilegios.

Prefiere la LAN, una VPN o un proxy inverso reforzado

Si necesitas acceder a code-server de forma remota, utiliza una VPN o red superpuesta autenticada, o un proxy inverso HTTPS configurado cuidadosamente. Protege las claves SSH, las credenciales de Git, los terminales y el código fuente almacenado en el espacio de trabajo.

Actualiza recreando el contenedor, no modificando internamente la imagen

LinuxServer recomienda obtener la imagen más reciente y recrear el contenedor con la misma asignación persistente de /config. Así, el contenedor sigue siendo desechable mientras el estado del usuario permanece fuera de él.

Preguntas frecuentes sobre code-server en CasaOS

¿La publicación del foro de 2023 es por sí misma una guía de instalación completa y actual?

No. Apunta a un tutorial externo de BigBear.

¿BigBearCasaOS todavía mantiene code-server?

Sí. El catálogo actual de BigBear todavía incluye el paquete de code-server de LinuxServer.

¿Cuál es la ruta persistente más importante?

/config, además de cualquier carpeta independiente de proyecto o espacio de trabajo que asignes intencionadamente al contenedor.