{"id":28408934,"url":"https://github.com/librepcb/docker-librepcb-dev","last_synced_at":"2025-06-24T22:31:34.425Z","repository":{"id":45636267,"uuid":"190073905","full_name":"LibrePCB/docker-librepcb-dev","owner":"LibrePCB","description":"Docker images used for CI and development of LibrePCB","archived":false,"fork":false,"pushed_at":"2025-06-20T18:05:45.000Z","size":17690,"stargazers_count":3,"open_issues_count":6,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-20T19:36:22.847Z","etag":null,"topics":["docker","docker-image","hacktoberfest","librepcb"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/librepcb/librepcb-dev","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LibrePCB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2019-06-03T20:04:07.000Z","updated_at":"2025-06-18T21:24:22.000Z","dependencies_parsed_at":"2024-03-17T01:19:08.406Z","dependency_job_id":"eb02f494-bdf2-4fba-a0fc-cfc042cfe003","html_url":"https://github.com/LibrePCB/docker-librepcb-dev","commit_stats":{"total_commits":65,"total_committers":4,"mean_commits":16.25,"dds":"0.15384615384615385","last_synced_commit":"3b0b733688c530ee308ecdec9799964bbdcae949"},"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"purl":"pkg:github/LibrePCB/docker-librepcb-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2Fdocker-librepcb-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2Fdocker-librepcb-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2Fdocker-librepcb-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2Fdocker-librepcb-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LibrePCB","download_url":"https://codeload.github.com/LibrePCB/docker-librepcb-dev/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2Fdocker-librepcb-dev/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261766663,"owners_count":23206669,"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":["docker","docker-image","hacktoberfest","librepcb"],"created_at":"2025-06-02T04:38:08.887Z","updated_at":"2025-06-24T22:31:34.413Z","avatar_url":"https://github.com/LibrePCB.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LibrePCB CI/Development Docker Images\n\n[![Docker Stars](https://img.shields.io/docker/stars/librepcb/librepcb-dev.svg)](https://hub.docker.com/r/librepcb/librepcb-dev/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/librepcb/librepcb-dev.svg)](https://hub.docker.com/r/librepcb/librepcb-dev/)\n\nThis repository contains the Dockerfiles to build the images used for\ncontinuous integration of [LibrePCB](https://github.com/LibrePCB/LibrePCB).\n\nThe built images are hosted at\n[Docker Hub](https://hub.docker.com/r/librepcb/librepcb-dev/).\n\n\n## Available Tags\n\n### `ubuntu-20.04-qt6.6`\n\nBased on Ubuntu 20.04, containing Qt 6.6.x from\n[download.qt.io](https://download.qt.io) and OpenCascade OCCT from\n[github/Open-Cascade-SAS/OCCT](https://github.com/Open-Cascade-SAS/OCCT).\nThis image is intended for deployment of official binary releases of LibrePCB,\nwhich should be linked against an old version of `glibc` (for maximum\ncompatibility) but still using a recent Qt version (to get the latest\nfeatures/bugfixes of Qt).\n\nIn addition, this image contains\n[`linuxdeployqt`](https://github.com/probonopd/linuxdeployqt) to build the\nAppImage.\n\n### `ubuntu-22.04`\n\nBased on Ubuntu 22.04, containing Qt from the official Ubuntu package\nrepository. This image is intended to check if LibrePCB compiles on a standard\nUbuntu 22.04.\n\nIn addition, this image contains necessary tools for dynamic linking of\nLibrePCB (pkg-config, libdxflib, libmuparser, libquazip, libpolyclipping,\ngoogletest).\n\n### `ubuntu-24.04`\n\nBased on Ubuntu 24.04, containing Qt from the official Ubuntu package\nrepository. This image is intended to check if LibrePCB compiles on a standard\nUbuntu.\n\nIn addition, this image contains necessary tools for dynamic linking of\nLibrePCB (pkg-config, libdxflib, libmuparser, libquazip, libpolyclipping,\ngoogletest).\n\n### `windowsservercore-ltsc2019-qt6.6-64bit`\n\nBased on Windows Server Core LTSC2019 with Qt6.6.x, MinGW 11.2.0 64-bit\nand OpenCascade OCCT 7.7.2. This image was intended for deployment of official\n64-bit binary releases of LibrePCB for Windows.\n\n### `windowsservercore-ltsc2025-qt6.6-64bit`\n\nBased on Windows Server Core LTSC2025 with Qt6.6.x, MinGW 11.2.0 64-bit\nand OpenCascade OCCT 7.9.1. This image is intended for deployment of official\n64-bit binary releases of LibrePCB for Windows.\n\n### `webtools`\n\nAn image providing all the web tools we need for\n[`librepcb-doc`](https://github.com/LibrePCB/librepcb-doc) and\n[`librepcb-website`](https://github.com/LibrePCB/librepcb-website):\n\n* [Antora](https://antora.org/)\n* [Asciidoctor](https://asciidoctor.org/)\n* [Hugo](https://gohugo.io)\n\n### `devtools`\n\nAn image used by the `dev/format_code.sh` script in the LibrePCB repository,\nproviding various tools to format code. In addition, it is used on CI to\ncheck the coding style. Generally you never need to use this image directly.\n\n\n## Updating Images\n\n**Important: On Linux, use the helper script `./build.sh` since it makes the\nprocedure less error prone!**\n\n1. Add/modify the Dockerfiles, update this README and commit all changes.\n2. Run `./build.sh \u003cimage-name\u003e \u003cversion\u003e --push` to build and push the image.\n   Use the next unused version number, i.e. the previous image version plus one.\n   Use just a single number as version identifier, e.g. `1`, `2`, `3`. Semantic\n   versioning is not needed since CI always links to one specific version.\n3. Test the new image by pushing the LibrePCB repository to trigger the CI.\n4. If everything was successful, merge the changes into `master`.\n5. On the `master` branch (merge commit checked out!), create the corresponding\n   Git tag by running `./build.sh \u003cimage-name\u003e \u003cversion\u003e --tag` (can also be\n   combined with `--push` to push the image again).\n\n\n## Using Images Locally\n\nTo compile LibrePCB locally using these images, run the container like this:\n\n```bash\ndocker run -it --rm \\\n  --user \"$(id -u):$(id -g)\" \\\n  -v \"$(pwd):/code\" -w \"/code\" \\\n  -e OS=linux -e ARCH=x86_64 \\\n  librepcb/librepcb-dev:\u003ctag\u003e\n```\n\n\n## License\n\nThe content in this repository is published under the\n[GNU GPLv3](http://www.gnu.org/licenses/gpl-3.0.html) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrepcb%2Fdocker-librepcb-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibrepcb%2Fdocker-librepcb-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrepcb%2Fdocker-librepcb-dev/lists"}