{"id":15506280,"url":"https://github.com/adrw/docker-uwaterloo","last_synced_at":"2026-02-16T01:42:34.106Z","repository":{"id":97819589,"uuid":"121036097","full_name":"adrw/docker-uwaterloo","owner":"adrw","description":"Docker images of University of Waterloo Linux Servers","archived":false,"fork":false,"pushed_at":"2020-12-09T16:48:10.000Z","size":102,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-04T18:54:45.040Z","etag":null,"topics":["docker","docker-image","uwaterloo","waterloo"],"latest_commit_sha":null,"homepage":"","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/adrw.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}},"created_at":"2018-02-10T17:15:14.000Z","updated_at":"2021-11-16T11:09:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"bf641925-e959-4dcd-9107-f72dfc5eff75","html_url":"https://github.com/adrw/docker-uwaterloo","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.25,"last_synced_commit":"32d5118bf97483347a45b6c4f4abde48f22ef3b2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adrw/docker-uwaterloo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrw%2Fdocker-uwaterloo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrw%2Fdocker-uwaterloo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrw%2Fdocker-uwaterloo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrw%2Fdocker-uwaterloo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrw","download_url":"https://codeload.github.com/adrw/docker-uwaterloo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrw%2Fdocker-uwaterloo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29498345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T01:11:49.942Z","status":"ssl_error","status_checked_at":"2026-02-16T01:07:16.834Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["docker","docker-image","uwaterloo","waterloo"],"created_at":"2024-10-02T09:26:36.260Z","updated_at":"2026-02-16T01:42:34.073Z","avatar_url":"https://github.com/adrw.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"Docker Images of University of Waterloo Linux Servers\n===\n\n\u003e ...because sometimes you want to finish your CS assignments on your own computer\n\nDocker image that replicates University of Waterloo Linux server build environment.\n- `full` image includes 97.79% of the `apt-get` packages on UW servers.\n- `thin` image includes 32.32% of the `apt-get` packages on UW servers, not including packages likely unnecessary to use as a build / compile / run container.\n- Near identical build environment image allows for less discrepancy between your local work environment and the server test environment.\n\n\nQuick Start\n---\n\n1. [Install Docker](https://docs.docker.com/install/)\n2. Pull latest image \n\t- `$ docker pull andrewparadi/uwaterloo:latest`\n3. Mount your assignment code and run the image\n\t- `$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:latest`\n\nImages\n---\n```\n$ docker pull andrewparadi/uwaterloo:{TAG}\n$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:{TAG}\n```\n\n| Tags | Collection | # Packages | Image Size | Description |\n|---|---|---|---|---|\n|`latest`|[INSTALL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/INSTALL.apps)|1366|11 GB| default recommended, equivalent to `thin`|\n|`thin`|[INSTALL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/INSTALL.apps)|1366|11 GB| strips out GUI apps, fonts, latex, windowing utilities... for smaller image size |\n|`full`|[PASS.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/PASS.apps)|4133|16 GB| all packages on UW Linux server that successfully install in Docker |\n|`gcc`|[GCC.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/GCC.apps)|4|350 MB| Super thin image for compiling C/C++ |\n\n\nCollections\n---\nLists of packages on UW Linux servers used to build Dockerfiles for the above tagged images.\n\n| Collection | Parent Collection | # Packages | Updated | Description |\n|---|---|---|---|---|\n|[ALL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/ALL.apps)| | 4226 | Feb 13, 2018 | raw output from `apt-get list --installed` on UW Linux servers |\n|[PASS.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/PASS.apps)|[ALL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/ALL.apps)| 4133 | Feb 16, 2018 | UW packages that succesfully install in the `full` Docker image |\n|[FAIL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/FAIL.apps)| [ALL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/ALL.apps)| 93 | Feb 16, 2018 |  UW packages that fail install in the `full` Docker image |\n|[INSTALL.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/INSTALL.apps)|[PASS.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/PASS.apps)| 1366 | Feb 16, 2018| Thin build environment. Packages that are not in [IGNORE.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/IGNORE.apps) |\n|[IGNORE.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/IGNORE.apps) | [PASS.apps](https://github.com/andrewparadi/docker-uwaterloo/tree/master/collections/PASS.apps)| 2767 | Feb 16, 2018 | Packages ignored to minimize image size |\n\n\nBuild Images Yourself\n---\n1. Derive your own ALL.apps packages list on UW Linux server \n\t- `$ apt-get list --installed \u003e ALL.apps`\n2. Clone this repo\n3. In the repo, create derivative collections and generate all Dockerfiles\n\t- `$ make build_file`\n4. Build a specific image by tag (this command includes `build_file`)\n\t- `$ make build TAG={tag}`\n5. Run including your local code directory\n\t- `$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:{tag}`\n\nContributions\n---\n**Add an issue**: If your build requirements that you use on UW Linux aren't in this Docker image yet, please add an issue.\n\n**Add a single package**: If you're simply adding an apt-get package, use the following steps.\n\n1. Run the current image that you want to add a package to\n\t- `$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:{tag}`\n2. In the Docker container, test that the new package installs\n\t- `$ apt-get install {new package}`\n3. If it installs, then add it to `ALL.apps`\n4. Following the GitHub Flow Guidelines below, submit a Pull Request\n\nNote: You **do not have to** build the image locally prior to Pull Request. `full` and `thin` tags take ~8-17 hours to build but [Docker Hub](https://hub.docker.com/r/andrewparadi/uwaterloo/) will automatically rebuild when your code is committed. Any failures in that process can be rolled back at that point.\n\n**Contribute a new image:** If there's a class specific stack that you'd like to add, follow the contribution guidelines before and do the following steps as well to create a new tagged image.\n\n1. Add a new collection of packages derived from a parent one in [build_dockerfile.sh](https://github.com/andrewparadi/docker-uwaterloo/tree/master/build_dockerfile.sh)\n2. Add to list of `tags`, and add any required code to generate `{tag}/IN.apps` collection in [build_dockerfile.sh](https://github.com/andrewparadi/docker-uwaterloo/tree/master/build_dockerfile.sh)\n3. Add new rows to [README.md](https://github.com/andrewparadi/docker-uwaterloo/tree/master/README.md) Images and Collections tables\n4. Test building your new tagged image with `$ make build TAG={tag}`\n5. When your code is merged in, a new trigger will be added to [Docker Hub](https://hub.docker.com/r/andrewparadi/uwaterloo/) to enable automatic builds for your new image\n\n**GitHub Flow Guidelines:** Any help to fix bugs or keep packages up to date is appreciated. Please follow the [GitHub Flow](https://guides.github.com/introduction/flow/) approach to team development:\n\n1. Fork this repo to your personal GitHub account\n2. Create a feature branch based on the latest version of `Master`\n3. Commit your changes\n4. Rebase your commits into a single commit with `[CLOSES #{}]` as the start of the commit message if it closes a specific issue \n    - Example commit message: `[CLOSES #14] Add package zsh-autocomplete`\n5. Create a Pull Request into Master\n\nOther\n---\n\n- Released under GNU GPLv3 Licence.\n- [Docker Hub](https://hub.docker.com/r/andrewparadi/uwaterloo/)\n- [Source Code](https://github.com/andrewparadi/docker-uwaterloo)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrw%2Fdocker-uwaterloo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrw%2Fdocker-uwaterloo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrw%2Fdocker-uwaterloo/lists"}