At a glance
Why rebuild
The first platform ran on Windows with Linux inside it (WSL). It proved people would use a private AI, but it had an extra layer between the models and the GPUs, could not use both GPUs to the full, and depended on one person knowing how it was put together. The rebuild turns it into infrastructure: faster, safer, observable and documented.
What was built
- Platform: Ubuntu Server on the hardware, the NVIDIA driver and container toolkit, and every service in its own Docker container on one private network.
- Model serving: vLLM runs the main chat model across both GPUs, with a vision/OCR model and an embedding model sharing the cards beside it. All three are always on.
- On-demand models: larger and specialised models load only when called. An in-house service, swap-proxy, starts the one that is needed and makes room for it, through a Docker control channel that can only start and stop containers.
- One gateway: Nginx is the single HTTPS front door and LiteLLM gives every client one OpenAI-compatible API, so applications never depend on a particular model server.
- Security: default-deny firewall, key-only SSH with automatic banning, a private VPN for maintenance, single sign-on for the operator screens, internal-only model servers and database, an endpoint protection agent, and web access limited to the company network.
- Monitoring: Prometheus, Grafana and Alertmanager cover the host, GPUs, containers, database, gateway and model servers, with email alerts.
- Operations: an Operations Hub for staff, a Control Tower console to start and stop models without SSH, staged changes with backups of every edit, a two-layer backup, and an updater with one-key rollback.
- RAG store: PostgreSQL with pgvector, ready for document search by meaning.
- Five documents: architecture handover, build and recovery guide, component field guide, console reference, and operations and offboarding.
How a request travels
- A person or an application sends a request over HTTPS.
- Nginx accepts it at the front door; browser users sign in with the company login, applications present an API key.
- LiteLLM picks the model that was asked for.
- An always-on model answers at once from the GPUs; an on-demand model is started first by swap-proxy.
- The answer streams back the same way, and every step shows up on the dashboards.
Why it matters
The same hardware now does more work, faster, and it is no longer a one-person machine. It can be audited, monitored, updated, handed over and rebuilt from documents. Everything that came after, from the agent consoles to the SAP and Power BI work, runs on this foundation.