For the latest updates and improvements in production, open docs.codacy.com instead.
Installing Codacy Self-hosted#
This documentation guides you on how to install Codacy Self-hosted on Kubernetes or MicroK8s.
Important
If you're running the legacy Codacy Self-hosted solution running on Docker please contact support@codacy.com so that we can assist you with the migration to Codacy Self-hosted running on Kubernetes or MicroK8s.
To install Codacy you must complete these main steps:
-
Setting up the system requirements
Ensure that your infrastructure meets the hardware and system requirements to run Codacy.
-
Installing Codacy
Install Codacy on the cluster using our Helm chart that includes all the necessary components and dependencies.
-
Configuring Codacy
Configure integrations with Git providers and set up monitoring.
The next sections include detailed instructions on how to complete each step of the installation process. Make sure that you complete each step before advancing to the next one.
1. Setting up the system requirements#
Before you start, you must prepare and provision the database server and Kubernetes or MicroK8s cluster that will host Codacy.
Carefully review and set up the system requirements to run Codacy by following the instructions on the page below:
Optionally, you can follow one of the guides below to quickly create a new Kubernetes or MicroK8s cluster that satisfies the characteristics described in the system requirements:
2. Installing Codacy#
Install Codacy on an existing cluster using our Helm chart:
-
Make sure that you have the following tools installed on your machine:
-
kubectl within one minor version difference of your cluster
Important
If you're using MicroK8s you don't need to install kubectl because you will execute all
kubectl
commands asmicrok8s.kubectl
commands instead. To simplify this, check how to create an alias forkubectl
. -
Helm version >= 3.9
-
-
Create a cluster namespace called
codacy
that will group all resources related to Codacy.kubectl create namespace codacy
-
Add the Docker registry credentials provided by Codacy together with your license to a cluster Secret. This is necessary because some Codacy Docker images are currently private.
Substitute
<docker_username>
and<docker_password>
with the Docker registry username and password and run the following command:kubectl create secret docker-registry docker-credentials \ --docker-username=<docker_username> \ --docker-password=<docker_password> \ --namespace codacy
-
Download the template file
values-production.yaml
and use a text editor of your choice to edit the value placeholders as described in the comments. -
Create an address record on your DNS provider mapping the hostname you used in the previous step to the IP address of your Ingress controller.
Important
If you're using MicroK8s you must map the hostname to the public IP address of the machine running MicroK8s.
-
Add Codacy's chart repository to your Helm client and install the Codacy chart using the file
values-production.yaml
created previously.Important
If you're using MicroK8s you must download and use the file
values-microk8s.yaml
together with the filevalues-production.yaml
by uncommenting the last line in thehelm upgrade
command below.helm repo add codacy-stable https://charts.codacy.com/stable/ helm repo update helm upgrade --install codacy codacy-stable/codacy \ --namespace codacy \ --version 14.0.0 \ --values values-production.yaml # --values values-microk8s.yaml
-
By now all the Codacy pods should be starting in the cluster. Run the following command and wait for all the pods to have the status Running, which can take several minutes:
$ kubectl get pods -n codacy NAME READY STATUS RESTARTS AGE codacy-api-f7897b965-fgn67 1/1 Running 0 8m57s codacy-api-f7897b965-kkqsx 1/1 Running 0 8m57s codacy-crow-7c957d45f6-b8zp2 1/1 Running 2 8m57s codacy-crowdb-0 1/1 Running 0 8m57s codacy-engine-549bcb69d9-cgrqf 1/1 Running 1 8m57s codacy-engine-549bcb69d9-sh5f4 1/1 Running 1 8m57s codacy-fluentdoperator-x5vr2 2/2 Running 0 8m57s codacy-listener-868b784dcf-npdfh 1/1 Running 0 8m57s codacy-listenerdb-0 1/1 Running 0 8m57s codacy-minio-7cfdc7b4f4-254gz 1/1 Running 0 8m57s codacy-nfsserverprovisioner-0 1/1 Running 0 8m57s codacy-portal-774d9fc596-rwqj5 1/1 Running 2 8m56s codacy-rabbitmq-ha-0 1/1 Running 0 8m57s codacy-ragnaros-69459775b5-hmj4d 1/1 Running 3 8m57s codacy-remote-provider-service-8fb8556b-rr4ws 1/1 Running 0 8m56s codacy-worker-manager-656dbf8d6d-n4j7c 1/1 Running 0 8m57s
3. Configuring Codacy#
After successfully installing Codacy on your cluster, you're now ready to perform the post-install configuration steps:
-
Use a browser to navigate to the Codacy hostname previously configured on the file
values-production.yaml
. -
Log in using your Git provider account. This automatically creates a Codacy administrator account with your credentials.
-
Follow Codacy's onboarding process, which will guide you through the following steps:
- Configuring one or more of the following supported integrations:
- Creating an initial organization
- Inviting users to Codacy
-
As a last step we recommend that you set up monitoring on your Codacy instance.
If you run into any issues while configuring Codacy, be sure to check our troubleshooting guide for more help.
Share your feedback 📢
Did this page help you?
Thanks for the feedback! Is there anything else you'd like to tell us about this page?
255 characters left
We're sorry to hear that. Please let us know what we can improve:
255 characters left
Alternatively, you can create a more detailed issue on our GitHub repository.
Thanks for helping improve the Codacy documentation.
Edit this page on GitHub if you notice something wrong or missing.
If you have a question or need help please contact support@codacy.com.