docker compose up -d builds all service images and starts every container in the correct order, connected over a shared bridge network called smartlogix-net.
Prerequisites
- Docker Desktop (macOS / Windows) or Docker Engine + the Docker Compose plugin (Linux)
- Docker Compose v2 or later (
docker compose version) - At least 4 GB of RAM available to Docker
Deployment steps
Set the JWT secret
The API gateway and auth-service share a single Then update
JWT_SECRET to sign and verify tokens. Both services must receive the same Base64-encoded value; a mismatch will cause every authenticated request to fail with 401.Generate a secret and export it before starting the stack:docker-compose.yml to reference the variable, or pass it inline on the next step.If you are running locally for the first time and only want to validate the setup, you can skip this step. The placeholder secret already present in
docker-compose.yml will be used automatically.Build and start all services
Wait for services to become ready
The Spring Boot services take 20–40 seconds to start after the container is up. Poll the gateway health endpoint until it returns Press
{"status":"UP"}:Ctrl+C once the status is UP.Verify all services
Hit the health or root endpoint for each service to confirm everything is running:Open the frontend in your browser at http://localhost:5173.
Service access
| Service | Host port | URL |
|---|---|---|
| API Gateway | 8080 | http://localhost:8080 |
| Auth Service | 8081 | http://localhost:8081 |
| Inventory Service | 8082 | http://localhost:8082 |
| Orders Service | 8083 | http://localhost:8083 |
| Shipping Service | 8084 | http://localhost:8084 |
| Notification Service | 8085 | http://localhost:8085 |
| Frontend (nginx) | 5173 | http://localhost:5173 |
smartlogix-net. Only the ports listed above are exposed to your host machine.
Viewing logs
Stream logs for a specific service:Stopping the stack
Rebuilding after code changes
If you modify source code and want to pick up the changes:Data persistence
Four named Docker volumes hold PostgreSQL data so it survives container restarts anddocker compose down:
| Volume | Database service | Database name |
|---|---|---|
auth-data | postgres-auth | auth_db |
inventario-data | postgres-inventario | inventario_db |
pedidos-data | postgres-pedidos | pedidos_db |
envios-data | postgres-envios | envios_db |