Skip to content

alfonsoalvar/dockerAngular

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Angular Dev Environment

Un entorno de desarrollo automatizado y contenedorizado para aplicaciones Angular usando Docker y Docker Compose. Este proyecto está diseñado para facilitar la creación, ejecución y desarrollo de proyectos Angular con soporte integrado para Traefik (proxy inverso) y recarga en caliente (hot-reload).

🚀 Características

  • Generación Automática: Crea automáticamente un nuevo proyecto Angular si no existe en el directorio montado.
  • Versiones Flexibles: Configura fácilmente la versión de Node.js y Angular CLI a través del archivo .env.
  • Integración con Traefik: Configurado por defecto para usar Traefik como proxy inverso y gestionar dominios locales (ej: app.local) con HTTPS.
  • Hot Reloading: Soporte completo para recarga en caliente (ng serve --poll 2000) dentro del contenedor de Docker.

📋 Requisitos Previos

🛠️ Configuración e Instalación

1. Clonar el repositorio

git clone https://github.com/tu-usuario/dockerAngular.git
cd dockerAngular

2. Variables de Entorno

Copia el archivo de ejemplo y ajusta las variables según tus necesidades:

cp .env.sample .env

Explicación de las variables en .env:

  • NODE_VERSION: Versión de Node.js base para el contenedor.
  • ANGULAR_VERSION: Versión global de Angular CLI que se instalará.
  • TYPES_NODE_VERSION: Versión de @types/node a instalar en el proyecto.
  • PROJECT_NAME: Nombre de tu proyecto Angular (la carpeta se creará dentro del directorio proyecto/).
  • PROJECT_PORT: Puerto expuesto para acceder sin Traefik (ej. 4200).
  • CREATE_PROJECT: (true/false) Indica si debe crear el proyecto de Angular automáticamente al iniciar si no existe.
  • FORCE_NPM_INSTALL: (true/false) Fuerza la ejecución de npm install cada vez que se levanta el contenedor.
  • SERVE_OPTIONS: Opciones adicionales para ng serve (por defecto: --disable-host-check).

3. Configuración de Docker Compose

Copia el archivo base de docker-compose.yml:

cp docker-compose.yml.sample docker-compose.yml

Nota sobre Traefik: El archivo docker-compose.yml.sample viene con etiquetas para Traefik preconfiguradas (app.local). Si no utilizas Traefik, puedes eliminar o comentar las líneas dentro de labels: y la red externa proxy.

▶️ Uso

Para levantar el entorno, ejecuta:

docker compose up -d --build

¿Qué ocurre internamente?

  1. Se construye la imagen de Docker instalando la versión de Angular CLI indicada.
  2. Al iniciar el contenedor (entrypoint.sh), si la carpeta de tu proyecto (dentro de ./proyecto/) no tiene un package.json, ejecutará ng new con las configuraciones por defecto para inicializar la aplicación.
  3. Se instalan las dependencias.
  4. Se ejecuta el servidor de desarrollo (ng serve) escuchando cambios.

Accede a tu aplicación en:

  • A través de Traefik: https://app.local (o el host que hayas definido).
  • Acceso directo: http://localhost:4200 (o el puerto configurado en PROJECT_PORT).

Estructura del Proyecto

  • dockerfile: Define la imagen base de Node y la instalación de Angular CLI.
  • docker-compose.yml.sample: Archivo de orquestación de servicios para Docker.
  • entrypoint.sh: Script de inicio que valida la existencia del proyecto, instala dependencias y arranca el servidor.
  • .env.sample: Plantilla para las variables de entorno.
  • proyecto/: Directorio donde se montará el código fuente de tu aplicación Angular.

Licencia

Este proyecto es de código abierto y está disponible bajo la licencia GNU GPLv3. Esta licencia es "copyleft", lo que asegura que cualquier modificación o distribución de este proyecto también deba ser obligatoriamente de código abierto.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages