%% Autogenerated lemp-stack
graph TD
classDef standard fill:#1e293b,stroke:#38bdf8,stroke-width:1px,color:#e5e7eb;
classDef c-actor fill:#1e293b,stroke:#e5e7eb,stroke-width:1px,stroke-dasharray: 5 5,color:#e5e7eb;
classDef c-compute fill:#422006,stroke:#fb923c,stroke-width:1px,color:#fed7aa;
classDef c-database fill:#064e3b,stroke:#34d399,stroke-width:1px,color:#d1fae5;
classDef c-network fill:#2e1065,stroke:#a855f7,stroke-width:1px,color:#f3e8ff;
classDef c-storage fill:#450a0a,stroke:#f87171,stroke-width:1px,color:#fee2e2;
classDef c-security fill:#450a0a,stroke:#f87171,stroke-width:1px,color:#fee2e2;
classDef c-gateway fill:#2e1065,stroke:#a855f7,stroke-width:1px,color:#f3e8ff;
classDef c-container fill:#422006,stroke:#facc15,stroke-width:1px,color:#fef9c3;
subgraph server ["Web Server (Single Node)"]
direction TB
vm("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Virtual Machine</b><br/><i>compute</i><br/><span style='font-size:0.8em'>Linux (Ubuntu/Debian)</span>")
class vm c-compute
nginx(("<img src="/icons/inframap/edge.png" width="32" height="32" /><br/><b>Nginx</b><br/><i>network</i><br/><span style='font-size:0.8em'>Reverse Proxy & Static</span>"))
class nginx c-network
fpm("<img src="/icons/inframap/container.png" width="32" height="32" /><br/><b>PHP-FPM</b><br/><i>container</i><br/><span style='font-size:0.8em'>FastCGI Process Manager</span>")
class fpm c-compute
app("<img src="/icons/inframap/container.png" width="32" height="32" /><br/><b>Application Code</b><br/><i>container</i><br/><span style='font-size:0.8em'>Laravel / Symfony</span>")
class app c-compute
db[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>MySQL / MariaDB</b><br/><i>database</i><br/><span style='font-size:0.8em'>Relational Database</span>")]
class db c-database
redis[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>Redis</b><br/><i>database</i><br/><span style='font-size:0.8em'>Object Cache (Optional)</span>")]
class redis c-database
end
%% Orphans
users(("<img src="/icons/inframap/user.png" width="32" height="32" /><br/><b>Web Visitors</b><br/><i>actor</i><br/><span style='font-size:0.8em'>Public Traffic</span>"))
class users c-actor
%% Edges
users -.-> nginx
nginx -.-> fpm
fpm -.-> app
app -.-> db
app -.-> redis