{"id":30000633,"url":"https://github.com/sethpollack/dockerbox","last_synced_at":"2025-09-10T12:33:02.790Z","repository":{"id":88539223,"uuid":"131200997","full_name":"sethpollack/dockerbox","owner":"sethpollack","description":"docker-run configuration manager","archived":false,"fork":false,"pushed_at":"2024-08-28T22:05:08.000Z","size":118,"stargazers_count":20,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-28T23:23:19.299Z","etag":null,"topics":["applets","configuration-management","docker","dockerbox","registry"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sethpollack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-26T19:23:47.000Z","updated_at":"2024-08-28T22:03:54.000Z","dependencies_parsed_at":"2024-08-28T23:23:34.763Z","dependency_job_id":"a48e730f-b17a-44c8-a897-0c21e061f7c3","html_url":"https://github.com/sethpollack/dockerbox","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/sethpollack/dockerbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sethpollack%2Fdockerbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sethpollack%2Fdockerbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sethpollack%2Fdockerbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sethpollack%2Fdockerbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sethpollack","download_url":"https://codeload.github.com/sethpollack/dockerbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sethpollack%2Fdockerbox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268837799,"owners_count":24314983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["applets","configuration-management","docker","dockerbox","registry"],"created_at":"2025-08-05T05:11:55.571Z","updated_at":"2025-08-05T05:12:09.326Z","avatar_url":"https://github.com/sethpollack.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# DockerBox\n\n`dockerbox` is a tool that allows you to run command line tools using Docker instead of native binaries. It works by symlinking commands to the Dockerbox binary, which then looks up the `docker run` configuration and executes the `docker run command` for you.\n\n\nDockerbox uses configuration files written in [Cuelang](https://cuelang.org/) for specifying the Docker run configuration.\n\nThe root schema for the configuration files contains the following fields:\n\n`environ: [string]: string` - This field is automatically populated with the host's environment variables at runtime.\n\n`applets: [string]: #Applet` - This field is used to configure the applets.\n\n`networks: [string]: #Network` - This field is used to configure the networks.\n\n`volumes: [string]: #Volume` - This field is used to configure the volumes.\n\n`ignore:  [string]: #Applet` - This field is used to instruct dockerbox to skip certain applets when running the dockerbox install command.\n\n`dockerbox` will look for configuration files by walking the path of your current directory and unifying all of the files.\n\n\u003e File names are arbitrary, but must end in `.dbx.cue`.\n\n\n## Install\n\n```\n$ go get github.com/sethpollack/dockerbox\n```\n\n\u003e By default dockerbox binaries are installed at `$HOME/.dockerbox/bin/`. To override you can set the following environment variable `DOCKERBOX_INSTALL_DIR`.\n\nThen add `dockerbox` to your path:\n\n```\n$ export PATH=$DOCKERBOX_INSTALL_DIR:$PATH\n```\n\nTo prevent the installation of an applet, add it to the ignore list in any of your configuration files.\n\n```\n$ cat \u003c\u003c'EOF' \u003e$HOME/.ignore.dbx.cue\nignore: {\n\tkubectl: {}\n}\nEOF\n```\n\nInstall applets with `dockerbox install`.\n\n```\n$ dockerbox install\n$ which kubectl\n/Users/seth/.dockerbox/bin/kubectl\n```\n\n`dockerbox` installs applets by creating a symlink from `$HOME/.dockerbox/bin/\u003capplet name\u003e` to the dockerbox binary.\n\n```\n$ ls -l $HOME/.dockerbox/bin\nkubectl -\u003e /Users/seth/go/bin/dockerbox\nterraform -\u003e /Users/seth/go/bin/dockerbox\n```\n\nFull schema can be found [here](cue/schema.cue).\n\nYou can also override an applets settings at runtime with flags followed by a separator. The default separator is `--` and can be configured with the `DOCKERBOX_SEPARATOR` environment variable.\n\nFor example:\n\n```\napplets: {\n  kubectl: {\n\t  name: \"kubectl\"\n\t  image: \"kubectl\"\n  }\n}\n```\n\nIf the user wants to run `kubectl proxy` they can either add the ports section to the config, or they can just pass an additional runtime flag which will be passed along to the docker run command.\n\n```\nkubectl -p 8080:8080 -- proxy --port=8080\n```\n\nThe full flag spec can be found below:\n\n```\n      --after-hook strings    Run container after\n      --all-envs              Pass all envars to container\n      --before-hook strings   Run container before\n      --command strings       Command to run in container\n      --dependency strings    Run container before\n  -d, --detach                Run container in background and print container ID\n      --dns strings           Set custom DNS servers\n      --dns-option strings    Set DNS options\n      --dns-search strings    Set custom DNS search domains\n      --entrypoint string     Overwrite the default ENTRYPOINT of the image\n      --env-file strings      Read in a file of environment variables\n      --env-filter string     Filter env vars passed to container from --all-envs\n  -e, --environment strings   Set environment variables\n      --hostname string       Container host name\n      --image string          Container image\n  -i, --interactive           Keep STDIN open even if not attached\n      --inverse               Inverse env-filter\n      --kill                  Kill previous run on container with same name\n      --link strings          Add link to another container\n      --name string           Assign a name to the container\n      --network string        Connect a container to a network\n      --privileged            Give extended privileges to this container\n  -p, --publish strings       Publish a container's port(s) to the host\n      --pull                  Pull image before running it\n      --restart string        Restart policy to apply when a container exits\n      --rm                    Automatically remove the container when it exits\n      --tag string            Container image tag\n  -t, --tty                   Allocate a pseudo-TTY\n  -v, --volume strings        Bind mount a volume\n  -w, --workdir string        Working directory inside the container\n```\n\n## Usage\n```\nUsage:\n  dockerbox [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  debug       debug config files\n  help        Help about any command\n  install     install docker applet\n  uninstall   uninstall docker applet\n  version\n\nFlags:\n  -h, --help   help for dockerbox\n\nUse \"dockerbox [command] --help\" for more information about a command.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsethpollack%2Fdockerbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsethpollack%2Fdockerbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsethpollack%2Fdockerbox/lists"}