The dashboard
One page that starts your apps, prices them in memory, and tells you what they can reach
1Overview
A single page at http://localhost:8080 that starts and stops your apps, prices each one in memory, names the AI behind it, and opens it.
localhost:8080 is the front door of the bench. It starts and stops each app, shows what each one costs you in memory right now, says which AI every app is answering with, and — the part worth reading twice — states exactly what the apps can and cannot see on your disk. This chapter walks the page top to bottom, including the gear page behind each app, which is where the address, the compose file and Remove live. → `bench-app-store` is the shelf at the bottom of the same page; `bench-provider` is the one switch in the middle of it.
The dashboard is deliberately not a control panel for Docker. It shows the four things a student actually needs — is it running, what does it cost, which AI answers it, and what can it see — and hides everything else behind a gear icon. The memory figures are live and they matter: on an 8 GB laptop the difference between five running apps and two is the difference between a responsive machine and a crawling one. Stopping an app on this page is free and reversible; its data lives in a Docker volume that stays exactly where it is.
Every session. It is the first thing the desktop icon opens and the last place you go to shut things down.
Machine stats down the left; "Which AI answers" and "The shared drive" in Basic settings; the installed-apps grid with a gear per app; the app store at the bottom.
Stop frees memory and keeps data. Remove replaces the container and still keeps data. Deleting the app's Docker volume is the only thing that loses work, and it is never one click away.
2Lessons 4
2.1 Read the front door
The dashboard is a small page the bench serves from your own machine. It talks to Docker locally; nothing about it is on the internet, which is why it needs no login.
Know what every region of the page is telling you before you click anything.
- Down the left: your machine. Memory, processor and disk, updated live. This is the budget everything else spends.
- Which AI answers. One line naming the provider and model every app currently uses. Change it here and no app is reconfigured — they all ask the same gateway.
- The shared drive. A table of what the apps can reach: the shared folder read and write, your documents and desktop no access, system files no access. That table is the honest answer to "what did I just install".
- Advanced settings is collapsed on purpose: the agent's own AI, the gateway, and updates live there, and none of it is needed on day one.
- You'll see The page loads instantly and every number on it is about your own computer.
- Takeaway The dashboard answers "is it running, what does it cost, which AI, what can it see" — and deliberately nothing else.
2.2 Start, stop, and pay attention to memory
Do this first Read the front door
Run only what you need, and know what each app costs while it runs.
- Each tile is one app. Its name, one sentence about it, the model it answers with, its memory and CPU right now, and Open / Stop.
- Stop is not a delete. The container goes away and the named volume with your documents, workflows or settings stays. Starting it again is seconds.
- The model is the expensive tenant. It idles small and grows while it answers. If you are working against a cloud provider that afternoon, stop it.
- Every tile links to its chapter. "Chapter: n8n →" is the course lesson for that app — the shelf and the curriculum are deliberately the same list.
- You'll see The total at the top of "Installed apps" drops the moment you stop something.
- Takeaway Stopping is the cheapest fix on the bench, and it never costs you work.
- Check You stop AnythingLLM and start it again tomorrow. Where did the documents you had uploaded go?
2.3 The gear page: address, containers, compose file, Remove
The gear icon on a tile opens everything the dashboard knows about that app — including the path to the compose file that defines it, so the one-click install stays something you can read.
Do this first Start, stop, and pay attention to memory
Find an app's real address and the file behind it, and know what Remove does.
- Address. The URL you would type by hand — for n8n, http://localhost:5678/.
- Its AI. Which model this app answers with. Usually the bench-wide one; Hermes can be pointed somewhere of its own.
- Running as / its folder. The container name, and
stacks/— the file that describes the app. Open it. It is about fifteen lines and it is the whole truth about what was installed./compose.yaml - Remove it. Stops and deletes the container. The volume stays, and so does the folder in stacks/, so installing it again lands you exactly where you were.
- You'll see A small panel per app, and a compose path you can open in any editor.
- Takeaway Every app on the bench is a file you can read. That is what makes a one-click install teachable instead of magic.
2.4 Ask the course, on your own machine
The bench can download the course — every lesson and recipe — and answer questions about it locally, naming the lesson it used. It is the same retrieval idea AnythingLLM teaches, already set up.
Do this first Read the front door
Get an answer to a course question without leaving the bench, and see it cite the lesson.
How do I point every app on the bench at a different model?in "Ask the course" on the dashboard. Press Sync first if it says there is no course on this machine yet.
- Sync once. The button top right downloads the published course knowledge. Until then the page says "no course on this machine yet", which is a state and not an error.
- Ask in your own words. The answer comes from the model you chose, grounded in the lessons — and it names the lesson, so you can go and read the real thing.
- It is offline afterwards. With the bench's own model selected, the question, the lessons and the answer never leave your machine.
- You'll see An answer with the lesson it leaned on named underneath it.
- Takeaway The course itself is the first document you do retrieval over — which is also the fastest way to feel what RAG is.
💬 Discuss this chapter
Ask, share, or report — over on the Heidelberg AI community forum.