This guide provides instructions for deploying FileSpin Teleport on-premise. This guide is intended for IT/System Administrators who carry out software setup, configuration and maintenance.
Hardware & Software Pre-requisites
- Hardware
- x86_64 CPU, 32 Cores, 64GB RAM, 1TB Disk
- NVIDIA GPU
- Pre-installed Software
- Ubuntu 22.04 LTS (Server - https://releases.ubuntu.com/jammy/)
- Docker Engine 24.x.x (https://docs.docker.com/engine/ )
- Docker Compose V2 (https://docs.docker.com/compose/)
- AWS CLI 2.13.x
- NVIDIA GPU Drivers
- NVIDIA Container Toolkit
- Familiarity with Linux shell, Docker, and Docker Compose
- Shell access to the server as a user with
sudo
privileges - AWS ECR access credentials supplied by FileSpin Support
- Internet connectivity to AWS ECR to download FileSpin Docker images
Deployment Media Structure
The FileSpin Teleport Deployment package contains the following files and directories:
.
├── teleport-addon-bgremove/
├── teleport-addon-fr/
├── teleport-addons/
├── teleport-core/
├── docker-compose.yml
├── DEPLOYMENT_GUIDE.md
├── teleport.sh
└── sample.env
└── EULA.TXT
Do not proceed if the package is missing any of the above files or directories. Contact FileSpin support for assistance.
Pre-deployment Steps
Before starting the deployment, following pre-requisites should be met.
- Ubuntu 22.04 LTS (Server - https://releases.ubuntu.com/jammy/)
- Docker Engine 24.x.x (https://docs.docker.com/engine/ )
- Docker Compose V2 (https://docs.docker.com/compose/)
- AWS CLI 2.13.x
- NVIDIA GPU Drivers
- NVIDIA Container Toolkit for Docker
For questions on Docker, Ubuntu, AWS CLI and NVIDIA, please consult their respective documentation. FileSpin Support will not be able to provide support for pre-requisites.
Validate Docker Engine
Login into the Ubuntu server as a user with sudo access and open terminal. Change to the distribution folder.
docker run hello-world
You should see output starting with the following line:
Hello from Docker!
If above output is not seen, consult Docker documentation to install required version of Docker engine.
Validate AWS CLI
aws --version
You should see output where the line starts with:
aws-cli/2
If above output is not seen, consult AWS CLI documentation to install required version of AWS CLI.
Validate NVIDIA GPU and Container Toolkit (required for GPU addons)
- Confirm NVIDIA GPU and Drivers availability on the server.
nvidia-smi
You should see the GPU details listed in the output.
If GPU is not seen, consult NVIDIA documentation to install required drivers.
Run a test container to verify that Docker can access the GPU.
docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
If GPU is not seen by the Docker Container, consult NVIDIA documentation to install NVIDIA Container Toolkit for Docker. Do not deploy Background Removal addon if no GPU is available.
Teleport Deployment - First Steps
Teleport deployment is managed by a helper script named teleport.sh. This script is used to login to AWS ECR, start, stop, update and erase Teleport services.
Deployment requires internet and AWS connectivity. You will need to use AWS ECR access credentials are supplied by FileSpin Support.
- Make teleport.sh executable
chmod +x teleport.sh
- Login to AWS ECR Execute the following command to login to AWS ECR and provide the credentials when asked.
./teleport.sh login
You should see output similar to the following:
Login Succeeded
- Setup
.env
Copyexample.env
to.env
in the root directory of the installation package.
cp example.env .env
- Update
.env
as instructed in theFileSpin On-Premise Software Delivery Note
Deployment
Before proceeding
- ensure
.env
exists in the root directory of the installation package - verify
Pre-deployment Steps
section above is completed successfully
teleport.sh
FileSpin Teleport deployment is done using a helper script named teleport.sh
. Run below command to see the deployment options.
./teleport.sh help
You should see the Usage instructions as below:
Usage: ./teleport.sh [command] [service]
./teleport.sh login # Log in to AWS ECR
./teleport.sh start [core|app|fr|rbg|addons|all] # Start Teleport services
./teleport.sh update [core|app|fr|rbg|addons|all] # Update Teleport services
./teleport.sh restart [core|app|fr|rbg|addons|all] # Restart Teleport services
./teleport.sh stop [core|app|fr|rbg|addons|all] # Stop Teleport services
./teleport.sh erase [core] # Erase Teleport Core services (Irreversible)
./teleport.sh help # Display this help message
The options are as follows:-
all
- Teleport Core Services, Teleport Main application and all the available Teleport addonscore
- core services needed to run Teleport application. This is not the Teleport main applicationapp
- Main Teleport application that watches hot-folders and uploads to cloudrbg
- Remove Background Addonaddons
- Multiple Teleport addons. Please consult your enterprise documentation for detailsfr1
- Face Recognition Addon (requires legal compliance. Please see EULA.TXT)
Deploy Teleport
You can run below to deploy all available teleport services that includes Core Teleport and all the addons. Note that Pre-deployment Steps
and Teleport Deployment - First Steps
must be met for this to be successful.
./teleport.sh start all
Troubleshooting
Please explore these steps to troubleshoot issues. If the issue persists, please contact FileSpin Support for assistance.
For questions on Docker, Ubuntu, AWS CLI and NVIDIA, please consult their respective documentation. FileSpin Support will not be able to provide support for pre-requisites.
- Verify that all pre-requisites are met. Double check this to be certain.
- Verify that
.env
exists in the root directory of the installation package. - Restart the services using
./teleport.sh restart [service]
- Pull the docker images again and restart the services as below.
./teleport login
./teleport update all
./teleport restart all
- Restart the Ubuntu server and then restart the services using
./teleport.sh restart
all - If all options fail, you may try erasing volumes and restarting the services.
This resets Teleport to the original deployment state. The files in hot-folders will not be removed but ALL DATA STORED IN TELEPORT WILL BE ERASED.
./teleport.sh stop all
./teleport.sh erase core
./teleport.sh start all