{"id":21516587,"url":"https://github.com/steveiliop56/puck","last_synced_at":"2025-10-06T20:48:47.909Z","repository":{"id":248275050,"uuid":"828251258","full_name":"steveiliop56/puck","owner":"steveiliop56","description":"A simple tool to check for apt package updates on multiple servers.","archived":false,"fork":false,"pushed_at":"2024-07-15T21:34:54.000Z","size":352,"stargazers_count":24,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-13T03:47:20.893Z","etag":null,"topics":["apt","automation","cli","dnf","go","homelab","linux","pacman","tools","update"],"latest_commit_sha":null,"homepage":"","language":"Go","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/steveiliop56.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":"2024-07-13T15:09:53.000Z","updated_at":"2025-07-29T17:43:53.000Z","dependencies_parsed_at":"2024-07-16T00:04:22.990Z","dependency_job_id":null,"html_url":"https://github.com/steveiliop56/puck","commit_stats":null,"previous_names":["steveiliop56/puck"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/steveiliop56/puck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Fpuck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Fpuck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Fpuck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Fpuck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steveiliop56","download_url":"https://codeload.github.com/steveiliop56/puck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Fpuck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278678133,"owners_count":26027049,"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-10-06T02:00:05.630Z","response_time":65,"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":["apt","automation","cli","dnf","go","homelab","linux","pacman","tools","update"],"created_at":"2024-11-24T00:23:05.890Z","updated_at":"2025-10-06T20:48:47.869Z","avatar_url":"https://github.com/steveiliop56.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Puck 🏒\n\nPuck (Package Update Checking Kit _yes I know it sucks_) is a simple tool that connects to your servers and checks for\napt package updates.\n\n\u003cimg alt=\"Screenshot\" src=\"screenshots/screenshot.png\" width=\"545\" height=\"299\"\u003e\n\n\u003e Warning ⚠️: Puck is in early stages of development it still has a lot of missing features I want to add. I hope I can have a stable release soon.\n\n### Features 😲\n\nWell about that...\n\n- Tiny CLI (only 10mb)\n- Beautiful CLI\n- Really fast\\*\n\n\u003e Puck itself is really fast since it's written in GO but the actual speed depends on the server\n\n### Supported Target Operating Systems\n\nCurrently puck supports these operating systems/package managers:\n\n- Ubuntu (apt)\n- Debian (apt)\n- Fedora (dnf)\n- Open Suse (dnf)\n- Alpine (apk)\n- Arch (pacman) _why would you run arch in a server 🤨_\n\n### Todo 📃\n\n- [x] Redesign the CLI UI\n- [x] Docker Image\n- [ ] Web UI\n- [ ] Discord notifications\n- [x] Ntfy notifications\n- [x] Ability not to use sudo (for systems running with root)\n- [x] Support for other package managers (currently only supporting apt)\n\n### Running 🏃\n\nPuck is built for multiple architectures and systems and you can simply download it and run it from the release page, thats it!\n\n### Building 🛠️\n\nYou can build `puck` very easily by installing go and git on your pc and then simply running:\n\n```bash\ngo build .\n```\n\nThe build is really fast and when it finished you should have a binary called `puck` in your current directory.\n\n\u003e Note 📝: If you like so you can build the app for different architectures using this command `GOOS=windows GOARCH=amd64 go build .` which will create puck.exe for windows amd64. While I am not actively testing this on other architectures it should work just fine.\n\n### Usage\n\nTo begin with you need a configuration file, check out the [wiki](https://github.com/steveiliop56/puck/wiki) on how to create your configuration file.\n\n#### Running with binary 🗑️\n\nAfter you make your configuration file you can run puck using this command:\n\n```bash\n./puck check\n```\n\nPuck be default will look for `puck.yml` but if you wish to use a different file name you can use the `-c` or `--config` flag to specify a custom path, this is also the same for the docker image.\n\n#### Running with docker 🐋\n\nIf you prefer docker you can run puck using this command:\n\n```bash\ndocker run -t --rm --name=puck -v /some/path/puck.yml:/puck.yml:ro ghcr.io/steveiliop56/puck\n```\n\n### Contributing ❤️\n\nContributing is really easy in puck you simply need to have go and git in your system, then you can clone the repository make your changes and open a pull request. Any help is appreciated.\n\n### License 📜\n\nThe project is licensed under the GPL V3 License. You may modify, distribute and copy the code as long as you keep the changes in the source files. Any modifications you make using a compiler must be also licensed under the GPL license and include build and install instructions.\n\n### Acknowledgments 🙏\n\n- The project is heavily inspired from [cup](https://github.com/sergi0g/cup).\n- [Carbon](https://carbon.now.sh/) thanks for the screenshot\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveiliop56%2Fpuck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteveiliop56%2Fpuck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveiliop56%2Fpuck/lists"}