{"id":16242012,"url":"https://github.com/andyshinn/docker-alpine-abuild","last_synced_at":"2025-09-18T13:22:04.677Z","repository":{"id":27986237,"uuid":"31480113","full_name":"andyshinn/docker-alpine-abuild","owner":"andyshinn","description":"Alpine Linux package builder in Docker","archived":false,"fork":false,"pushed_at":"2023-10-19T22:40:09.000Z","size":37,"stargazers_count":100,"open_issues_count":2,"forks_count":54,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-10T17:10:03.764Z","etag":null,"topics":["alpine","alpine-linux","builder","docker"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/andyshinn/alpine-abuild/","language":"Dockerfile","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/andyshinn.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}},"created_at":"2015-02-28T23:11:56.000Z","updated_at":"2025-09-09T17:22:47.000Z","dependencies_parsed_at":"2022-08-26T11:20:11.975Z","dependency_job_id":null,"html_url":"https://github.com/andyshinn/docker-alpine-abuild","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/andyshinn/docker-alpine-abuild","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyshinn%2Fdocker-alpine-abuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyshinn%2Fdocker-alpine-abuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyshinn%2Fdocker-alpine-abuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyshinn%2Fdocker-alpine-abuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andyshinn","download_url":"https://codeload.github.com/andyshinn/docker-alpine-abuild/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyshinn%2Fdocker-alpine-abuild/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275772857,"owners_count":25525909,"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-09-18T02:00:09.552Z","response_time":77,"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":["alpine","alpine-linux","builder","docker"],"created_at":"2024-10-10T14:09:13.687Z","updated_at":"2025-09-18T13:22:04.645Z","avatar_url":"https://github.com/andyshinn.png","language":"Dockerfile","readme":"# Up For Adoption\n\nThis repository is up for adoption. I am looking for a maintainer I can transfer the project to. Please see #25 for more information.\n\n# Alpine Package Builder\n\nThis is a Docker image for building Alpine Linux packages.\n\n## Usage\n\nWe tag each release with a simple `v#` version scheme. Here are the tags to choose from:\n\n* `andyshinn/alpine-abuild:v1`: based on Alpine 3.3\n* `andyshinn/alpine-abuild:v2`: based on Alpine 3.4\n* `andyshinn/alpine-abuild:v3`: based on Alpine 3.5\n* `andyshinn/alpine-abuild:v4`: based on Alpine 3.6\n* `andyshinn/alpine-abuild:v5`: based on Alpine 3.6\n* `andyshinn/alpine-abuild:v6`: based on Alpine 3.7\n* `andyshinn/alpine-abuild:v7`: based on Alpine 3.8\n* `andyshinn/alpine-abuild:v8`: based on Alpine 3.9\n* `andyshinn/alpine-abuild:v9`: based on Alpine 3.10\n* `andyshinn/alpine-abuild:v10`: based on Alpine 3.11\n* `andyshinn/alpine-abuild:v11`: based on Alpine 3.12\n* `andyshinn/alpine-abuild:v12`: based on Alpine 3.13\n* `andyshinn/alpine-abuild:v13`: based on Alpine 3.14\n* `andyshinn/alpine-abuild:v14`: based on Alpine 3.15\n* `andyshinn/alpine-abuild:v15`: based on Alpine 3.16\n* `andyshinn/alpine-abuild:v16`: based on Alpine 3.17\n* `andyshinn/alpine-abuild:edge`: based on Alpine edge (includes testing repository as well)\n\nThe builder is typically run from your Alpine Linux package source directory (changing `~/.abuild/mykey.rsa` and `~/.abuild/mykey.rsa.pub` to your packager private and public key locations):\n\n```\ndocker run \\\n\t-e RSA_PRIVATE_KEY=\"$(cat ~/.abuild/mykey.rsa)\" \\\n\t-e RSA_PRIVATE_KEY_NAME=\"mykey.rsa\" \\\n\t-v \"$PWD:/home/builder/package\" \\\n\t-v \"$HOME/.abuild/packages:/packages\" \\\n\t-v \"$HOME/.abuild/mykey.rsa.pub:/etc/apk/keys/mykey.rsa.pub\" \\\n\tandyshinn/alpine-abuild:v16\n```\n\nThis would build the package at your current working directory, and place the resulting packages in `~/.abuild/packages/builder/x86_64`. Subsequent builds of packages will update the `~/.abuild/packages/builder/x86_64/APKINDEX.tar.gz` file.\n\nYou can also run the builder anywhere. You just need to mount your package source and build directories to `/home/builder/package` and `/packages`, respectively.\n\n## Environment\n\nThere are a number of environment variables you can change at package build time:\n\n* `RSA_PRIVATE_KEY`: This is the contents of your RSA private key. This is optional. You should use `PACKAGER_PRIVKEY` and mount your private key if not using `RSA_PRIVATE_KEY`.\n* `RSA_PRIVATE_KEY_NAME`: Defaults to `ssh.rsa`. This is the name we will set the private key file as when using `RSA_PRIVATE_KEY`. The file will be written out to `/home/builder/$RSA_PRIVATE_KEY_NAME`.\n* `PACKAGER_PRIVKEY`: Defaults to `/home/builder/.abuild/$RSA_PRIVATE_KEY_NAME`. This is generally used if you are bind mounting your private key instead of passing it in with `RSA_PRIVATE_KEY`.\n* `REPODEST`: Defaults to `/packages`. If you want to override the destination of the build packages. You must also be sure the `builder` user has access to write to the destination. The `abuilder` entry point will attempt to `mkdir -p` this location.\n* `PACKAGER`: Defaults to `Glider Labs \u003cteam@gliderlabs.com\u003e`. This is the name of the package used in package metadata.\n\n## Keys\n\nYou can use this image to generate keys if you don't already have them. Generate them in a container using the following command (replacing `Glider Labs \u003cteam@gliderlabs.com\u003e` with your own name and email):\n\n```\ndocker run --name keys --entrypoint abuild-keygen -e PACKAGER=\"Glider Labs \u003cteam@gliderlabs.com\u003e\" andyshinn/alpine-abuild:v2 -n\n```\n\nYou'll see some output like the following:\n\n```\nGenerating RSA private key, 2048 bit long modulus\n.............................................+++\n.................................+++\ne is 65537 (0x10001)\nwriting RSA key\n\u003e\u003e\u003e\n\u003e\u003e\u003e You'll need to install /home/builder/.abuild/team@gliderlabs.com-5592f9b1.rsa.pub into\n\u003e\u003e\u003e /etc/apk/keys to be able to install packages and repositories signed with\n\u003e\u003e\u003e /home/builder/.abuild/team@gliderlabs.com-5592f9b1.rsa\n\u003e\u003e\u003e\n\u003e\u003e\u003e You might want add following line to /home/builder/.abuild/abuild.conf:\n\u003e\u003e\u003e\n\u003e\u003e\u003e PACKAGER_PRIVKEY=\"/home/builder/.abuild/team@gliderlabs.com-5592f9b1.rsa\"\n\u003e\u003e\u003e\n\u003e\u003e\u003e\n\u003e\u003e\u003e Please remember to make a safe backup of your private key:\n\u003e\u003e\u003e /home/builder/.abuild/team@gliderlabs.com-5592f9b1.rsa\n\u003e\u003e\u003e\n```\n\nThis output contains the path to your public and private keys. Copy the keys out of the container:\n\n```a\nmkdir ~/.abuild\ndocker cp keys:/home/builder/.abuild/team@gliderlabs.com-5592f9b1.rsa ~/.abuild/\ndocker cp keys:/home/builder/.abuild/team@gliderlabs.com-5592f9b1.rsa.pub ~/.abuild/\n```\n\nPut your key files in a same place and destroy this container:\n\n```\ndocker rm -f keys\n```\n\n## APK Cache\n\nThe builder has configured APK to use `/var/cache/apk` as its cache directory. This directory can be mounted as a volume to prevent the repeated download of dependencies when building packages.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyshinn%2Fdocker-alpine-abuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandyshinn%2Fdocker-alpine-abuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyshinn%2Fdocker-alpine-abuild/lists"}