https://github.com/upsun/cli
The unified tool for managing your Upsun services from the command line.
https://github.com/upsun/cli
cli cloud command-line paas
Last synced: 12 days ago
JSON representation
The unified tool for managing your Upsun services from the command line.
- Host: GitHub
- URL: https://github.com/upsun/cli
- Owner: upsun
- License: mit
- Created: 2025-12-29T22:54:35.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-26T10:45:03.000Z (13 days ago)
- Last Synced: 2026-05-26T12:33:04.726Z (13 days ago)
- Topics: cli, cloud, command-line, paas
- Language: PHP
- Homepage: https://developer.upsun.com/cli
- Size: 12.1 MB
- Stars: 2
- Watchers: 2
- Forks: 5
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Upsun CLI
The **Upsun CLI** is the official command-line interface for [Upsun](https://upsun.com).
This repository hosts the source code and releases of the CLI.
> This product includes PHP software, freely available from [the PHP website](https://www.php.net/software)
## Install
To install the CLI, use either [Homebrew](https://brew.sh/) (on Linux, macOS, or the Windows Subsystem for Linux) or [Scoop](https://scoop.sh/) (on Windows):
### HomeBrew
```console
brew install upsun/tap/upsun-cli
```
### Scoop
```console
scoop bucket add upsun https://github.com/upsun/homebrew-tap.git
scoop install upsun
```
### Bash installer
Use the bash installer for an automated installation, using the most preferable way for your system.
```console
curl -fsSL https://raw.githubusercontent.com/upsun/cli/main/installer.sh | bash
```
The installer is configurable using the following environment variables:
* `INSTALL_LOG` - the install log file
* `INSTALL_METHOD` - force a specific installation method, possible values are `brew` and `raw`
* `INSTALL_DIR` - the installation directory for the `raw` installation method, for example you can use `INSTALL_DIR=$HOME/.local/bin` for a single user installation
* `VERSION` - the version of the CLI to install, if you need a version other than the latest one
#### Installation configuration examples
Force the CLI to be installed using the raw method
curl -fsSL https://raw.githubusercontent.com/upsun/cli/main/installer.sh | INSTALL_METHOD=raw bash
Install a specific version
curl -fsSL https://raw.githubusercontent.com/upsun/cli/main/installer.sh | VERSION=5.0.0 bash
Install the CLI in a user owned directory
curl -fsSL https://raw.githubusercontent.com/upsun/cli/main/installer.sh | INSTALL_METHOD=raw INSTALL_DIR=$HOME/.local/bin bash
### Nix profile
Refer to the [Nix documentation if you are not on NixOS](https://nix.dev/manual/nix/2.24/installation/installing-binary.html).
```console
nix profile install nixpkgs#upsun
```
### Alpine
```console
# Add the signing key and repository
sudo mkdir -p /etc/apk/keys
sudo curl -fsSL -o /etc/apk/keys/repositories-upsun-com.rsa.pub https://repositories.upsun.com/alpine/repositories-upsun-com.rsa.pub
echo "https://repositories.upsun.com/alpine" | sudo tee -a /etc/apk/repositories
# Install the CLI
sudo apk add upsun-cli
```
### Ubuntu/Debian
```console
# Add the signing key and repository
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://repositories.upsun.com/gpg.key -o /etc/apt/keyrings/upsun.asc
echo "deb [signed-by=/etc/apt/keyrings/upsun.asc] https://repositories.upsun.com/debian stable main" | sudo tee /etc/apt/sources.list.d/upsun.list
# Install the CLI
sudo apt-get update
sudo apt-get install -y upsun-cli
```
### RPM (Fedora, RHEL, CentOS, AlmaLinux, Rocky)
```console
# Add the repository
sudo tee /etc/yum.repos.d/upsun.repo << 'EOF'
[upsun]
name=Upsun CLI
baseurl=https://repositories.upsun.com/rpm/$basearch
enabled=1
gpgcheck=1
gpgkey=https://repositories.upsun.com/gpg.key
EOF
# Install the CLI (use yum on older systems)
sudo dnf install -y upsun-cli
```
### Manual installation
For manual installation, you can also [download the latest binaries](https://github.com/upsun/cli/releases/latest).
### Docker
The CLI is also available as a Docker image:
```console
docker run --rm -it ghcr.io/upsun/cli
```
## Upgrade
Upgrade using the same tool:
### HomeBrew
```console
brew update && brew upgrade upsun/tap/upsun-cli
```
### Scoop
```console
scoop update upsun
```
### Bash installer
```console
curl -fsSL https://raw.githubusercontent.com/upsun/cli/main/installer.sh | bash
```
### Alpine
```console
sudo apk update && sudo apk upgrade upsun-cli
```
### Ubuntu/Debian
```console
sudo apt-get update && sudo apt-get upgrade upsun-cli
```
### CentOS/RHEL/Fedora
```console
sudo dnf upgrade -y upsun-cli
```
## Building
Build a single binary:
```console
make single
```
Build a snapshot:
```console
make snapshot
```
Build a snapshot for a vendor:
```console
# Download the config file at internal/config/embedded-config.yaml
make vendor-snapshot VENDOR_NAME='Vendor Name' VENDOR_BINARY='vendorcli'
```
## Creating a Release
Releases are automated via GitHub Actions. To create a new release:
1. Create and push a new tag:
```console
git tag -m 'Release v5.0.0' 'v5.0.0'
git push origin v5.0.0
```
2. The [Release workflow](.github/workflows/release.yml) will automatically:
- Build binaries for all platforms
- Sign packages (APK, DEB, RPM)
- Create a GitHub release with all artifacts
- Update package repositories at repositories.upsun.com
- Build and push Docker image to ghcr.io/upsun/cli
## Licenses
This binary redistributes PHP in a binary form, which comes with the [PHP License](https://www.php.net/license/3_01.txt).