Conversation
|
lily-de
left a comment
There was a problem hiding this comment.
thanks for the documentation! 🙏
|
Thanks for the contribution! Have you tried run goose with custom extensions? |
| rm -rf /var/lib/apt/lists/* | ||
|
|
||
| # Install common development tools | ||
| RUN apt-get update && apt-get install -y \ |
There was a problem hiding this comment.
do we want to install uv as well?
There was a problem hiding this comment.
Certainly! I included a line to install uv and verified within the Docker container that it is properly installed.
| # Preserve git author info | ||
| - GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME:-Goose User} | ||
| - GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL:[email protected]} | ||
| # Set GOOGLE_API_KEY to your own API key |
There was a problem hiding this comment.
should we ignore the env variable here? I think it would be better to set it via goose configure
There was a problem hiding this comment.
Yeah, there are some nuances here. Docker operates in a headless environment, and it lacks certain built-in packages for user display. When we attempt to set and save the key into the keyring using goose configure, we will encounter this error:
Error Failed to access secure storage: Platform secure storage failure: DBus error: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Please check your system's secure storage and run 'goose configure' again.
If your system is unable to use secure storage, please try setting secret key(s) via environment variables.
In the Dockerfile, I've included a script to try installing DBus, but it hasn't worked yet. I'll continue monitoring this issue, and if I find a solution for storing this in the keyring, I'll update the code and instructions accordingly!
| - SSH_AUTH_SOCK | ||
| stdin_open: true | ||
| tty: true | ||
| entrypoint: ["/bin/bash"] |
There was a problem hiding this comment.
does this override the goose-wrapper entrypoint and is that intentional?
There was a problem hiding this comment.
Good catch! The goose-wrapper entrypoint isn't being utilized. I've removed it and revised some of the wording.
docker-compose.yml
Outdated
| # Mount git config (optional) | ||
| - ~/.gitconfig:/home/goose/.gitconfig:ro | ||
| # Mount SSH keys (optional) | ||
| - ~/.ssh:/home/goose/.ssh:ro |
There was a problem hiding this comment.
how are these defined as optional? wouldn't this always mount the directories via docker compose?
There was a problem hiding this comment.
Yes, my goal was to inform users that the volume mounting configurations are adjustable - they can decide whether to comment out those lines. That seems to be confusing though. I removed the optional wording, as users can simply read the code and remove those lines if necessary.
michaelneale
left a comment
There was a problem hiding this comment.
the dockerfile and compose should be in docs dir, not root, as they are for illustration purposes is that right?
Sure, I moved them to the docs folder and updated the instructions for how to compile them. |
Not yet. My goal was to create a basic Docker template file to help users understand how to build Docker images from it. Once they're connected to the container, they have the freedom to add additional dependencies or custom extensions as they wish. |
|
@kalvinnchau @michaelneale @yingjiehe-xyz |
|
@yingjiehe-xyz @michaelneale Awesome, thanks for the review! |
* main: feat: enable smart approve for user by default (#1599) ui: fix modal state (#1598) ui: setting configuration (#1597) fix: merge error logging in goose bench (#1545) feat: add additional goosebench evals (#1571) chore: update types and imports (#1594) Retain session through view changes (#1580) docs: Add steps for desktop tutorial (#1590) remove env vars from bottom menu model setting (#1584) Fix Goosehints modal UI (#1581) docs: typo fix (#1593) feat: update config endpoints for use with providers (#1563) fix: update anthropic provider headers (#1592) feat: Build Goose in a Docker Container (#1551) docs: voyp blog post (#1588)
|
I'm working on integrating Goose with a multi-Docker Compose setup, and have been puzzled by the line below.
Is it a typo and why can't I find any info at all for either |
|
Yup, this satisfies the thrust of my request. Tysm |
Description
This update partially addresses issue #1072, where users requested the ability to build and run Goose in a Docker container. Since users may have different use cases for using Docker, I've added a discussion thread to explore additional use cases and allow users to contribute their own. This update also includes a brief guide on how to build Goose within a Docker container.
Testing
I tested this on my local laptop.
When running the Goose CLI in the docker container, you can observe the following:

On the first run of goose config, you select the API key settings:

On the second run of goose config, you choose the extension settings (I selected the developer tool).

Running goose session will then initiate a Goose session with developer tool capabilities.
