Merge pull request #2667 from signalwire/fsget
[Scripts] Introduce FSGET - a simple way to install FreeSWITCH.
This commit is contained in:
commit
cb8e6de117
|
@ -33,7 +33,8 @@ The main index for documentation is available at:
|
|||
|
||||
Step by step tutorials to install FreeSWITCH from packages:
|
||||
|
||||
* [Debian](https://freeswitch.org/confluence/display/FREESWITCH/Debian) [<b>Recommended</b>]
|
||||
* [Using FSGET](/scripts/packaging) [<b>Recommended</b>]
|
||||
* [Debian](https://freeswitch.org/confluence/display/FREESWITCH/Debian)
|
||||
* [Raspberry Pi](https://freeswitch.org/confluence/display/FREESWITCH/Raspberry+Pi)
|
||||
* [CentOS 7](https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7+and+RHEL+7)
|
||||
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
# Installing FreeSWITCH using FSGET
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Dependencies
|
||||
Make sure you have `cURL` binary installed or use any other downloader.
|
||||
To install curl type
|
||||
```
|
||||
apt update && apt install -y curl
|
||||
```
|
||||
|
||||
### Authentication required
|
||||
|
||||
A `SignalWire Personal Access Token` (PAT) or an `API Token` (for enterprise customers) is required to access FreeSWITCH install packages.
|
||||
|
||||
[HOWTO Create a SignalWire Personal Access Token](https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Installation/how-to-create-a-personal-access-token/how-to-create-a-personal-access-token)
|
||||
|
||||
[Upgrade to FreeSWITCH Advantage](https://signalwire.com/products/freeswitch-enterprise)
|
||||
|
||||
## Configuring FreeSWITCH Debian repository
|
||||
```
|
||||
curl -sSL https://freeswitch.org/fsget | bash -s <PAT or API token> [release|prerelease] [install]
|
||||
```
|
||||
|
||||
Notice that `fsget` accepts arguments:
|
||||
- `<PAT or FSA token>` (Required)
|
||||
- `[release|prerelease]` (Optional) - `release` by default, `prerelease` is what you see in the `master` branch
|
||||
- `[install]` (Optional) - If missing it will not install FreeSWITCH automatically after configuring the repository
|
||||
|
||||
`FreeSWITCH Community` or `FreeSWITCH Enterprise` version is installed based on the token provided.
|
||||
|
||||
Enterprise customers may install `FreeSWITCH Community` versions by using a `SignalWire Personal Access Token` instead of an `API Token`.
|
||||
## Installing FreeSWITCH
|
||||
If not installed already type
|
||||
|
||||
```
|
||||
apt-get install -y freeswitch-meta-all
|
||||
```
|
||||
|
||||
Enjoy using FreeSWITCH!
|
|
@ -0,0 +1,95 @@
|
|||
#!/bin/bash
|
||||
|
||||
TOKEN=$1
|
||||
RELEASE=$2
|
||||
INSTALL=$3
|
||||
|
||||
# Source the os-release file (assuming it exists)
|
||||
. /etc/os-release
|
||||
echo $ID
|
||||
echo $VERSION_CODENAME
|
||||
|
||||
if [ "${ID,,}" = "debian" ]; then
|
||||
ARCH=$(dpkg --print-architecture)
|
||||
if [[ "${TOKEN}" == pat_* ]]; then
|
||||
echo "FreeSWITCH Community"
|
||||
|
||||
RPI=""
|
||||
|
||||
if [ "${RELEASE,,}" = "prerelease" ]; then
|
||||
RELEASE="unstable"
|
||||
else
|
||||
RELEASE="release"
|
||||
fi
|
||||
|
||||
echo $RELEASE
|
||||
|
||||
if [ "${ARCH,,}" = "armhf" ]; then
|
||||
RPI="rpi/"
|
||||
fi
|
||||
|
||||
rm -f /etc/apt/sources.list.d/freeswitch.list
|
||||
apt-get update && apt-get install -y gnupg2 wget software-properties-common apt-transport-https
|
||||
|
||||
wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/${RPI}debian-release/signalwire-freeswitch-repo.gpg
|
||||
echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
|
||||
chmod 600 /etc/apt/auth.conf
|
||||
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/${RPI}debian-${RELEASE}/ ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/${RPI}debian-${RELEASE}/ ${VERSION_CODENAME} main" >> /etc/apt/sources.list.d/freeswitch.list
|
||||
|
||||
apt-get update
|
||||
if [ "${INSTALL}" = "install" ]; then
|
||||
echo "Installing FreeSWITCH Community"
|
||||
apt-get install -y freeswitch-meta-all
|
||||
echo "------------------------------------------------------------------"
|
||||
echo " Done installing FreeSWITCH Community"
|
||||
echo "------------------------------------------------------------------"
|
||||
else
|
||||
echo "------------------------------------------------------------------"
|
||||
echo " Done configuring FreeSWITCH Debian repository"
|
||||
echo "------------------------------------------------------------------"
|
||||
echo "To install FreeSWITCH Community type: apt-get install -y freeswitch-meta-all"
|
||||
fi
|
||||
elif [[ "${TOKEN}" == PT* ]]; then
|
||||
echo "FreeSWITCH Enterprise"
|
||||
|
||||
if [ "${RELEASE,,}" = "prerelease" ]; then
|
||||
RELEASE="unstable"
|
||||
else
|
||||
RELEASE="1.8"
|
||||
fi
|
||||
|
||||
echo $RELEASE
|
||||
|
||||
if [ "${ARCH,,}" = "armhf" ]; then
|
||||
RPI="-rpi"
|
||||
fi
|
||||
|
||||
rm -f /etc/apt/sources.list.d/freeswitch.list
|
||||
apt-get update && apt-get install -y gnupg2 wget software-properties-common apt-transport-https
|
||||
|
||||
wget --http-user=signalwire --http-password=$TOKEN -O - https://fsa.freeswitch.com/repo/deb/fsa${RPI}/pubkey.gpg | apt-key add -
|
||||
echo "machine fsa.freeswitch.com login signalwire password $TOKEN" > /etc/apt/auth.conf
|
||||
chmod 600 /etc/apt/auth.conf
|
||||
echo "deb https://fsa.freeswitch.com/repo/deb/fsa${RPI}/ ${VERSION_CODENAME} ${RELEASE}" > /etc/apt/sources.list.d/freeswitch.list
|
||||
echo "deb-src https://fsa.freeswitch.com/repo/deb/fsa${RPI}/ ${VERSION_CODENAME} ${RELEASE}" >> /etc/apt/sources.list.d/freeswitch.list
|
||||
|
||||
apt-get update
|
||||
if [ "${INSTALL}" = "install" ]; then
|
||||
echo "Installing FreeSWITCH Enterprise"
|
||||
apt-get install -y freeswitch-meta-all
|
||||
echo "------------------------------------------------------------------"
|
||||
echo " Done installing FreeSWITCH Enterprise"
|
||||
echo "------------------------------------------------------------------"
|
||||
else
|
||||
echo "------------------------------------------------------------------"
|
||||
echo " Done configuring FreeSWITCH Debian repository"
|
||||
echo "------------------------------------------------------------------"
|
||||
echo "To install FreeSWITCH Enterprise type: apt-get install -y freeswitch-meta-all"
|
||||
fi
|
||||
else
|
||||
echo "Unrecognized token type"
|
||||
fi
|
||||
else
|
||||
echo "Unrecognized OS. We support Debian only."
|
||||
fi
|
Loading…
Reference in New Issue