Files
firezone/scripts/firezone-client-gui-install.sh
Reactor Scram 2416d4f45c docs(client): update Linux and Windows Client docs (#5007)
Closes #4995
Closes #4925
Closes #4997
Closes #5047 
Supersedes #4965 and #5004.

NOT changing:

- Page description for other Clients. That is still "Firezone
Documentation"

Need these Clients:

- Windows GUI
- Linux headless 
- Linux GUI

to have these things documented: (with exact terms)

- Prerequisites
- Installation
- Usage
  - Signing in
  - Accessing a Resource
  - Signing out
  - Quitting
- Upgrading
- Diagnostic logs
- Uninstalling
- Troubleshooting
  - DNS not reverted after exit
  - DNS Resource not accessible
- Known issues

```[tasklist]
### Before merging
- [x] Test Windows GUI instructions
- [x] Add troubleshooting for #5027
- [x] Fill in troubleshooting sections
- [x] Test Linux GUI instructions
- [x] Linux headless - Make sure SIGTERM or Ctrl+C or whatever reverts resolv.conf
- [x] Test Linux Headless instructions
- [x] Page descriptions should be "How to install and use the Firezone $OS $UI client."
- [x] ~~Linux headless - Confirm behaviors and default values of all env vars~~ (skipping - The ones that are used are exercised)
- [x] Grep for TODOs
- [x] Change "un-install" to "uninstall"
- [x] Capitalize "Client" where needed
- [x] Change "IPC service" to "Tunnel service" or something
- [x] Change "SplitDNS" to "Split DNS"
- [ ] Wait for next Client release to be cut
```

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-05-22 20:22:46 +00:00

27 lines
981 B
Bash
Executable File

#!/usr/bin/env bash
# Keep this synchronized with the Linux GUI docs in `/website/src/app/kb/user-guides/linux-gui-client`
# Usage: ./firezone-client-gui-install.sh ./firezone-client-gui_VERSION_ARCH.deb
#
# The `./` is necessary
#
# This script should be idempotent, so it can be used for upgrades, too.
set -euox pipefail
# `apt-get` needs either a leading `./` or `/` to recognize a local file path
DEB_PATH=$(realpath "$1")
GROUP_NAME="firezone-client"
echo "Installing Firezone..."
sudo apt-get install --yes "$DEB_PATH"
echo "Adding your user to the $GROUP_NAME group..."
sudo usermod -aG "$GROUP_NAME" "$USER"
# Check if the user is already in the group
if ! groups | grep "$GROUP_NAME" &>/dev/null; then
# Unfortunately Ubuntu seems to need a reboot here, at least 20.04 does
echo "You MUST reboot to finish adding yourself to the group. Firezone won't function correctly until this is done."
else
echo "Finished installing / upgrading Firezone Client."
fi