Skip to content

CodeClarityCE/deployment

Repository files navigation

codeclarity-logo

CodeClarity Deployment Guide

Secure your software, empower your team.

License Website

πŸš€ What is CodeClarity?

CodeClarity is a powerful, open-source security analysis platform that serves as an alternative to Snyk, Checkmarx, and Black Duck. It provides:

  • ⚑ Fast source code analysis - Identify dependencies, licenses, and vulnerabilities instantly
  • 🏠 Full on-premises control - Your code never leaves your environment
  • πŸ”— CI/CD integration - Seamlessly integrates with GitHub Actions, Jenkins, and more
  • 🧩 Extensible plugin system - Create custom analysis pipelines with modular plugins
  • πŸ“Š Comprehensive reporting - SBOM generation, vulnerability detection, license compliance

Current Plugin Ecosystem

  • Built-in Plugins: SBOM builder, vulnerability finder, license finder
  • External Integrations: CodeQL support
  • Expanding Library: More plugins coming soon

CodeClarity Platform Overview

Table of Contents

πŸ“‹ System Requirements

Before you begin, make sure your system meets the following requirements:

Tip

If you're new to Docker, check out the Docker Get Started guide for a quick introduction.

⚑ Quick Start Guide

Want to get started in 2 minutes? Run this one-liner to install CodeClarity locally:

curl -O https://raw.githubusercontent.com/CodeClarityCE/deployment/main/setup.sh && bash setup.sh

When prompted, choose Y for localhost installation, and you'll have CodeClarity running at https://localhost:443!

Note

For production deployments or custom configurations, follow the detailed setup instructions below.

πŸŽ‰ Start Using the Platform

You're ready to access CodeClarity! Open https://localhost:443 in your browser to get started.

Warning

Your browser may prompt you to accept the self-signed certificate generated by Caddy. This is expected for local installations.

Note

To help you get started quickly, use the following credentials:

  • Login: john.doe@codeclarity.io
  • Password: ThisIs4Str0ngP4ssW0rd?

We recommend changing your password after your first login.

Ready to explore? Follow the Create Your First Analysis guide to begin analyzing your code!

πŸ› οΈ Detailed Setup Instructions

This repository contains all the configuration files needed to deploy CodeClarity. The setup process is designed to be simple and guides you through different deployment scenarios.

1. Download and Run the Setup Script

This script will automatically clone the deployment repository and guide you through the initial setup of CodeClarity.

Warning

Please make sure the Docker daemon is running before executing the setup script.

curl -O https://raw.githubusercontent.com/CodeClarityCE/deployment/main/setup.sh && bash setup.sh
What does this script do?
  1. Clone the Deployment Repository: Downloads all necessary configuration files from the CodeClarityCE deployment repository.
  2. Start Docker Containers: Launches the core CodeClarity services using docker-compose.yml.
  3. Download Database Dumps: Retrieves pre-populated database dumps with initial platform data.
  4. Create Databases: Sets up the required databases for CodeClarity, ensuring a clean environment.
  5. Restore Database Content: Loads the initial data into the databases.
  6. Restart Containers: Restarts all services to apply changes and ensure everything is running correctly.

2. Choose Your Installation Method

The setup script will guide you through two installation options based on your deployment environment:

Option 1: Local Development Installation 🏠

Best for: Development, testing, and local evaluation

The fastest way to get started with CodeClarity is to install it on your local machine. This option is perfect for:

  • Evaluating CodeClarity's features
  • Development and testing
  • Quick proof-of-concept deployments

When prompted, select localhost installation:

Is this installation running on localhost (Y/n)?
Y

Note

What happens next:

  • CodeClarity will be accessible at https://localhost:443
  • Self-signed certificates will be automatically generated
  • No external DNS configuration required

Option 2: Production/Server Installation 🌐

Best for: Production deployments, team environments, and public-facing instances

Choose this option when deploying CodeClarity on a server with a specific domain name.

First, decline the localhost option:

Is this installation running on localhost (Y/n)?
n

Then provide your domain name (must point to your server's IP address):

Enter the domain name (localtest.io):
your-domain.com

Important

Prerequisites for domain installation:

  • Your domain must be configured to point to your server's IP address
  • Ensure ports 80 and 443 are accessible from the internet (if using automatic certificates)
SSL Certificate Options

You have two options for SSL certificates:

Automatic Certificate Generation (Recommended) πŸ”

Let Caddy automatically generate and manage SSL certificates via Let's Encrypt:

Do you want Caddy to generate certificates (Y/n)?
Y

Tip

Requirements for automatic certificates:

  • Your server must be publicly accessible from the internet
  • Domain must resolve to your server's public IP
  • Ports 80 and 443 must be open
  • Let's Encrypt rate limits apply
Custom Certificate Management πŸ“œ

Use your own SSL certificates:

Do you want Caddy to generate certificates (Y/n)?
n

Note

Using custom certificates:

  • The setup script will create placeholder certificates in the certs directory
  • Replace the generated certificates with your own before starting the platform
  • Restart the platform after replacing certificates: docker compose restart
  • Supported formats: PEM-encoded certificate and private key files

3. Update the Knowledge Database (Optional)

To keep your vulnerability database up to date, you can refresh it using the latest data from the National Vulnerability Database (NVD).

Note

Apply for a free NVD API key and add it to your .env.codeclarity file before updating.

To update the knowledge database, run:

make knowledge-update

This will download and import the latest vulnerability data, ensuring your platform has the most current security information.

4. Maintaining the Platform

After the initial setup, you can manage CodeClarity using standard Docker Compose commandsβ€”no need to rerun the setup script.

Note

Common Docker Compose Commands

  • docker compose up -d: Start the platform in the background (detached mode).
  • docker compose down: Stop the platform and remove containers.
  • docker compose restart: Restart all platform containers.
  • docker compose pull: Download the latest Docker images from the repository.

Tip

To update CodeClarity to the latest version:

  • git pull: Fetch the latest changes from the deployment repository.
  • docker compose pull: Download updated Docker images.
  • docker compose restart: Restart containers to apply updates.

Caution

Your data is stored in Docker volumes and will persist between restarts. However, always back up your data before performing major updates.

🀝 Contributing

If you'd like to contribute code or documentation, please see CONTRIBUTING.md for guidelines on how to do so.

πŸ› Reporting Issues

Please report any issues with the setup process or other problems encountered while using this repository by opening a new issue in this project's GitHub page.

πŸ“„ License

This project is licensed under the AGPL-3.0-or-later license. You can find the full license details in the LICENSE file.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors