https://github.com/steveiliop56/puck
A simple tool to check for apt package updates on multiple servers.
https://github.com/steveiliop56/puck
apt automation cli dnf go homelab linux pacman tools update
Last synced: 6 months ago
JSON representation
A simple tool to check for apt package updates on multiple servers.
- Host: GitHub
- URL: https://github.com/steveiliop56/puck
- Owner: steveiliop56
- License: gpl-3.0
- Created: 2024-07-13T15:09:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-15T21:34:54.000Z (about 1 year ago)
- Last Synced: 2025-04-02T04:04:52.579Z (6 months ago)
- Topics: apt, automation, cli, dnf, go, homelab, linux, pacman, tools, update
- Language: Go
- Homepage:
- Size: 344 KB
- Stars: 23
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Puck ๐
Puck (Package Update Checking Kit _yes I know it sucks_) is a simple tool that connects to your servers and checks for
apt package updates.
> 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.
### Features ๐ฒ
Well about that...
- Tiny CLI (only 10mb)
- Beautiful CLI
- Really fast\*> Puck itself is really fast since it's written in GO but the actual speed depends on the server
### Supported Target Operating Systems
Currently puck supports these operating systems/package managers:
- Ubuntu (apt)
- Debian (apt)
- Fedora (dnf)
- Open Suse (dnf)
- Alpine (apk)
- Arch (pacman) _why would you run arch in a server ๐คจ_### Todo ๐
- [x] Redesign the CLI UI
- [x] Docker Image
- [ ] Web UI
- [ ] Discord notifications
- [x] Ntfy notifications
- [x] Ability not to use sudo (for systems running with root)
- [x] Support for other package managers (currently only supporting apt)### Running ๐
Puck is built for multiple architectures and systems and you can simply download it and run it from the release page, thats it!
### Building ๐ ๏ธ
You can build `puck` very easily by installing go and git on your pc and then simply running:
```bash
go build .
```The build is really fast and when it finished you should have a binary called `puck` in your current directory.
> 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.
### Usage
To begin with you need a configuration file, check out the [wiki](https://github.com/steveiliop56/puck/wiki) on how to create your configuration file.
#### Running with binary ๐๏ธ
After you make your configuration file you can run puck using this command:
```bash
./puck check
```Puck 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.
#### Running with docker ๐
If you prefer docker you can run puck using this command:
```bash
docker run -t --rm --name=puck -v /some/path/puck.yml:/puck.yml:ro ghcr.io/steveiliop56/puck
```### Contributing โค๏ธ
Contributing 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.
### License ๐
The 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.
### Acknowledgments ๐
- The project is heavily inspired from [cup](https://github.com/sergi0g/cup).
- [Carbon](https://carbon.now.sh/) thanks for the screenshot