{"id":15771713,"url":"https://github.com/nwtgck/docker-repository","last_synced_at":"2026-04-28T11:32:02.640Z","repository":{"id":87735657,"uuid":"177980385","full_name":"nwtgck/docker-repository","owner":"nwtgck","description":"🛡️Secure Automated-Build Docker Repository: Proof of integrity by CI","archived":false,"fork":false,"pushed_at":"2019-03-28T05:59:13.000Z","size":14,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-11T15:11:26.542Z","etag":null,"topics":["auto-build","automation","docker","registry","safety","security"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/nwtgck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-03-27T11:30:20.000Z","updated_at":"2019-03-28T05:57:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"487704bf-358b-405c-80c3-e33a922421e1","html_url":"https://github.com/nwtgck/docker-repository","commit_stats":{"total_commits":19,"total_committers":1,"mean_commits":19.0,"dds":0.0,"last_synced_commit":"afdd4e9c99574a8fa34c7be503f56eecf5d89fb9"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fdocker-repository","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fdocker-repository/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fdocker-repository/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fdocker-repository/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nwtgck","download_url":"https://codeload.github.com/nwtgck/docker-repository/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246465228,"owners_count":20781919,"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":["auto-build","automation","docker","registry","safety","security"],"created_at":"2024-10-04T15:04:37.407Z","updated_at":"2026-04-28T11:31:57.597Z","avatar_url":"https://github.com/nwtgck.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-repository\n[![Build Status](https://travis-ci.com/nwtgck/docker-repository.svg?branch=master)](https://travis-ci.com/nwtgck/docker-repository)\n\nAutomated-Build Docker Repository for Security\n\n## Purpose\n**Guarantee that Docker images are built definitely by a trusted third party**.\n\nEven if someone enable Docker automation-build, the owners can push Docker Hub from their local machine. So, someone bad guy can push malicious images.\n\nThis repository guarantees the images are completely built in Travis CI, and the image tar files are published to GitHub Releases.\nFor proof of integrity, SHA256 of tar files are calculated.\n\nYou can **verify SHA256 in Travis CI output and downloaded files**. This ensures that your files should be built on Travis CI, and the build formula, Dockerfile and build script, \"build.bash\" are public without malicious code on GitHub.\n\n## Example Release\n\nHere is an [example release].  \nYou can verify SHA256 on [the Travis job corresponding to the release](https://travis-ci.com/nwtgck/docker-repository/jobs/188383303) and ones of your downloaded files.\n\n## How to get Docker image\n\nHere is an example to load Docker image.\n\n```bash\n# Download\nwget https://github.com/nwtgck/docker-repository/releases/....../myimage.tar\n# Load\ndocker load \u003c myimage.tar\n```\n\nThen, `docker images` should output loaded image.  \nYou can calculate SHA256 by `shasum -a myimage.tar`.\n\n## Structure\n\nHere is the project structure.  \n* Each repository must be under `./repos` directory.\n* Each repository must have `build.bash`.\n* The `build.bash` must create `./dist` directory.\n* The `./dist` should have files of Docker image tar files.\n\n```txt\nrepos/\n├── hogeuser1\n│   └── mydockerimage1\n│   │  └── build.bash\n│   └── mydockerimage2\n│       └── build.bash\n│       └── myasset1.txt\n├── hogeuser2\n│   └── mydockerimage1\n│       └── build.bash\n└── ...\n```\n\n## How to trigger Docker build\n\nSpecial commit message triggers Docker build.  \nFor example, commit message, `\"#[nwtgck/piping-server] Bump up to 0.9.2\"` triggers `bash repos/nwtgck/piping-server/build.bash`.  \nAfter build in Travis CI, the image will be available in GitHub Releases like an [example release].  \nThe format is like `#[myimage_name]`. `repos/myname` should exists in this repo. The commit message should contain one `#[myimage_name]` because too much image build consume a lot of time.\n\n[example release]: https://github.com/nwtgck/docker-repository/releases/tag/image%2Fnwtgck%2Fpiping-server%2F2019-03-28T05-53-02Z\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwtgck%2Fdocker-repository","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnwtgck%2Fdocker-repository","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwtgck%2Fdocker-repository/lists"}