Skip to content

Commit a2a00e1

Browse files
committed
docs(installation): document snap install path and reword native to classic
Add full Snap installation documentation including interface connections, gateway verification, and when to choose Snap vs classic packages. Reword references from 'native package' to 'classic' throughout. Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
1 parent 9bc2418 commit a2a00e1

1 file changed

Lines changed: 58 additions & 1 deletion

File tree

‎docs/about/installation.mdx‎

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Install OpenShell with a single command:
1616
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
1717
```
1818

19-
The script detects your operating system and installs the OpenShell CLI and gateway with your native package manager. It then starts the local gateway server so you can begin creating sandboxes.
19+
The script detects your operating system and installs the OpenShell CLI and gateway. On Linux, the Snap path is preferred when `snapd` is available; otherwise the script uses the native DEB or RPM package. The gateway then starts automatically so you can begin creating sandboxes.
2020

2121
You can also download release artifacts directly from the [OpenShell GitHub Releases](https://github.com/NVIDIA/OpenShell/releases) page.
2222

@@ -51,6 +51,8 @@ brew services restart openshell
5151

5252
## Linux
5353

54+
On distributions that ship with `snapd`, the install script uses the Snap path described below. On hosts without `snapd` (or with `OPENSHELL_INSTALL_METHOD=classic` set), the script falls back to the classic package manager.
55+
5456
On Fedora and RHEL, the install script uses RPM packages. The RPM installs the `openshell` CLI, the `openshell-gateway` daemon, and a systemd user service.
5557

5658
On Debian and Ubuntu, the install script uses a Debian package. The Debian package installs the `openshell` CLI, the `openshell-gateway` daemon, VM sandbox support, and a systemd user service.
@@ -75,6 +77,61 @@ To keep the user service running after logout, enable linger:
7577
sudo loginctl enable-linger $USER
7678
```
7779

80+
## Snap
81+
82+
On Linux distributions that ship with `snapd`, the install script installs OpenShell from the Snap Store. The OpenShell snap bundles the CLI, the terminal UI, and a managed gateway daemon. snapd handles upgrades and rollback; the gateway runs as a system service inside the snap.
83+
84+
You can also install the snap directly:
85+
86+
```shell
87+
sudo snap install openshell
88+
```
89+
90+
The snap requires the Docker snap. `default-provider: docker` on the OpenShell snap installs the Docker snap automatically on first use, but you can install it up front with:
91+
92+
```shell
93+
sudo snap install docker
94+
```
95+
96+
### Connect the required interfaces
97+
98+
Strict confinement requires explicit `snap connect` for several interfaces. The installer runs these for you on Snap installs; run them by hand if you install the snap manually:
99+
100+
```shell
101+
sudo snap connect openshell:docker docker:docker-daemon
102+
sudo snap connect openshell:log-observe
103+
sudo snap connect openshell:ssh-keys
104+
sudo snap connect openshell:system-observe
105+
```
106+
107+
The Docker slot is the Docker snap's `docker-daemon` slot; OpenShell does not work with a host-installed Docker Engine. The installer is best-effort: if a connect fails (for example because the Docker snap is not yet running), the snap still installs and the installer prints a warning.
108+
109+
### Verify the gateway
110+
111+
The snap-managed gateway service is `openshell.gateway`. Inspect it with:
112+
113+
```shell
114+
snap services openshell
115+
snap logs -n 100 openshell.gateway
116+
```
117+
118+
Register the gateway with the CLI:
119+
120+
```shell
121+
openshell gateway add https://127.0.0.1:17670 --local --name openshell
122+
openshell status
123+
```
124+
125+
The gateway listens on `https://127.0.0.1:17670` and stores its state under `/var/snap/openshell/common/`. Override gateway settings by creating `/var/snap/openshell/common/gateway.toml`.
126+
127+
### When to choose Snap
128+
129+
Use Snap when `snapd` is available and you want atomic upgrades and rollback, a single self-contained install that bundles the Docker provider, or a desktop launcher that surfaces the OpenShell terminal UI in the application menu.
130+
131+
Use DEB or RPM when `snapd` is unavailable or inappropriate (immutable distros, headless servers, locked-down images), when you need direct `systemd --user` integration for the gateway, or when you already run Docker Engine from a non-snap source.
132+
133+
Set `OPENSHELL_INSTALL_METHOD=classic` to force the classic package on hosts that also have `snapd` available.
134+
78135
## Kubernetes
79136

80137
Kubernetes deployments use the OpenShell Helm chart. For step-by-step installation, refer to [Kubernetes Setup](/kubernetes/setup). For chart values and packaging details, refer to the [Helm chart README](https://github.com/NVIDIA/OpenShell/blob/main/deploy/helm/openshell/README.md).

0 commit comments

Comments
 (0)