Note: Custom jwks key can be passed by adding a jwks.json file in keys folder in each deployment folder such as
/deploy/docker/keys
You'll need to have Docker and docker-compose installed and running on your host system. Also, the version of docker-compose should be 1.27.0
or above. Check your docker-compose version using:
docker-compose version
You can use prebuilt images generated by our CI workflow.
-
To use the latest stable version.
- Linux Machine
curl -o docker-compose.yml https://raw.githubusercontent.com/OWASP/crAPI/main/deploy/docker/docker-compose.yml docker-compose pull docker-compose -f docker-compose.yml --compatibility up -d
- Windows Machine
curl.exe -o docker-compose.yml https://raw.githubusercontent.com/OWASP/crAPI/main/deploy/docker/docker-compose.yml docker-compose pull docker-compose -f docker-compose.yml --compatibility up -d
-
To use the latest development version
- Linux Machine
curl -o docker-compose.yml https://raw.githubusercontent.com/OWASP/crAPI/develop/deploy/docker/docker-compose.yml VERSION=develop docker-compose pull VERSION=develop docker-compose -f docker-compose.yml --compatibility up -d
- Windows Machine
curl.exe -o docker-compose.yml https://raw.githubusercontent.com/OWASP/crAPI/develop/deploy/docker/docker-compose.yml set "VERSION=develop" docker-compose pull docker-compose -f docker-compose.yml --compatibility up -d
Visit http://localhost:8888.
Note: All emails are sent to mailhog service by default and can be checked on http://localhost:8025 You can change the smtp configuration if required however all emails with domain example.com will still go to mailhog.
-
Clone crAPI repository
- Linux Machine
$ git clone [REPOSITORY-URL]
- Windows Machine
$ git clone [REPOSITORY-URL] --config core.autocrlf=input
-
Build all docker images
- Linux Machine
$ deploy/docker/build-all.sh
- Windows Machine
$ call "%cd%\deploy\docker\build-all.bat"
-
Start crAPI
$ docker-compose -f deploy/docker/docker-compose.yml --compatibility up -d
-
Visit
http://localhost:8888
Note: All emails are sent to mailhog service by default and can be checked on
http://localhost:8025
You can change the smtp configuration if required however all emails with domain example.com will still go to mailhog.
-
Clone the repo
git clone [REPOSITORY-URL]
-
Install the helm chart
Inorder to manually mount the data to a specific location, hostPath should be updated in values-pv.yaml, and used to install the helm charts.
cd deploy/helm helm install --namespace crapi crapi . --values values-pv.yaml
Otherwise install the helm chart normally.
cd deploy/helm helm install --namespace crapi crapi . --values values.yaml
-
If using minikube, create a tunnel to initialize the LoadBalancers
minikube tunnel --alsologtostderr
-
Access crAPI
crAPI should be available on the
<LOADBALANCER_IP>:8888
Mailhog on<LOADBALANCER_IP>:8025
Or for minikube run the following command to get the URL
crAPI URL: $ echo "http://$(minikube ip):30080"
Mailhog URL: echo "http://$(minikube ip):30025"
This option allows you to run crAPI within a virtual machine, thus isolated from your system. You'll need to have Vagrant and, for example VirtualBox installed.
- Clone crAPI repository
$ git clone [REPOSITORY-URL]
- Start crAPI Virtual Machine
$ cd deploy/vagrant && vagrant up
- Visit
http://192.168.33.20
Note: All emails are sent to mailhog service by default and can be checked on
http://192.168.33.20:8025
You can change the smtp configuration if required however all emails with domain example.com will still go to mailhog.
Once you're done playing with crAPI, you can remove it completely from your system running the following command from the repository root directory
$ cd deploy/vagrant && vagrant destroy
If you need any help with installing and running crAPI you can check out this guide: Troubleshooting guide crAPI. If this doesn't solve your problem, please create an issue in Github Issues.