Using dv (Discourse Vibe) to configure Discourse AI in development

dv - Discourse Vibe - https://github.com/samsaffron/dv is a tool I have been building that lets you easily work on multiple pre-configured Discourse dev containers.

I built it to make it easier to work with AI agents, but as time progresses it is doing more and more things.

Among the things it can do:

  • Checkout a PR in a container
  • Extract and import code into a container
  • Run multiple Discourse Dev instances on multiple ports
  • Run a large amount of AI agents inside containers
  • and lots more

Over the weekend I built a nifty helper to help configure AI inside a running dev container.

To run this on your own machine.

  • Install docker
  • Run the install script in the dv Readme (or go build it)
  • Run dv build (if you have ample memory) or dv pull if you are memory contrained. This will give you the base image.
  • Run dv new some-name (dv ls to list cotainers)
  • Run dv config ai and configure your llm using the tui

  • dv config ai --help to learn about possible API keys we look for

  • after adding the LLM you will have a working fully configured dev environment with Discourse AI

  • Visit localhost:4200/session/admin/become to log in as admin

  • Talk to robot (ai bot in sidebar)

Video demo:

I also posted how to use dv + claude code router + discourse MCP at:

17 Likes

Thanks for this! I understand enough to see that this might be very interesting for me but I’m missing some knowledge blocks to allow me to really understand what this really does and how I can make use of it.

Would you mind giving a little more “non-developer” context? (I’m a tinkerer: never too sure how to describe my skills in that department… not fluent for coding in any way, but “understand” enough basic principles that I was able to struggle through writing a few basic WordPress plugins back in the day, I know some command-line stuff, understand simple coding and server administration… what I’m seeing of AI is making me dream that I will finally get closer to being able to execute some of my projects!)

  • Run multiple Discourse Dev instances on multiple ports

This seems great Sam. Have not yet installed. I have struggled significantly with running multiple Discourse instances using docker on an Ubuntu server. I use Caddy for reverse proxy.

I think my main goal would be to try to mirror a live Discourse instance in DEV to work on custom items before pushing them live. Preferably on a separate domain name.

Does this need to be installed first and then install new discourse instances and configure or could it be installed to work with existing installations and then add more. Not sure if Caddy is the best for DNS management for using this configuration or something else would be the better choice?

dv tries to be an end-to-end tool. It manages the proxy and everything, for example I keep my instances on XYZ.home.arpa.

You would configure multiple containers with dv and use dv catchup to update them to latest which would take care of updating plugins and core.

At the bottom everything is just docker containers, you can wrestle them into any shape you need, including importing data, running custom commands and so on.

This is very much predominantly a “developer/designer first” environment. You could dv build → dv new something → dv ra codex and work your way around, but this is not attempting to bring engineering to the masses, it is trying to create lots of isolated pods of development on your machine as a power user feature for engineers/designers.

2 Likes

Thanks, that’s clear, if it’s for people who want to be able to juggle multiple development environments, then definitely not for me (I’m still wondering if I should set one up :rofl:)

1 Like

It is useful even for 1 environment cause it makes setting stuff up WAY easier

dv build dv new something dv list

but, it is predominantly a technical tool for devs and designers, it is not designed for hobbyists.

3 Likes