{"id":20427092,"url":"https://github.com/pi4j/pi4j-docker","last_synced_at":"2025-06-24T20:11:59.709Z","repository":{"id":148543604,"uuid":"274771755","full_name":"Pi4J/pi4j-docker","owner":"Pi4J","description":"Pi4J Build Environment Docker Images (java, maven, gcc ARM cross-compilers, etc.)","archived":false,"fork":false,"pushed_at":"2025-03-26T08:58:39.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-09T14:03:04.548Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/Pi4J.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}},"created_at":"2020-06-24T21:19:54.000Z","updated_at":"2025-03-26T08:58:43.000Z","dependencies_parsed_at":"2025-01-15T15:43:22.468Z","dependency_job_id":"0f62a5d4-508e-4b44-9ed6-01910e70cbca","html_url":"https://github.com/Pi4J/pi4j-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pi4J/pi4j-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pi4J%2Fpi4j-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pi4J%2Fpi4j-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pi4J%2Fpi4j-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pi4J%2Fpi4j-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pi4J","download_url":"https://codeload.github.com/Pi4J/pi4j-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pi4J%2Fpi4j-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261749252,"owners_count":23203997,"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":[],"created_at":"2024-11-15T07:18:54.513Z","updated_at":"2025-06-24T20:11:59.690Z","avatar_url":"https://github.com/Pi4J.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pi4J Docker Builder Images\n\n---\n\n### Overview:\n\nThis project contains the Dockerfiles and build scripts to create the Pi4J builder  \ndocker images used for compiling/building the Pi4J projects.  The Pi4J builder images \ninclude the following:\n\n - **[Pi4J Base Builder](https://hub.docker.com/repository/docker/pi4j/pi4j-builder-base)** `pi4j/pi4j-builder-base:latest` : \n This is the base image used by all the other builder images.  It's based on Ubuntu 22.04 \n with JDK 21 and Maven pre-installed.  This image's entry point is a Bash shell.\n (https://hub.docker.com/repository/docker/pi4j/pi4j-builder-base)\n \n - **[Pi4J Native Builder](https://hub.docker.com/repository/docker/pi4j/pi4j-builder-native)** `pi4j/pi4j-builder-native:latest` : \n This image is derived from `pi4j/pi4j-builder-base` and adds support for native cross-compilers \n and build tools for architectures: `arm`, `armhf`, `aarch64/arm64`.  This image's \n entry point is a bash shell attempting to execute the file `./build.sh` in the volume mounted \n under the `/build` path.\n \n - **[Pi4J v2.0 Builder](https://hub.docker.com/repository/docker/pi4j/pi4j-builder:2.0)** `pi4j/pi4j-builder:2.0` : \n This image is derived from `pi4j/pi4j-builder-native` and additionally includes pre-cached Maven \n build plugins and dependencies for [Pi4J v2.0](http://github.com/Pi4J/pi4j-v2) builds.  This image's \n entry point is a Maven shell.  If not explicitly provided, the default maven build arguments will be: \n `clean install -DskipTests -Pnative,cross-compile`.  This will effectively build all Pi4J projects including\n the native library projects which will be cross-compiled for RaspberryPi/ARM (32-bit \u0026 64-bit) devices.  \n\n**Note:** Pi4J versions prior to v2.0 are not supported in these Docker images.\n\n### How to Build the Pi4J Project using these Docker Images:\n\n#### Build Pi4J v2.0\n\nNavigate to the parent \"pi4j\" directory and execute the following Docker commands:  \n```\ndocker pull pi4j/pi4j-builder:2.0\ndocker run \\\\\n    --user \"$(id -u):$(id -g)\" \\\n    --rm \\\n    --volume $(pwd):/build \\\n    pi4j/pi4j-builder:2.0\n```\n| Docker Command Argument  | Description |\n| ------------- | ------------- |\n| `run`  | launch the Pi4J Builder container  |\n| `--user` | Run the build container with your user id/group id. (_this is not needed for Window or MacOS_)  |\n| `--rm`  | Remove the temporary build container upon completion  |\n| `--volume`  | Mount the current directory to the Docker container's `/build` path.  This is where the container will attempt to locate and execute the `./build.sh` script. |\n| `pi4j/pi4j-builder:2.0` | The Pi4J build container image name and version. |\n\n \n---\n### How to Build the Pi4J Docker Builder Images:\n\nThe Pi4J Docker Builder images are built using the following shell scripts:\n| Docker Command Argument  | Description |\n| ------------- | ------------- |\n| `./build.sh`  | builds all the Pi4J Builder images locally for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./deploy.sh`  | builds all the Pi4J Builder images and pushes to DockerHub for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./clean.sh`  | cleans the build environment and removes images from the local system for all the Pi4J Builder images. |\n| `./pi4j-builder-base/build.sh`  | builds the Pi4J Base Builder image locally for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./pi4j-builder-base/build.sh --push`  | builds the Pi4J Base Builder images and pushes to DockerHub for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./pi4j-builder-base/clean.sh`  | cleans the build environment and removes images from the local system for the Pi4J Base Builder image. |\n| `./pi4j-builder-native/build.sh`  | builds the Pi4J Native Builder image locally for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./pi4j-builder-native/build.sh --push`  | builds the Pi4J Native Builder image and pushes to DockerHub for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./pi4j-builder-native/clean.sh`  | cleans the build environment and removes images from the local system for the Pi4J Native Builder image. |\n| `./pi4j-builder-2.0/build.sh`  | builds the Pi4J Builder image for Pi4J v2.0  locally for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./pi4j-builder-2.0/build.sh --push`  | builds the Pi4J Builder image for Pi4J v2.0 and pushes to DockerHub for: `x86_64/amd64` \u0026 `aarch64/arm64` architectures. |\n| `./pi4j-builder-2.0/clean.sh`  | cleans the build environment and removes images from the local system for the Pi4J Builder image for Pi4J v2.0. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpi4j%2Fpi4j-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpi4j%2Fpi4j-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpi4j%2Fpi4j-docker/lists"}