Despliegue¶
Infraestructura de Servidores¶
| Servidor | IP | Puerto | Usuario | Proposito |
|---|---|---|---|---|
| PRD | 46.225.189.32 | 2222 | mduops | Produccion |
| DEV | 159.69.216.125 | 22 | root | Desarrollo + correo |
Ambos alojados en Hetzner. DNS gestionado via Hetzner DNS.
Pipelines CI/CD¶
3dplim (Next.js)¶
Workflow: GitHub Actions en pLim-Inc/3dplim
mdu-api (Express)¶
Workflow: deploy-mdu-api.yml en repo 3dplim (usa DEPLOY_SSH_KEY de 3dplim)
Note
El repo mdu-api usa el secreto de organizacion HETZNER_SSH_PRIVATE_KEY que NO tiene acceso a PRD. Los despliegues se lanzan desde el repo 3dplim.
miniature-forge (Vite/React)¶
Despliegue: SCP archivos estaticos a /opt/miniature-forge/
stl-pipeline (FastAPI)¶
Despliegue: SSH manual + Docker
Docker Compose¶
Archivo compose principal: /opt/3dplim/docker-compose.yml
Servicios Core¶
| Servicio | Imagen | Puerto |
|---|---|---|
app |
3dplim | 3000 |
postgres |
pgvector/pgvector:pg16 | 5432 |
redis |
redis:alpine | 6379 |
minio |
minio/minio | 9000/9001 |
blender-worker |
personalizado | - |
meilisearch |
meilisearch | 7700 |
Contenedores Independientes¶
| Contenedor | Archivo Compose | Puerto |
|---|---|---|
mdu-stl-pipeline |
/opt/stl-pipeline/docker-compose.yml |
8090 |
mdu-langflow |
/opt/langflow/docker-compose.yml |
7860 |
mdu-base-builder |
/opt/base-builder/docker-compose.yml |
- |
mdu-trimesh-mcp |
/opt/trimesh-mcp/docker-compose.yml |
- |
Servicios Systemd¶
| Servicio | Descripcion | Comando |
|---|---|---|
mdu-api.service |
Backend Express | node app.js (puerto 3001) |
ollama.service |
LLM local | ollama serve (puerto 11434) |
# Gestionar servicios
sudo systemctl restart mdu-api
sudo systemctl status mdu-api
sudo journalctl -u mdu-api -f
Configuracion Nginx¶
Virtual Hosts (PRD)¶
| Config | Dominio | Backend |
|---|---|---|
minidreamuniverse.conf |
minidreamuniverse.com | Next.js (3000) + mdu-api (3001) |
app.minidreamuniverse.conf |
app.minidreamuniverse.com | Estatico /opt/miniature-forge/ |
admin.minidreamuniverse.conf |
admin.minidreamuniverse.com | Estatico /opt/agenthub-mdu/dist/ |
docs.minidreamuniverse.conf |
docs.minidreamuniverse.com | Estatico /opt/mdu-docs/site/ |
Certificados SSL¶
Todos los certificados gestionados por Certbot (Let's Encrypt):
| Dominio | Ruta | Auto-Renovacion |
|---|---|---|
| minidreamuniverse.com + www | /etc/letsencrypt/live/minidreamuniverse.com/ |
Si |
| app.minidreamuniverse.com | /etc/letsencrypt/live/app.minidreamuniverse.com/ |
Si |
| admin.minidreamuniverse.com | /etc/letsencrypt/live/admin.minidreamuniverse.com/ |
Si |
| early-adopt.minidreamuniverse.com | /etc/letsencrypt/live/early-adopt.minidreamuniverse.com/ |
Si |
| docs.minidreamuniverse.com | /etc/letsencrypt/live/docs.minidreamuniverse.com/ |
Si |
Mantenimiento¶
Limpieza Semanal¶
Cron job se ejecuta cada martes a las 23:50:
Operaciones Comunes¶
# Reiniciar mdu-api
sudo systemctl restart mdu-api
# Reiniciar pipeline STL
cd /opt/stl-pipeline && docker compose restart
# Reiniciar Langflow
cd /opt/langflow && docker compose restart
# Ver logs mdu-api
sudo journalctl -u mdu-api -f
# Ver logs contenedor Docker
docker logs -f mdu-stl-pipeline --tail 100
# Reconstruir docs
cd /opt/mdu-docs && source venv/bin/activate && mkdocs build --clean
Email (SMTP Resend)¶
| Configuracion | Valor |
|---|---|
| Host | smtp.resend.com |
| Puerto | 587 |
| Remitente | noreply@minidreamuniverse.com |
| Copia admin | admin@minidreamuniverse.com |
SPF, DKIM y DMARC configurados para minidreamuniverse.com.