{"id":34610284,"url":"https://github.com/clecherbauer/docker-devkit","last_synced_at":"2026-05-27T11:38:21.602Z","repository":{"id":88697914,"uuid":"483182237","full_name":"clecherbauer/docker-devkit","owner":"clecherbauer","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-19T22:38:39.000Z","size":28,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-20T00:50:26.707Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/clecherbauer.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-19T09:35:01.000Z","updated_at":"2025-09-19T22:38:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"c83552b2-8d5b-46f0-aecd-822a2a244e19","html_url":"https://github.com/clecherbauer/docker-devkit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clecherbauer/docker-devkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecherbauer%2Fdocker-devkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecherbauer%2Fdocker-devkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecherbauer%2Fdocker-devkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecherbauer%2Fdocker-devkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clecherbauer","download_url":"https://codeload.github.com/clecherbauer/docker-devkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecherbauer%2Fdocker-devkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28003726,"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-12-24T02:00:07.193Z","response_time":83,"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":[],"created_at":"2025-12-24T14:07:55.815Z","updated_at":"2025-12-24T14:08:18.590Z","avatar_url":"https://github.com/clecherbauer.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-devkit\nA collection of helper scripts that turn plain Docker installations into a more comfortable development environment on Linux, Windows (WSL2), and macOS.\n\n## Highlights\n- **docker-hosts** – keeps `/etc/hosts` in sync with container network aliases so you can skip manual port bindings\n- **docker-alias** – bundles a toolbox of Docker-centric commands in one binary with auto-started helpers\n- **lazydocker** – brings an approachable TUI for inspecting containers, volumes, and logs\n- **Traefik proxy** – optional reverse proxy for easy access to services that expose HTTP endpoints\n- **direnv integration** – automatically loads project-specific environment variables when you `cd` into a directory\n\n## Supported Environments\n- Ubuntu 20.04 / 22.04 LTS (native or in WSL2)\n- Windows 10 / 11 with WSL2 and Docker Desktop\n- macOS (experimental; see notes below)\n\n## Linux / WSL Ubuntu\n**Requirements**\n- Docker Engine with your user added to the `docker` group\n- Docker Compose (`docker compose` plugin or standalone `docker-compose` binary)\n- `curl`, `unzip`, and either `bash` or `zsh`\n\n**Installation**\n```bash\nwget -q -O - \"https://raw.githubusercontent.com/clecherbauer/tools/docker-devkit/master/linux/setup.sh\" | bash\n```\nThe script installs the toolchain, ensures daemons are started, and downloads configuration such as `/opt/traefik.toml`. You may be prompted for `sudo` when system-level files need to be written.\n\n**Updating**\nRe-run the installation command whenever you want to pull the latest versions of the bundled tools. Existing configurations (for example, shell rc files) are only appended to when new entries are required.\n\n## Windows (WSL2)\n**Requirements**\n- Virtualization enabled in BIOS / UEFI\n- Windows 10 Pro/Enterprise or Windows 11 with the WSL feature available\n- Administrative PowerShell session for the host setup\n\n**Prepare the Windows host**\n1. Make sure Windows Update has completed and reboot if required.\n2. Run an elevated PowerShell session and execute:\n   ```powershell\n   Set-ExecutionPolicy Bypass -Scope Process -Force; \\\n   [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; \\\n   iex ((New-Object System.Net.WebClient).DownloadString('https://gitlab.com/clecherbauer/tools/docker-devkit/-/raw/master/windows/setup_dependencies.ps1'))\n   ```\n   This installs WSL2, Docker Desktop, Chocolatey, and the Windows-side `docker-hosts` integration.\n3. Reboot once the script finishes to ensure WSL and Docker Desktop complete their setup.\n4. Install Ubuntu 20.04 (or later) from the Microsoft Store and make it the default distribution: `wsl --setdefault ubuntu`.\n5. In Docker Desktop → Settings → Resources → WSL Integration, enable integration for your Ubuntu distribution.\n\n**Install inside WSL Ubuntu**\n1. Enable metadata support for your mounted Windows drives (avoids permission issues):\n   ```bash\n   cat \u003c\u003c'EOT' | sudo tee /etc/wsl.conf \u003e/dev/null\n   [automount]\n   options = \"metadata\"\n   EOT\n   ```\n   Exit the WSL session and run `wsl --shutdown` from Windows PowerShell or Command Prompt, then reopen Ubuntu.\n2. Inside Ubuntu, run the Linux installer:\n   ```bash\n   wget -q -O - \"https://raw.githubusercontent.com/clecherbauer/tools/docker-devkit/master/linux/setup.sh\" | bash\n   ```\n\n## macOS (experimental)\nBasic scripts live under `macos/`, but automation is still a work in progress. For now:\n- Install Docker Desktop for Mac.\n- Ensure `curl`, `wget`, and `direnv` are available (`brew install curl wget direnv`).\n- Review and adapt the Linux script or contribute improvements to `macos/setup.sh` to match your workflow.\n\n## Verification\nAfter installation, confirm the tooling works:\n- `docker ps` and `docker compose version` should succeed without `sudo`.\n- `docker ps --format '{{.Names}}'` should list a running `docker-hosts` container.\n- `which docker-alias` should resolve to `~/.local/bin/docker-alias`.\n- `lazydocker` should start the TUI within the terminal.\n\n## Troubleshooting\n- If Docker commands fail with permission errors, log out and back in (or restart WSL) so the updated group membership takes effect.\n- Traefik listens on port 80. Stop the `traefik-proxy` container (`docker stop traefik-proxy`) if you need that port for something else.\n- Re-run the setup script with `bash -x` for verbose output if you need to diagnose installation issues.\n\n## Contributing\nIssues and pull requests that improve the setup scripts, especially macOS support, are very welcome. Check the `linux/`, `windows/`, and `macos/` directories for platform-specific logic before submitting changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclecherbauer%2Fdocker-devkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclecherbauer%2Fdocker-devkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclecherbauer%2Fdocker-devkit/lists"}