https://github.com/mufeedali/quadlet-helper
Helper tool meant for personal use
https://github.com/mufeedali/quadlet-helper
Last synced: 3 days ago
JSON representation
Helper tool meant for personal use
- Host: GitHub
- URL: https://github.com/mufeedali/quadlet-helper
- Owner: mufeedali
- License: mit
- Created: 2025-09-29T19:01:59.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T20:23:19.000Z (about 1 month ago)
- Last Synced: 2026-05-29T22:11:16.587Z (about 1 month ago)
- Language: Go
- Homepage:
- Size: 252 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# quadlet-helper (qh)
Things that should probably be part of a script. Involves a good bit of AI-generated code and meant primarily for personal use with [quad-bucket](https://github.com/mufeedali/quad-bucket).
## Motivation
Part of the experiment here is to explore Go as a functional, object-oriented and AOT-compiled alternative to scripting. A largely successful experiment so far.
## Features
- **Unit Management**: Control quadlet unit files (start, stop, enable, disable, logs, status). Mostly here because I want completions.
- **Cloudflare integration**: Automated Cloudflare IP updater.
- **Example files generation**: Generate example configurations (currently only traefik) and environment files
- **Backup Management**: Create and manage automated backup services using rsync, restic, or rclone. Unnecessarily elaborate, including email notifications. Should have still been just a script.
## Quick Start
You probably shouldn't be installing this. If this is somehow exactly what you want, you're probably doing something wrong...
But anyway...
```bash
go install github.com/mufeedali/quadlet-helper@latest
```
Or build from source:
```bash
git clone https://github.com/mufeedali/quadlet-helper.git
cd quadlet-helper
go build -ldflags="-s -w" -trimpath -o qh
```
## Usage
```bash
# Backup commands
qh backup create # Create a new backup configuration
qh backup install # Install backup service and timer
qh backup list # List all backup configurations
qh backup run # Run backup immediately
qh backup status # Check backup status
qh backup logs # View backup logs
# Unit commands
qh unit list # List quadlet units
qh unit start # Start a unit
qh unit stop # Stop a unit
qh unit status # Check unit status
qh unit logs # View unit logs
qh unit validate # Validate quadlet file
# Cloudflare commands
qh cloudflare install # Install Cloudflare IP updater
qh cloudflare run # Update Cloudflare DNS
qh cloudflare uninstall # Remove Cloudflare service
# Generate commands
qh generate env # Generate .env examples
qh generate traefik # Generate Traefik example
```
## Configuration
By default, quadlet-helper looks for container configurations in:
```
~/.config/containers/systemd
```
Override with the `--containers-path` flag:
```bash
qh --containers-path /custom/path unit list
```
## Contributing
Don't bother. This one isn't worth it. Unless you think otherwise... In which case, sure, go on.
## License
MIT. See [LICENSE](LICENSE).