WMS Agile
Docs Tech Sheet Glossario Architettura Flusso Logistico

Architettura Sistema

10 microservizi Docker, 7 database MySQL isolati, API Gateway Nginx, infrastruttura Redis + RabbitMQ

Network Topology
Architettura completa: client browser → Apache reverse proxy (HTTPS) → Nginx gateway → 10 microservizi su rete Docker interna (wms-network)
BROWSER / PWA HTTPS wms.agile.software APACHE2 + Let's Encrypt SSL/TLS 1.3 → 127.0.0.1:3080 NGINX GATEWAY :3080 — SPA + Reverse Proxy + SSE passthrough wms-network (Docker bridge) auth-ms :3081 JWT, Utenti, Ruoli inventory-ms :3082 SKU, Stock, Lotti warehouse-ms :3083 Zone, Bin, Missioni inbound-ms :3084 ASN, QC, Put-away outbound-ms :3085 Wave, Pick, Pack report-ms :3086 KPI, Analytics ai-ms :3087 Claude, RAG, SSE calendar-ms :3088 — Turni, Festività wcs-ms :3089 — AGV, MQTT network-ms :3090 — Filiera, EDI MySQL 8.0 :3326 — 7 database InnoDB, utf8mb4, 512MB Redis :6399 — Cache Session, Queue cache RabbitMQ :5692 — Events EventBus async HETZNER CLOUD — 135.181.149.254 — Ubuntu 22.04 — Docker 24.x deploy: infrastructure/deploy-hetzner.sh — COMPOSE_PROJECT_NAME=wms-agile
Diagramma 1 — Network Topology & Container Layout
Gateway / Core
Auth / Inbound
Warehouse
Outbound / MQ
AI / RAG
Servizi accessori
Database / Storage
Schema Database — 7 DB Isolati
Ogni microservizio ha il proprio database MySQL. Nessuna foreign key cross-database. Isolamento completo per backup, scaling e sicurezza multi-tenant.
MySQL 8.0 — InnoDB — utf8mb4_unicode_ci — tenant_id su ogni tabella wms_auth_db tenants users sessions api_keys audit_log → auth-ms :3081 wms_inventory_db products stock_levels lots stock_movements cycle_counts packaging_uoms → inventory-ms :3082 wms_warehouse_db warehouses zones bins missions / mission_tasks equipment / operators alerts / non_conformities delivery_runs / parcels → warehouse-ms :3083 wms_inbound_db inbound_orders inbound_order_items quality_checks putaway_tasks → inbound-ms :3084 wms_outbound_db outbound_orders order_items waves picking_tasks packing_tasks → outbound-ms :3085 wms_report_db kpi_snapshots reports report_data → report-ms :3086 wms_agile_db notifications network_partners billing_configs → shared / meta DB Qdrant (Vector DB) collection per tenant Voyage AI embeddings 512d → ai-ms RAG search Regole Database • tenant_id obbligatorio su OGNI tabella • Soft delete: deleted_at TIMESTAMP NULL • SEMPRE PDO prepared statements • Nessuna FK cross-database • Accesso: wms_user (NO root) • Backup indipendente per DB mysql -P 3326 -u wms_user -p wms_*_db
Diagramma 2 — Schema Database & Persistenza