Skip to content
Local AIoffline · self-hosted

Workshop

11 modules · about 4 hours · every command says what it does, why, and what you should see.

You need Git and Docker with Compose v2.

Terminal
git clone https://github.com/jars-demo/local-ai-demo.git
cd local-ai-demo
cp .env.example .env
./scripts/pull-model.sh
docker compose up -d --build --wait

Part 1 · Core: run and understand the stack

For everyone. Containers, ports, volumes, HTTP, SQL, Docker DNS and a local model.

  1. 01Architecture and PrerequisitesThe four services, what "offline" really means, and getting your machine ready20m
  2. 02Images, Containers, Ports and VolumesStart the stack and see what each Docker building block does25m
  3. 03Frontend to Backend over HTTPFollow one click from the browser through nginx to FastAPI and back20m
  4. 04Backend to PostgreSQLConnection pools, migrations, parameterised SQL and full-text retrieval25m
  5. 05Docker DNS and Service NetworkingWhy service names work, why localhost does not, and the internal network20m
  6. 06Running and Querying the Local LLMTalk to the model directly, then through the app; retrieval before inference25m
  7. 07The Inference API and Model StorageOllama endpoints, timings, manifests, blobs and checksums on disk20m
  8. 08Multi-stage Builds and Image OptimizationFrom a 5.6 GB Ollama image to 142 MB, and why each stage exists25m

Part 2 · Advanced: ship it to an offline server

For operators. Bundle every artifact, deploy without internet, prove it, update it.

  1. 09Packaging a Portable Offline BundleImages, model, manifest and SHA-256 checksums in one reproducible archive25m
  2. 10Deploying on Bare-metal Linux without InternetVerify, load, restore, start and smoke test on a disconnected server30m
  3. 11Acceptance Testing, Troubleshooting and Offline UpdatesProve the offline claim, diagnose failures, update and roll back without internet25m