shc install
shc install
Section titled “shc install”install an application
Synopsis
Section titled “Synopsis”Install an application as a stack. The source accepts an app catalog
name (optionally repo-qualified as latest is used.
The deploy runs asynchronously on the daemon and this command follows its progress until every service settles (use —quiet to suppress the stream). Variables (—var), quotas (—cpu/—memory/—disk), ingress (—host, —tls, —port), and integrations (—integrate) are applied at render time. —from-backup replays a backup’s data into the fresh deployment once the install completes. —public exposes the deployment to the internet (default LAN-only); —gated puts Keycloak SSO in front of it.
shc install <app> [<version>] [flags]Examples
Section titled “Examples” shc install nextcloud shc install community/plane shc install nextcloud -s cloud -e prod --var admin.email=ops@example.com shc install https://github.com/acme/widget --ref v2.1.0 --path deploy shc install plane --host web:8080@plane.example.com --gated --from-backup ./plane.bakOptions
Section titled “Options” --acme-provider string override ACME provider (which named CA issues public certs; blank = acme.default) --auth string basic auth credentials for private archives -c, --connection strings bind a declared connection: name=connection (bare connection ok when the app declares exactly one) --cpu strings per-service CPU quota (service=value) --disk string disk quota --dns-provider string override DNS provider -e, --environment string environment name (default "default") --force allow --ttl against a protected environment (prod/production) --from-backup string restore data from backup after install --gated require Keycloak SSO in front of the app --ha enable high-availability mode -h, --help help for install --host strings HTTP route: [service[:container-port]@]hostname[/path] (selectors must resolve uniquely) -i, --integrate strings integrate with provider --memory strings per-service memory quota (service=value) --no-rollback skip rollback on failure -n, --node string target node --open no SSO gate; rely on the app's own auth (the default) --path string subdirectory path within the repository -p, --port strings expose a port: [conn@]external[:service][:container][/udp] (conn@ = via that connection's load balancer) --preset string preset name (NAME@VERSION to pin) --protected protect the deployment: refuse uninstall/destroy until 'shc unprotect' --public expose to the internet (default: LAN-only) -q, --quiet suppress progress output --ref string git reference for git URL sources -r, --repo string repository name --runtime string target runtime (compose|swarm|podman) --scale strings per-service replica count -s, --stack string stack name --storage string storage provider name --tls string tls resolver --token string authentication token for private git or archives --ttl string lease duration (e.g. 72h); the deployment auto-uninstalls once it expires unless renewed with 'shc lease renew' --unprotected clear the deployment's protection flag --var stringArray variable override (key=value) --vault-provider string override vault providerOptions inherited from parent commands
Section titled “Options inherited from parent commands” --config stringArray extra YAML config file to layer on top of auto-discovered config; repeatable, later files win -d, --debug enable debug mode (default: $SHC_DEBUG) --exclude string comma-separated dotted paths to drop --fields string comma-separated columns/keys to show (and their order) --filter string comma-separated dotted paths to keep (drops everything else) -o, --output string output format: tty|text|json|yaml (default: $SHC_OUTPUT) -t, --tenant string tenant name (default: $SHC_TENANT) -v, --verbose verbose output (default: $SHC_VERBOSE)SEE ALSO
Section titled “SEE ALSO”- shc - Selfhosted Cloud CLI
shc@docs:~$