Configuración Inicial
Pasos para preparar tu proyecto Astro con los archivos necesarios para Docker.
1. Clonar el Proyecto
Section titled “1. Clonar el Proyecto”# Clonar repositorio en /root (donde está el docker-compose.yml)cd /rootgit clone git@github.com:tu-usuario/tu-proyecto-astro.gitcd tu-proyecto-astroNota: Si es la primera vez clonando desde GitHub, necesitas configurar SSH para GitHub.
2. Crear Dockerfile
Section titled “2. Crear Dockerfile”# Crear Dockerfile en la raíz del proyectovim DockerfileContenido del Dockerfile:
# Etapa 1: BuildFROM node:20-alpine AS builder
WORKDIR /app
# Copiar archivos de dependenciasCOPY package*.json ./
# Instalar dependenciasRUN npm ci
# Copiar código fuenteCOPY . .
# Construir proyectoRUN npm run build
# Etapa 2: ProducciónFROM nginx:alpine
# Copiar archivos construidos desde etapa anteriorCOPY --from=builder /app/dist /usr/share/nginx/html
# Copiar configuración personalizada de Nginx (opcional)COPY nginx.conf /etc/nginx/conf.d/default.conf
# Exponer puertoEXPOSE 80
# Comando por defectoCMD ["nginx", "-g", "daemon off;"]3. Crear Configuración Nginx
Section titled “3. Crear Configuración Nginx”# Crear nginx.confvim nginx.confContenido:
server { listen 80; server_name localhost;
root /usr/share/nginx/html; index index.html;
# Soporte para SPA/routing location / { try_files $uri $uri/ /index.html; }
# Compresión gzip gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# Cache para assets location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2)$ { expires 1y; add_header Cache-Control "public, immutable"; }}4. Crear .dockerignore
Section titled “4. Crear .dockerignore”# Crear .dockerignorevim .dockerignoreContenido:
node_modules.git.github.vscodedist.env.env.local*.lognpm-debug.log*.DS_Store5. Verificar Docker
Section titled “5. Verificar Docker”# Verificar que Docker está instaladodocker --versiondocker compose version
# Ver contenedores existentes (deberías ver traefik y n8n)docker ps
# Ver el docker-compose.yml existentecat /root/docker-compose.ymlSiguiente Paso
Section titled “Siguiente Paso”Continúa con Configuración de Traefik para integrar tu proyecto con el reverse proxy.