Overview
This guide provides step-by-step instructions for installing Carrier on Debian operating systems.
Please find the hardware requirements by following the link.
Prerequisites
Before installing Carrier, you need to ensure that the following tools are installed on your Debian system:
- Docker 4.19.0+
- Docker Compose 1.29.2+
- Git 2.40.1+
- Make
After executing the installation commands, it is important to ensure that there are no errors. Please verify that the installation process completed successfully without encountering any issues.
Install Docker
1
2
sudo apt update
sudo apt install docker.io -y
Install Docker Compose:
Ensure that you have Docker installed on your system. If Docker is not installed, you can refer to the previous instructions to install it.
- Download the Docker Compose binary into the
/usr/local/bin
directory:1
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- Apply executable permissions to the Docker Compose binary:
1
sudo chmod +x /usr/local/bin/docker-compose
- Create a symbolic link for docker-compose in
/usr/bin/docker-compose
:1
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- Verify that Docker Compose is installed correctly:
1
docker-compose --version
Expected Output:
1 2
[root@ip-172-31-26-250 ec2-user]# docker-compose --version Docker Compose version v2.18.1
Install Git Install
- Check if Git is installed using the following command:
1
git --version
- Otherwise, install it:
1
sudo apt install git -y
Install Make:
1
sudo apt install make -y
After completing these steps, you have successfully installed Docker, Docker Compose, Git, and Make tools on your Debian system.
Carrier Installation Steps
- Using root user clone the carrier-io centry repository to the
/opt
directory:1
git clone https://github.com/carrier-io/centry.git -b beta-1.0 /opt/centry
- Navigate to the downloaded folder:
1
cd /opt/centry
You need to use public IP to access Carrier
- Get the
public IP
of your system and set theCURRENT_IP
variable to the defined value: For example, using next cmd:1
export CURRENT_IP=$(curl -s ifconfig.me)
Set parameters in
.env
andMakefile
file4.1 Set IP (change
DEV_IP
andDIRECT_IP
toCURRENT_IP
):1 2
sed -i -e "s/\#DIRECT_IP=YOUR_IP_HERE/DIRECT_IP=$CURRENT_IP/g" Makefile sed -i -e "s/\$APP_IP/$CURRENT_IP/g" .env
4.2 Set installation path in for
CARRIER_PATH
andVOLUMES_PATH
in.env
:1 2 3 4 5
vi .env .... CARRIER_PATH=/opt/centry VOLUMES_PATH=/opt/centry/volumes ....
- Review list of default plugins in config file:
1
cat config/pylon.yml
- Launch the Carrier installer:
1
make up
Expected Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
[+] Running 15/15 ✔ Network centry_pylon Created 0.2s ✔ Container carrier-redis Started 29.4s ✔ Container carrier-loki Started 29.4s ✔ Container carrier-influx Started 29.7s ✔ Container carrier-minio Started 29.8s ✔ Container carrier-postgres Started 29.7s ✔ Container carrier-rabbit Started 1.6s ✔ Container centry-traefik-1 Started 1.5s ✔ Container carrier-vault Started 2.0s ✔ Container carrier-grafana Started 1.9s ✔ Container carrier-interceptor_internal Started 2.2s ✔ Container carrier-interceptor Started 2.7s ✔ Container carrier-keycloak Started 2.5s ✔ Container carrier-pylon-auth Started 5.9s ✔ Container carrier-pylon Started 5.8s
Verify that the main container is started:
Packages downloading process takes ~5-10 minutes
1
docker logs -f carrier-pylon
Expected Output:
1 2 3 4 5 6 7 8 9 10 11
INFO - pylon.core.tools.process - Stored in directory: /root/.cache/pip/wheels/e3/76/6f/c25be6a9e6cc9985b96e8c95997d46790242c6426ef68e754c INFO - pylon.core.tools.process - Successfully built jsonpath_rw INFO - pylon.core.tools.process - Installing collected packages: ply, decorator, jsonpath_rw INFO - pylon.core.tools.process - Successfully installed decorator-5.1.1 jsonpath_rw-1.4.0 ply-3.11 INFO - plugins.auth_mappers.module - Initializing module INFO - plugins.auth_oidc.module - Initializing module INFO - plugins.auth_root.module - Initializing module auth_root INFO - pylon.core.tools.server - Starting Flask server * Tip: There are .env or .flaskenv files present. Do "pip install python-dotenv" to use them. WARNING - werkzeug - * Debugger is active! INFO - werkzeug - * Debugger PIN: 686-802-926
Verify that no Docker containers have been restarted:
1
docker ps -a
Once the installation is finished, open the following URL in a browser:
http://<public DNS or IP>
- Log in to the Carrier web interface using the default credentials:
- Username:
admin
- Password:
admin
You’re all set, then! Excellent Work!
- Username:
Next Step: Create a Project in Carrier
Once you have completed the installation steps, you can proceed to create your first project in Carrier. The project allows you to organize and manage your performance and security tests.
Follow the guide on how to create a project in Carrier to get started.
Troubleshooting
- Restart carrier-pylon container
1
2
docker restart carrier-pylon
docker logs -f carrier-pylon
If something doesn’t work as expected, check the logs of the following containers for any errors:
1
2
3
docker logs -f carrier-keycloak
docker logs -f centry_traefik_1
docker logs -f carrier-pylon-auth
Uninstall
If the root volume was used as the hard drive, use the following commands to stop containers and remove all required artifacts:
1
2
3
docker-compose down
docker volume prune
docker network prune
If a mounted disk was used, manually delete all directories with images:
1
2
docker-compose down
sudo rm -rf /opt/docker