Domina VPS para Frontend - Parte 3

Guía para migrar VPS a Docker, CI/CD y balanceo con NGINX, usando Docker Compose, seguridad y GitHub Actions para despliegues reproducibles y escalables.

12 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

En esta tercera parte de Domina VPS para Frontend cerramos el ciclo: vamos a mejorar la experiencia del desarrollador y la estabilidad de nuestras aplicaciones migrando de procesos manuales a contenedores Docker, automatizando despliegues con CI CD y añadiendo balanceo de carga. Si gestionas aplicaciones a medida o software a medida esta guía te permitirá escalar y asegurar tus proyectos de forma profesional.

Firewall básico y seguridad inicial. Nunca omitas este paso o abrirás la puerta a atacantes. En Ubuntu instala UFW con sudo apt update y sudo apt install ufw. Activa el firewall con sudo ufw enable y permite solo los puertos necesarios sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp. Revisa el estado con sudo ufw status y añade puertos extra si tu backend los necesita por ejemplo sudo ufw allow 3002/tcp. La ciberseguridad es clave cuando trabajas en VPS y si necesitas auditoría o pentesting puedes consultar nuestros servicios de seguridad en ciberseguridad y pentesting.

Instalación de Docker y Docker Compose. Docker garantiza que la app se ejecute igual en local y en servidor. En Ubuntu añade el repositorio oficial, instala docker engine y el plugin docker compose. Verifica con docker compose version. Con Docker crearás una imagen a partir de un Dockerfile y desde esa imagen lanzarás contenedores aislados y reproducibles.

Ejemplo de Dockerfile para una app NextJS. Sitúate en el directorio de tu app por ejemplo cd /var/www/frontend y crea un archivo Dockerfile con estas instrucciones elementales FROM node:22 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build EXPOSE 3000 CMD [npm start] Este Dockerfile define el entorno Node, instala dependencias, construye la app y expone el puerto 3000 para producción.

Construir imagen y ejecutar contenedor. Desde el directorio con el Dockerfile ejecuta sudo docker build -t myfrontend:latest . Para ejecutar sudo docker run -d -p 3000:3000 --name myfrontend_container myfrontend:latest. Lista contenedores con sudo docker ps, para detener sudo docker stop myfrontend_container y para eliminar sudo docker rm myfrontend_container. Si quieres liberar espacio usa sudo docker system prune -af --volumes.

Simplificar con Docker Compose. Crea un archivo docker-compose.yml en la raíz de tu proyecto con servicios definidos para frontend y otros componentes. Ejemplo mínimo services: frontend: build: context: . dockerfile: Dockerfile container_name: frontend_app ports: - 3000:3000 restart: always Con docker compose up -d levantas todo en segundo plano y con docker compose down lo paras. Docker Compose facilita desplegar múltiples servicios como bases de datos, colas o microservicios sin escribir comandos docker run largos.

CI CD con GitHub Actions para despliegue automático. Para evitar entrar al VPS cada vez que haces un push automatiza el despliegue. Flujo general: genera un par de claves SSH en tu máquina local, agrega la clave pública al archivo authorized_keys del usuario del VPS y añade en tu repositorio en GitHub los secrets VPS_SSH_KEY con la clave privada completa, VPS_HOST con la IP y VPS_USER con el usuario. Luego crea .github/workflows/deploy.yml que, al pushear a main, haga checkout, se conecte por SSH y ejecute comandos en el servidor como git fetch origin main git reset --hard origin/main docker compose down --remove-orphans docker system prune -af --volumes docker compose build --no-cache docker compose up -d

El truco es que la acción de GitHub se ejecuta en runners temporales que conectan por SSH y ejecutan exactamente las tareas necesarias para actualizar contenedores sin intervención humana. Esto mejora enormemente la experiencia de desarrollo y despliegue y encaja con prácticas DevOps modernas.

Balanceo de carga simple con NGINX y múltiples instancias Docker. Si tu web necesita más capacidad levanta varias instancias en Docker Compose por ejemplo services: frontend: build: context: . dockerfile: Dockerfile ports: - 3000:3000 restart: always frontend2: build: context: . dockerfile: Dockerfile ports: - 3001:3000 restart: always Luego en la configuración de NGINX crea un upstream nextjsfrontend { server localhost:3000; server localhost:3001; } y en el bloque de site usa location / { proxy_pass https://nextjsfrontend; } Reinicia nginx y tendrás un balanceador básico que reparte carga entre contenedores. Esta técnica es ideal cuando escalas aplicaciones a medida y servicios cloud.

Buenas prácticas adicionales. Mantén variables sensibles en secretos de GitHub en lugar de en el código, usa docker compose con restart always para resiliencia, aplica limpieza periódica con docker system prune y monitoriza logs con docker logs myfrontend_container. Para entornos críticos estudia orquestadores como Kubernetes y soluciones de observabilidad.

Sobre Q2BSTUDIO. En Q2BSTUDIO desarrollamos software a medida y aplicaciones a medida integrando inteligencia artificial y ciberseguridad desde la fase de diseño. Si buscas migrar a infraestructuras seguras y escalables o aprovechar servicios cloud AWS y Azure consultanos en nuestros servicios cloud AWS y Azure. También ofrecemos proyectos de inteligencia de negocio y power bi para transformar datos en decisiones y servicios de ia para empresas y agentes IA que automatizan procesos y mejoran eficiencia.

Conclusión. Pasar de VPS manual a una arquitectura basada en Docker, CI CD y balanceo con NGINX mejora la estabilidad, la experiencia del desarrollador y la capacidad de escalar. Si necesitas apoyo para implantar estas prácticas, optimizar despliegues o diseñar software a medida, el equipo de Q2BSTUDIO puede acompañarte en todo el ciclo de desarrollo y operaciones.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat