This repository contains the Docker Compose configuration files to easily deploy an instance of the Carrot server application, which is required to use the Jumper application.
For more information about Carrot and Jumper, please refer to the Jumper documentation.
You need a server with Docker installed. To install Docker, you can refer to the official documentation.
You should be able to run this command successfully:
docker compose versionThe minimum recommended server specifications are:
- 2 CPUs
- 2 GB RAM
- 20 GB disk space
Run the following command on your server:
curl -fsSL https://raw.githubusercontent.com/Jumper-Carrot/Carrot-deploy/main/install.sh | bash
cp .env.sample .env
docker compose up -d-
Download the repository files to your server:
curl -fsSL https://raw.githubusercontent.com/Jumper-Carrot/Carrot-deploy/main/install.sh | bashNOTE : Or on Windows server with PowerShell
iwr -useb https://raw.githubusercontent.com/Jumper-Carrot/Carrot-deploy/main/Install-CarrotDeploy.ps1 | iex
This command will download the Docker Compose configuration files to your current directory.
-
Configure environment variables in the
.envfile:cp .env.sample .env
NOTE : Or on Windows server with PowerShell
Copy-Item .env.sample .env -
(Optional) Edit the
.envfile to set your desired configuration.IMPORTANT : If you are in a production environment, make sure to set proper values for the following variables:
SECRET_KEY: Secret key for the application.SIGNING_KEY_FILE: Path to the signing key file (for JWT Tokens).VERIFYING_KEY_FILE: Path to the verifying key file (for JWT Tokens).POSTGRES_PASSWORD: Password for the PostgreSQL database.
-
Start the services using Docker Compose:
docker compose up -d
TIP : (Optional) If you want to use Traefik as a reverse proxy, you can set the
CARROT_DOMAINandLETSENCRYPT_EMAILvariables and start the services with docker-compose.traefik.yml instead:docker compose -f docker-compose.traefik.yml up -d
-
Access the Carrot application at
http://<your-server-ip>:9890(orhttps://<your-domain>if using Traefik).
-
Install the Jumper application on your machine:
- Jumper for Windows (.exe)
-
Run the executable to install the application.
-
Launch the Jumper application, and on the login page, enter the URL of your Carrot instance. For example:
http://<your-server-ip>:9890orhttps://<your-domain>if using Traefik.TIP : You can set this URL as the
JUMPER_BACKEND_URLenvironment variable on users’ machines to automate this step. -
Log in with the default administrator credentials:
- Email:
admin@mail.com - Password:
admin
- Email:
You are now ready to use the Jumper application connected to your Carrot server !
To update your Carrot instance, you can run the installation command again:
curl -fsSL https://raw.githubusercontent.com/Jumper-Carrot/Carrot-deploy/main/install.sh | bashThis will download the latest Docker configuration files, and .env.sample.
You can then modify your .env file if necessary, according to the new configuration.
Tip
Usually, updating Carrot simply involves changing the Docker image version
via the CARROT_IMAGE_VERSION variable in the .env file. Then restart the services with:
docker compose up -dAvailable Carrot versions are listed on Docker Hub.
Important
Before restarting the services, it is recommended to back up your PostgreSQL database:
docker exec -t carrot-postgres pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sqlNote
The Jumper application will automatically update to remain compatible with the associated Carrot version.
You can customize this behavior via the environment variables ALLOW_FRONTEND_UPDATES
and MAX_ALLOWED_VERSION in the .env file.
To contribute to Jumper and Carrot development, please refer to the respective repositories.
For detailed guidelines on how to contribute to the Carrot Deployment project (submitting bugs, feature requests, and Pull Requests), please see the CONTRIBUTING section.