Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 2.95 KB

File metadata and controls

85 lines (63 loc) · 2.95 KB

Desarrollo de SmartPot con Docker

El entorno de desarrollo compila cada servicio desde los repositorios clonados en tu máquina, así cualquier cambio local se prueba con la plataforma completa: base de datos, caché, correo, broker MQTT, IA, API, PWA y cultivos simulados.


Requisitos Previos

SmartPot/
├── .github/            # este repositorio
├── SmartPot-AI/
├── SmartPot-API/
├── SmartPot-Broker/
├── SmartPot-Cache/
├── SmartPot-DataGenerator/
├── SmartPot-DB/
├── SmartPot-Mail/
└── SmartPot-Web/
mkdir SmartPot && cd SmartPot
for repo in .github SmartPot-AI SmartPot-API SmartPot-Broker SmartPot-Cache SmartPot-DataGenerator SmartPot-DB SmartPot-Mail SmartPot-Web; do
  git clone https://github.com/SmartPotTech/$repo.git
done

Ejecución

cd .github/docker/dev
cp .env.example .env
docker compose up -d --build --wait
Servicio URL local
PWA http://localhost:5173
API y documentación http://localhost:8091 · http://localhost:8091/docs
IA y documentación http://localhost:8000/docs (token en SMARTPOT_AI_TOKEN)
Bandeja de correo http://localhost:8025 (admin / MAILPIT_UI_PASSWORD)
MQTT localhost:1883 · WebSocket ws://localhost:9001
MongoDB mongodb://smartpot:<SMARTPOT_DB_PASSWORD>@localhost:27017/smartpot?authSource=smartpot
Redis localhost:6379 con REDIS_PASSWORD

La base arranca con datos demo: demo@smartpot.app / SmartPot2026, con una lechuga en tubos NFT y un tomate en maceta, cultivos reales que publica el simulador (perfil simulator).

Para recompilar un solo servicio después de un cambio:

docker compose up -d --build api-smartpot

Para detener el entorno (-v borra también los datos):

docker compose down

TLS del Broker en Local

El listener 8883 se activa solo si hay certificados en ./certs:

sh ../../../SmartPot-Broker/scripts/generate-certs.sh certs localhost
docker compose restart broker-smartpot

Variables

Todas están en .env.example con valores de desarrollo. SMARTPOT_REPOS cambia la carpeta donde se buscan los repositorios y los SMARTPOT_*_PORT permiten mover los puertos si ya están ocupados.