Buddy CLI

Installing Buddy self-hosted also installs the Buddy CLI. The CLI is used to operate, manage, and configure your self-hosted installation.

Basic commands

Warning
All commands listed in the article must be run as root.
  • buddy start – starts the application
  • buddy stop – stops the application
  • buddy restart – restarts the application
  • buddy configure – configures the application
  • buddy feedback – sends feedback to Buddy customer support
  • buddy version – shows the CLI and Buddy self-hosted version
  • buddy terms – shows the Buddy self-hosted Software License Agreement

CLI configuration options

When you run buddy configure, the CLI shows the options listed below. To configure an option, type the corresponding number and press Enter.

  1. Exit configuration
  2. Custom domain – sets a custom domain used to access Buddy self-hosted through the browser.
  3. Custom domain SSL certificate – sets a valid SSL certificate for the custom domain.
  4. Application data path – moves the application data to a different partition or disk.
  5. IP & ports – sets the connection IP's and ports:

    • external IP – used to access the instance through the browser
    • server IP – the IP address to which the application is bound; by default, all application interfaces are bound to this address
    • HTTPS port (default: 443)
    • HTTP port (default: 80)
    • Git SSH port (default: 22)
  6. Generate workspace owner password
    • generates a one-day token that can be used instead of the owner's password. This token can also be used to bypass the SSO login requirement.
  7. Concurrent executions limit – limits the number of pipelines that can run at the same time.
  8. Parallel actions limit – limits the number of actions that can run at the same time within one pipeline.
  9. SMS serviceconfigures SMS messages sent by Amazon AWS as notifications.
  10. Repo max file size – sets the maximum size of files you can push to a repository when using Buddy Git Hosting.
  11. HAProxy ciphers – changes HAProxy ciphers to customize security policies for connected clients.
  12. Application memory management – adjusts the amount of memory used by the application's components.
  13. API requests limit – adjusts the rate limits for accessing resources. By default, users can make 1000 requests to a resource every 15 minutes.
  14. Telemetryenables or disables telemetry.
  15. Pipelines worker assignment – specifies if pipelines are automatically re-assigned to a different worker if the worker vCPU load exceeds 100%.
Success
The memory and CPUs available for your pipelines are managed per worker. This also applies to the main instance of Buddy self-hosted (the default worker). The full list of parameters is available in the worker configuration documentation.

Advanced commands

  • buddy [--yes] [--full] backup – creates a backup of the app. Use the --yes flag to create a backup without the need for user interaction and delete old backups. Use the --full flag to include the cache in the backup.
  • buddy [--yes] restorerestores application from a backup file. Use the --yes flag to use the latest backup available to the system.
  • buddy clear-cache – clears the Docker cache (docker prune), filesystems, and DinD disk contents.
  • buddy status – shows the status of the application and its components.
  • buddy diagnose – runs diagnostics on your installation. Shows tips for fixing problems it finds.
  • buddy [--yes] update – shows if a new version of the app or the CLI is available and provides installation instructions. Use the --yes flag to automatically download and apply available updates.
  • buddy [--yes] uninstall – uninstalls Buddy self-hosted. The CLI must be removed manually. Use the --yes flag to do it without requiring user interaction.
  • buddy set – configures integrations and system resources through the CLI. Run the command to get the full list of things you can configure.
  • buddy fix-mysql – fixes MySQL issues. Run only when buddy diagnose tells you to do so.
  • buddy install-worker – installs a new worker for your instance through a CLI wizard.

List of parameters for buddy set

Hint
Run buddy set {INTEGRATION_NAME} to learn more about configuring the selected integration.
Parameter Description
azure Azure integration
aws-role AWS role assumption credentials
bitbucket Bitbucket integration
cert custom domain SSL certificate
datapath application data path
digitalocean DigitalOcean integration
dockerhub Docker Hub integration
domain custom domain
github GitHub OAuth integration
githubapp GitHub Apps integration
githubenterprise GitHub Enterprise integration
githubenterpriseapp GitHub Enterprise Apps integration
gitlab GitLab integration
gitlabenterprise GitLab Enterprise integration
google Google integration
haproxy HAProxy ciphers
heroku Heroku integration
ipsandports application IP addresses & ports
language application language
ldap LDAP integration
le Let's Encrypt custom domain SSL certificate
license application license
limits application build resource limits
logs-limit action logs limit
netlify Netlify integration
pinpoint AWS Pinpoint integration (SMS)
pushbullet Pushbullet integration
secret application secret key
session application session secret
shopify Shopify integration
slack Slack integration
smtp email sending
sns AWS SNS integration (SMS)
telegram Telegram integration
telemetry enable / disable sending telemetry data

List of options for limits parameter

  • --repomaxsize value – the maximum size of a file in the repository. Default: 0 (unlimited).
  • --executions value – the maximum number of pipelines running concurrently at one time. Default: 0 (unlimited).
  • --actions value – the maximum number of actions running in parallel at one time. Default: 0 (unlimited).
  • --apiLimit value – the maximum number of API requests per user per hour. Default: 0 (unlimited).
  • --reset – resets the value of all options to default.

Last modified on Oct 16, 2024