Aider with docker

Aider is available as 2 docker images:

  • paulgauthier/aider installs the aider core, a smaller image that’s good to get started quickly.
  • paulgauthier/aider-full installs aider will all the optional extras.

The full image has support for features like interactive help, the browser GUI and support for using Playwright to scrape web pages. The core image can still use these features, but they will need to be installed the first time you access them. Since containers are ephemeral, the extras will need to be reinstalled the next time you launch the aider core container.

Aider core

docker pull paulgauthier/aider
docker run -it --user $(id -u):$(id -g) --volume $(pwd):/app paulgauthier/aider --openai-api-key $OPENAI_API_KEY [...other aider args...]

Full version

docker pull paulgauthier/aider-full
docker run -it --user $(id -u):$(id -g) --volume $(pwd):/app paulgauthier/aider-full --openai-api-key $OPENAI_API_KEY [...other aider args...]

How to use it

You should run the above commands from the root of your git repo, since the --volume arg maps your current directory into the docker container. Given that, you need to be in the root of your git repo for aider to be able to see the repo and all its files.

You should be sure your that git repo config contains your user name and email, since the docker container won’t have your global git config. Run these commands while in your git repo, before you do the docker run command:

git config user.email "you@example.com"
git config user.name "Your Name"

Limitations

  • When you use the in-chat /run command, it will be running shell commands inside the docker container. So those commands won’t be running in your local environment, which may make it tricky to /run tests, etc for your project.
  • The /voice command won’t work unless you can figure out how to give the docker container access to your host audio device. The container has libportaudio2 installed, so it should work if you can do that.