A reimplementation of the Runtipi CLI in the Go programming language with some imporevements and new features.
Warning
⚠️ : This project is built and maintained by volunteers. There is no guarantee of support or security when you use it. While the system is considered stable, it is still in active development and may contain bugs.
Info 🗒️: Runtipi CLI Go is written in 100% Go, if you would like to help check out the issues section or our Discord server!
We are just having fun with Nicolas learning new languages and we thing Go is a better option for our CLI.
The Runtipi Go CLI has all the official Runtipi CLI features and the following ones:
- List app backups command (
./runtipi-cli app list-backups
) - Healthcheck command using the worker API
- System readings from the worker API
- Backup command
- List backups command (for runtipi)
- Neofetch command (easter egg)
- Automatic backup of the CLI before update
- Increased timeout on app commands to 5 and 15 minutes (for updates) to make sure it is the same as the dashboard timeout
To install the CLI you need to follow 4 simple steps.
- Download the latest version matching your system's arch from the releases page.
- Put the CLI in your
runtipi
folder and rename it toruntipi-cli-go
. - Make it executable
chmod +x runtipi-cli-go
- Start using it
sudo ./runtipi-cli-go start
To build the CLI you need to have go installed and then run these commands:
Firstly clone the repository:
git clone https://github.com/runtipi/runtipi-cli-go
cd runtipi-cli-go/
Install packages:
go get .
Build:
go build
Note 🗒️: You can get the CLI down to around 8mb using the
go build -ldflags '-w -s'
command.
You should have the CLI named runtipi-cli-go
.
The license is the same as the official Runtipi CLI, so the project is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
If you like you can contribute to this project by creating a pull request. Any help is appreciated.
Thank's a lot to:
- Carbon for the cool CLI screenshot