-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Quick Setup Guide
This guide is intended to help you get the platform up and running with as little effort as possible.
Please note that this guide is to be used with Ubuntu 16.04 LTS as the host operating system. Other Linux distributions or operating systems are not supported by the quick setup process.
This guide details the quick setup mode which provides a streamlined and consistent build of the platform but offers less flexibility when compared to a custom installation. If you would prefer to perform a custom installation, please see the Development Installation Guide or Production Installation Guide.
The FBCTF platform was designed with flexibility in mind, allowing for different types of installations, depending on the needs of the end user. The FBCTF platform can be installed either in Development Mode, or Production Mode. Development is for testing and agility, and production is for better performance and typically used for live events. Production mode utilizes an HHVM web cache, which speeds up processing.
You will need to select your mode, production or development before proceeding.
Note that the following commands must be run before beginning your provision:
sudo apt-get update
sudo apt-get install git
Option | Description |
---|---|
Direct Installation | Used when directly installing to the system you are on; this is useful when installing on bare metal, an existing VM, or a cloud-based host. Recommended for small events. |
Multi-Server Direct Installation | Used when directly installing the platform with each service on a separate system; this is useful when installing on bare metal systems, existing VMs, or cloud-based hosts. Recommended for large events. |
Standard Docker Startup | Used when running FBCTF as a single docker container. |
Multi-Container Docker Startup | Used when running FBCTF on docker with each service hosted in a separate docker container. This mode should provide better performance but requires additional system resources. |
Standard Vagrant Startup | Used when running FBCTF as a single vagrant container. |
Multi-Container Vagrant Startup | Used when running FBCTF on vagrant with each service hosted in a separate vagrant container. This mode should provide better performance but requires additional system resources. |
From the system you wish to install the platform, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup install prod
orquick_setup install dev
For this setup you will need four systems, one for each service (nginx, hhvm, memcached, and mysql). It is strongly recommended that you install each services in the same mode (production or development). You will also need the replace the relevant IP addresses in the commands specified below.
From the system you intend to use as the MySQL host, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup install_multi_mysql prod
orquick_setup install_multi_mysql dev
From the system you intend to use as the Memcached host, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup install_multi_cache prod
orquick_setup install_multi_cache dev
From the system you intend to use as the HHVM host, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup install_multi_hhvm prod <IP of MySQL Server> <IP of Memcached Server>
orquick_setup install_multi_hhvm dev <IP of MySQL Server> <IP of Memcached Server>
From the system you intend to use as the Nginx host, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup install_multi_nginx prod <IP of HHVM Server>
orquick_setup install_multi_nginx dev <IP of HHVM Server>
From the system you wish to launch the platform, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup start_docker prod
orquick_setup start_docker dev
From the system you wish to launch the platform, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup start_docker_multi prod
orquick_setup start_docker_multi dev
From the system you wish to launch the platform, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup start_vagrant prod
orquick_setup start_vagrant dev
From the system you wish to launch the platform, execute the following:
git clone https://github.com/facebook/fbctf
cd fbctf
source ./extra/lib.sh
-
quick_setup start_vagrant_multi prod
orquick_setup start_vagrant_multi dev