{"id":48105085,"url":"https://github.com/atomantic/generator-dockerize","last_synced_at":"2026-04-04T15:53:12.547Z","repository":{"id":57246937,"uuid":"42145045","full_name":"atomantic/generator-dockerize","owner":"atomantic","description":"Yeoman Generator: Scaffolding for Dockerized Development Environment","archived":false,"fork":false,"pushed_at":"2026-03-08T00:55:36.000Z","size":377,"stargazers_count":10,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-08T06:41:14.621Z","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":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atomantic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-08T23:46:12.000Z","updated_at":"2026-03-08T00:55:39.000Z","dependencies_parsed_at":"2022-08-24T16:50:27.099Z","dependency_job_id":null,"html_url":"https://github.com/atomantic/generator-dockerize","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/atomantic/generator-dockerize","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fgenerator-dockerize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fgenerator-dockerize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fgenerator-dockerize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fgenerator-dockerize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomantic","download_url":"https://codeload.github.com/atomantic/generator-dockerize/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fgenerator-dockerize/sbom","scorecard":{"id":215118,"data":{"date":"2025-08-11","repo":{"name":"github.com/atomantic/generator-dockerize","commit":"6467f7ed6aa6ec272afb2e7cc3e05257dddef528"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"internal error: internal error: invalid Dockerfile","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 2/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: ISC License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T01:30:07.686Z","repository_id":57246937,"created_at":"2025-08-17T01:30:07.686Z","updated_at":"2025-08-17T01:30:07.686Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31404303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-04-04T15:53:12.443Z","updated_at":"2026-04-04T15:53:12.526Z","avatar_url":"https://github.com/atomantic.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Known Vulnerabilities](https://snyk.io/test/npm/generator-dockerize/badge.svg)](https://snyk.io/test/npm/generator-dockerize)\n\n# Yeoman Docker Generator\n\nThis Yeoman Generator will add a Docker scaffolding to your project, including Dockerfile, docker-compose and a dev script to simplify management of Docker and app runtime.\nThe `dev` script automates getting your application up and running, starting, stopping, and other misc. missing docker commands.\n\n## Assumptions\n\n* Your application lives in a subfolder of your git repo (e.g. `./app`)\n* You are on `OSX`\n\n## Usage\n\nif you are totally new to nodejs, you can install via `./dev init`.\nThis will install nvm (node version manager via Homebrew, then install node `4.4.6` and run `npm install -g yo git://github.com/atomantic/generator-dockerize.git` for you).\n\nYou can run the `dev init` script from curl like so:\n```\ncurl https://raw.githubusercontent.com/atomantic/generator-dockerize/master/dev | sh -s init\n```\n\nIf you are already using node and have npm, just run this:\n\n```\nnpm install -g yo git://github.com/atomantic/generator-dockerize.git\n# cd to your project directory\nyo dockerize\n```\n\n# Getting Started\n\n1. run `yo dockerize` on your project\n2. edit `./app/exec` to have proper app execute instructions\n3. edit `docker-compose.tmpl` if needed\n4. edit the Dockerfile as needed to construct your app\n5. edit `dev.init.sh` if needed to run any host setup before docker image is created\n5. run `dev init`\n\nThe `dev` script will ensure that you have all the docker software and configuration needed to run and will run your app inside a docker container.\n\n# Testing Your Docker Image / App\nYou can run `dev test` to test either the running instance or to run and test a new instance.\nBefore running `dev test`, you should update test.sh (at the bottom) to add a test runner execution command.\n\n## Scaffolding Contents\n\n* ./app/.rsyncignore\n* ./app/exec\n  * edit this after running `yo dockerize` to have instructions for running your app\n  * whatever you run here should be a foreground non-exiting process\n* .dockerignore\n* .env\n* dev\n* dev.config\n* dev.init.sh\n* docker-compose.tmpl\n  * this will be used to generate a per-developer docker-compose.yml, which should be added to .gitignore\n  * the sync directory will be different depending on where developers clone the repo\n* Dockerfile\n  * you will need to update this file with your app installation instructions\n\n## Dev Toolkit\n\nrun `dev help` to get a list of options on the `dev` script\n\n## Updates\n\nTo get updates to the dockerized dev toolkit after you run the generator, simply run `dev update`. This will fetch the latest dev toolkit from github and replace it in your project. Then you can use any new automated fixes for docker that are in the latest release.\n\n## Contributing\nPlease contribute! We welcome all pull-requests. The current setup makes certain assumptions that we probably don't always want. TODO:\n* add question on whether you use a particular option for build, then drop the appropriate config file (or no file at all)\n* ask if you need a custom `dev.init.sh` script and handle that, removing it if you don't\n* ask what docker-compose configs should be added\n* ask what exec start command should be dropped in\n\nWe could make this whole thing work from yo instead of requiring users to manually adjust their files after scaffolding :)\n\n# HISTORY\n\n## 3.0.0\n  - Only using Native Docker for Mac/Win\n  - removed all `VirtualBox` management\n  - removed all `VPN` tomfoolery\n  - remove all `RSYNC` ugliness (now native)\n  - remove `./dev insecure` -- now set insecure registries in advanced settings in native docker app\n  - removed `VM_NAME`, `VM_CREATE_TIME`, `RSYNC` options from dev.config\n\n## 2.2.0\n  - Native Docker for Mac/Win is now supported with `export $DOCKER_NATIVE=true` -- this is temporary until this becomes an open standard method for running docker.\n\n## 2.0.0\n  - Remove all cisco AnyConnect VPN code (now use `brew install openconnect` then  `sudo openconnect --user=$VPNUSER $VPNHOST` instead of Cisco Client). If this solution is still interesting to you, see here: https://github.com/atomantic/generator-dockerize/commit/a79c26ceea4bacd0906f0f32dbb9b1751feb528e\n\n## 1.8.0\n  - Added VPN support\n  - Run `dev vpn_setup` before connecting to VPN to create docker-machine VM\n  - Run `dev vpn_env` to get the environment variables you need to access VM over VPN\n\n## 1.7.0\n  - `dev purge` is now interactive (allows you to choose which things you wish to purge/uninstall)\n\n## 1.6.1\n  - fix `dev shell` to work even if your instance fails to run (still does `docker run -i -t $APP_NAME_LOCAL bash` instead of using `exec` while assuming running instance)\n\n## 1.6.0\n  - now including rsync mounting in `dev init`. Will provide diagram later :)\n\n## 1.5.0\n  - new `dev.init.sh` script to customize a pre-setup script for the project. This is to address an issue we found with docker-rsync deleting our node_modules inside the VM. We needed to do `npm install` on the host before building the docker image and rsyncing. The Dockerfile then does `npm rebuild` to recompile packages for the Docker OS\n\n## 1.4.0\n  - `dev update` will fetch the latest `dev` toolkit and replace it in your project\n\n## 1.3.0\n  - create test runner script for `dev test`\n  - cleanup `dev` docs and commands\n\n## 1.2.4\n  - shorter default loads\n  - now including sample app by default\n\n## 1.2.2\n  - add sample index.html app using python SimpleHTTPServer\n  - remove memcached image link\n\n## 1.2.1\n  - remove old test `dev` methods\n\n## 1.2.0\n  - add `dev vpn` to fix OSX routing table after disconnecting from Cisco AnyConnect VPN client\n\n## Support\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/atomantic/generator-dockerize/badge.svg?style=beer-square)](https://beerpay.io/atomantic/generator-dockerize)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomantic%2Fgenerator-dockerize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomantic%2Fgenerator-dockerize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomantic%2Fgenerator-dockerize/lists"}