3.8 KiB
Mezclar los dos docker-compose en vscode-server/docker-compose.yaml
Context
Existen dos entornos de desarrollo casi idénticos:
- dev-environment/vscode-server/docker-compose.yaml — usuario
aleleba, túnelvscode-aleleba, rutas de host base/home/aleleba/nas/docker/. - dev-environment/vscode-server-telus/docker-compose.yaml — usuario
aleleba-telus, túnelvscode-aleleba-telus, rutas de host base/Volumes/docker/(estilo Mac).
Se quiere un único archivo que combine ambos: conservar la identidad personal (aleleba / vscode-aleleba) pero usar la ruta base de host /Volumes/docker/ del entorno telus, dejando comentada la ruta anterior de host. Además debe montar los dos volúmenes de proyectos (projects y projects-telus). El resultado se escribe modificando el archivo vscode-server/docker-compose.yaml.
Decisiones confirmadas
- Túnel:
vscode-aleleba— Usuario:HOME_USER: aleleba(sin cambios; ya son los valores de este archivo). - Ruta base de host activa:
/Volumes/docker/. - Llaves SSH (
id_key,id_key.pub,id_rsa,id_rsa.pub,known_hosts): usar también base uniforme/Volumes/docker/projects/synology-apps-containers/dev-environment/...(NO la ruta/Users/a.barrientes/...del archivo telus). - Segundo volumen de proyectos
projects-telusse monta en/home/aleleba/projects-telus. - Todos los targets del contenedor usan
/home/aleleba/...(porque el usuario esaleleba).
Cambios a realizar (solo en dev-environment/vscode-server/docker-compose.yaml)
La sección environment: no cambia (ya tiene HOME_USER: aleleba y VSCODE_TUNNEL_NAME: vscode-aleleba).
Reescribir el bloque volumes: de modo que cada volumen tenga tres líneas:
# - /volume1/docker/...(comentada, se conserva).# - /home/aleleba/nas/docker/...(comentada — la ruta anterior de este archivo, ahora comentada según lo pedido).- /Volumes/docker/...(activa — la ruta base nueva).
Patrón por volumen (ejemplo con projects):
# - /volume1/docker/projects:/home/aleleba/projects
# - /home/aleleba/nas/docker/projects:/home/aleleba/projects
- /Volumes/docker/projects:/home/aleleba/projects
Añadir el segundo volumen de proyectos justo después de projects:
# - /volume1/docker/projects-telus:/home/aleleba/projects-telus
- /Volumes/docker/projects-telus:/home/aleleba/projects-telus
Aplicar el mismo patrón (línea activa /Volumes/docker/..., target /home/aleleba/...) a todos los volúmenes existentes:
certs, .gnupg, .npmrc, gh config.yml, gh hosts.yml, .gitconfig, las 5 llaves SSH/known_hosts, docker.config.json, kubernetes.config, daemon.json, vscode-server/custom-scripts, vscode-server/extensions.json, .claude.json, claude.settings.json, claude-plans, claude-plugins, claude-sessions, claude-skills, claude-commands, claude-hooks, claude-agents.
Notas de mapeo:
- Se conservan los sub-paths propios de este archivo (p. ej.
vscode-server/custom-scriptsyvscode-server/extensions.json, NO losvscode-server-telus/...) yclaude.settings.json(NOclaude-telus.settings.json). - Las llaves SSH quedan en
/Volumes/docker/projects/synology-apps-containers/dev-environment/id_key→/home/aleleba/.ssh/id_key, etc.
Verificación
Desde dev-environment/vscode-server/:
docker compose config
Debe validar sin errores de YAML y mostrar el servicio vscode-server con:
HOME_USER=aleleba,VSCODE_TUNNEL_NAME=vscode-aleleba.- Todos los binds resueltos desde
/Volumes/docker/.... - Ambos montajes:
/home/aleleba/projectsy/home/aleleba/projects-telus.
(Opcional) Revisar visualmente que cada volumen tiene su línea /home/aleleba/nas/docker/... comentada.