⚙️ Entorno Docker "Atlantyde Diagram Agent"¶
🎯 Objetivos¶
- Editor Draw.io local en entorno aislado
- Scripts de automatización para:
- Crear plantillas base
- Exportar masivamente a PDF/SVG
- Control de versiones con Git
- Integrable vía volumen compartido en ATLANTYDE
📦 Estructura del Proyecto¶
atlantyde-drawio-agent/
├── Dockerfile
├── entrypoint.sh
├── scripts/
│ ├── create_template.sh
│ ├── export_all.sh
│ └── sync_git.sh
├── templates/
│ └── base.drawio
├── diagrams/ (volumen compartido)
└── README.md
🐳 Dockerfile¶
FROM debian:bullseye
RUN apt-get update && apt-get install -y \
curl git unzip xdg-utils libgtk-3-0 libxss1 libasound2 libnss3 libx11-xcb1 \
&& useradd -ms /bin/bash drawio
# Instalar Draw.io Desktop
RUN curl -L https://github.com/jgraph/drawio-desktop/releases/download/v22.0.3/drawio-x64-22.0.3.deb -o drawio.deb && \
apt install -y ./drawio.deb && rm drawio.deb
COPY scripts/ /usr/local/bin/
COPY entrypoint.sh /entrypoint.sh
COPY templates/ /home/drawio/templates/
RUN chmod +x /entrypoint.sh /usr/local/bin/*.sh
VOLUME ["/home/drawio/diagrams"]
WORKDIR /home/drawio
USER drawio
ENTRYPOINT ["/entrypoint.sh"]
🚀 entrypoint.sh¶
#!/bin/bash
mkdir -p /home/drawio/diagrams
cd /home/drawio/diagrams
exec "$@"
🧰 Scripts útiles (scripts/*.sh
)¶
create_template.sh
– Crea un nuevo archivo basado en una plantilla.export_all.sh
– Exporta todos los.drawio
a PDF y SVG.sync_git.sh
– Hace commit automático y push opcional.
🧪 Ejemplo de uso¶
docker build -t atlantyde/drawio-agent .
docker run --rm -v $PWD/diagrams:/home/drawio/diagrams -it atlantyde/drawio-agent bash
Una vez dentro del contenedor puedes usar:
create_template.sh infraestructura
export_all.sh
sync_git.sh
✅ Integración Continua (CI)¶
Este repositorio utiliza GitHub Actions para automatizar la construcción y verificación del contenedor Docker.
🤝 Colaboración y Flujo de Trabajo¶
Este proyecto sigue el modelo de colaboración GitHub Flow:
1. Crea una rama desde main
(feature/mi-nueva-funcionalidad
)
2. Realiza tus cambios y asegúrate de que pasen los tests.
3. Abre un Pull Request con una buena descripción.
4. Espera revisión y aprobación.
5. Mergea solo después de pasar los checks de CI.
Seguridad¶
- Sigue las buenas prácticas de Dockerfile y configuración.
- Los scripts están revisados para evitar sobreescrituras peligrosas.
- Validación de datos y plantillas asegurada antes del uso.
📌 Templates para Issues y Pull Requests¶
Incluye templates para estandarizar la gestión de cambios y solicitudes.