{"id":13562827,"url":"https://github.com/qdm12/godevcontainer","last_synced_at":"2025-05-16T15:08:06.705Z","repository":{"id":40476391,"uuid":"208155014","full_name":"qdm12/godevcontainer","owner":"qdm12","description":"Golang development container for Visual Studio Code Remote Containers Development","archived":false,"fork":false,"pushed_at":"2025-02-09T06:58:50.000Z","size":261,"stargazers_count":272,"open_issues_count":1,"forks_count":47,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-12T14:17:24.821Z","etag":null,"topics":["devcontainer","docker","go","golang","remote-containers","vscode"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/qmcgaw/godevcontainer","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qdm12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["qdm12"]}},"created_at":"2019-09-12T22:13:54.000Z","updated_at":"2025-04-03T03:02:27.000Z","dependencies_parsed_at":"2024-01-18T19:05:30.710Z","dependency_job_id":"77d23526-6720-4c44-939b-76f0a597fb8e","html_url":"https://github.com/qdm12/godevcontainer","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fgodevcontainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fgodevcontainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fgodevcontainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fgodevcontainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qdm12","download_url":"https://codeload.github.com/qdm12/godevcontainer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"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","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":["devcontainer","docker","go","golang","remote-containers","vscode"],"created_at":"2024-08-01T13:01:12.601Z","updated_at":"2025-05-16T15:08:01.693Z","avatar_url":"https://github.com/qdm12.png","language":"Dockerfile","funding_links":["https://github.com/sponsors/qdm12"],"categories":["Dockerfile","Samples"],"sub_categories":["Go"],"readme":"# Go Dev Container\n\n**Ultimate Go development container for Visual Studio Code**\n\n[![godevcontainer](https://github.com/qdm12/godevcontainer/raw/master/title.png)](https://hub.docker.com/r/qmcgaw/godevcontainer)\n\n[![Alpine](https://github.com/qdm12/godevcontainer/actions/workflows/alpine.yml/badge.svg)](https://github.com/qdm12/godevcontainer/actions/workflows/alpine.yml)\n[![Debian](https://github.com/qdm12/godevcontainer/actions/workflows/debian.yml/badge.svg)](https://github.com/qdm12/godevcontainer/actions/workflows/debian.yml)\n\n[![dockeri.co](https://dockeri.co/image/qmcgaw/godevcontainer)](https://hub.docker.com/r/qmcgaw/godevcontainer)\n\n![Last Docker tag](https://img.shields.io/docker/v/qmcgaw/godevcontainer?sort=semver\u0026label=Last%20Docker%20tag)\n[![Latest size](https://img.shields.io/docker/image-size/qmcgaw/godevcontainer/latest?label=Latest%20image)](https://hub.docker.com/r/qmcgaw/godevcontainer/tags)\n\n![Last release](https://img.shields.io/github/release/qdm12/godevcontainer?label=Last%20release)\n[![Last release size](https://img.shields.io/docker/image-size/qmcgaw/godevcontainer?sort=semver\u0026label=Last%20released%20image)](https://hub.docker.com/r/qmcgaw/godevcontainer/tags?page=1\u0026ordering=last_updated)\n![GitHub last release date](https://img.shields.io/github/release-date/qdm12/godevcontainer?label=Last%20release%20date)\n![Commits since release](https://img.shields.io/github/commits-since/qdm12/godevcontainer/latest?sort=semver)\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/qdm12/godevcontainer.svg)](https://github.com/qdm12/godevcontainer/commits/main)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/y/qdm12/godevcontainer.svg)](https://github.com/qdm12/godevcontainer/graphs/contributors)\n[![GitHub closed PRs](https://img.shields.io/github/issues-pr-closed/qdm12/godevcontainer.svg)](https://github.com/qdm12/godevcontainer/pulls?q=is%3Apr+is%3Aclosed)\n[![GitHub issues](https://img.shields.io/github/issues/qdm12/godevcontainer.svg)](https://github.com/qdm12/godevcontainer/issues)\n[![GitHub closed issues](https://img.shields.io/github/issues-closed/qdm12/godevcontainer.svg)](https://github.com/qdm12/godevcontainer/issues?q=is%3Aissue+is%3Aclosed)\n\n[![Lines of code](https://img.shields.io/tokei/lines/github/qdm12/godevcontainer)](https://github.com/qdm12/godevcontainer)\n![Code size](https://img.shields.io/github/languages/code-size/qdm12/godevcontainer)\n![GitHub repo size](https://img.shields.io/github/repo-size/qdm12/godevcontainer)\n\n![Visitors count](https://visitor-badge.laobi.icu/badge?page_id=godevcontainer.readme)\n\n## Features\n\n- Compatible with `amd64`, `386`, `arm64`, `armv6` and `armv7` CPUs\n- `qmcgaw/godevcontainer:alpine` and `qmcgaw/godevcontainer`\n  - Based on Alpine 3.20 (size of 996MB)\n- `qmcgaw/godevcontainer:debian`\n  - Based on Debian Buster Slim (size of 1.21GB)\n- Based on [qmcgaw/basedevcontainer](https://github.com/qdm12/basedevcontainer)\n  - Based on either Alpine or Debian\n  - Minimal custom terminal and packages\n  - See more [features](https://github.com/qdm12/basedevcontainer#features)\n- Go 1.23 code obtained from the latest tagged Golang Docker image\n- Go tooling [integrating with VS code](https://github.com/Microsoft/vscode-go/wiki/Go-tools-that-the-Go-extension-depends-on), all cross built statically from source at the [binpot](https://github.com/qdm12/binpot):\n  - [Google's Go language server gopls](https://github.com/golang/tools/tree/master/gopls)\n  - [golangci-lint](https://github.com/golangci/golangci-lint), includes golint and other linters\n  - [dlv](https://github.com/go-delve/delve/cmd/dlv) ⚠️ only works on `amd64` and `arm64`\n  - [gomodifytags](https://github.com/fatih/gomodifytags)\n  - [goplay](https://github.com/haya14busa/goplay)\n  - [impl](https://github.com/josharian/impl)\n  - [gotype-live](https://github.com/tylerb/gotype-live)\n  - [gotests](https://github.com/cweill/gotests)\n  - [gopkgs v2](https://github.com/uudashr/gopkgs/tree/master/v2)\n- Terminal Go tools\n  - [mockgen](https://github.com/golang/mock) to generate mocks\n  - [mockery](https://github.com/vektra/mockery) to generate mocks for testify/mock\n- Cross platform\n  - Easily bind mount your SSH keys to use with **git**\n  - Manage your host Docker from within the dev container, more details at [qmcgaw/basedevcontainer](https://github.com/qdm12/basedevcontainer#features)\n- Extensible with docker-compose.yml\n- Comes with extra Go binary tools for a few extra MBs: `kubectl`, `kubectx`, `kubens`, `stern` and `helm`\n\n## Requirements\n\n- [Docker](https://www.docker.com/products/docker-desktop) installed and running\n  - If you use OSX, share the `~/.ssh` directory and the directory of your project with Docker Desktop\n- [Docker Compose](https://docs.docker.com/compose/install/) installed\n- [VS code](https://code.visualstudio.com/download) installed\n- [VS code dev containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) installed\n\n## Setup for a project\n\n1. Setup your configuration files\n    - With style 💯\n\n        ```sh\n        docker run -it --rm -v \"/yourrepopath:/repository\" qmcgaw/devtainr:v0.2.0 -dev go -path /repository -name projectname\n        ```\n\n        Or use the [built binary](https://github.com/qdm12/devtainr#binary)\n    - Or manually: download this repository and put the [.devcontainer](.devcontainer) directory in your project.\n1. If you have a *.vscode/settings.json*, eventually move the settings to *.devcontainer/devcontainer.json* in the `\"settings\"` section as *.vscode/settings.json* take precedence over the settings defined in *.devcontainer/devcontainer.json*.\n1. Open the command palette in Visual Studio Code (CTRL+SHIFT+P) and select `Dev Containers: Open Folder in Container...` and choose your project directory\n\n## Customization\n\nSee the [.devcontainer/README.md](.devcontainer/README.md) document in your repository.\n\n## TODOs\n\n- [qmcgaw/basedevcontainer](https://github.com/qdm12/basedevcontainer) todos\n\n## License\n\nThis repository is under an [MIT license](https://github.com/qdm12/godevcontainer/master/LICENSE) unless indicated otherwise.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdm12%2Fgodevcontainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqdm12%2Fgodevcontainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdm12%2Fgodevcontainer/lists"}