Deployment Options

CodeScene runs anywhere a modern Java Virtual Machine (JVM) runs. We test the tool on Mac OS, Windows, and various Linux distributions.

You can run CodeScene on your own server or choose from many popular cloud providers like AWS or Azure. When considering a fully-managed solution like Azure App Service keep in mind that CodeScene needs a fast and reliable file storage to operate properly. See also the System Requirements section.

System Requirements

The requirements change with the size and history of the codebase you want to analyze.

Physical memory and fast disk IO are the most critical resources on the server:

  • 4+ GB of RAM - it’s usually a good idea to adjust default Java heap size (1/4 of RAM) via -Xmx or -XX:MaxRAMPercentage (JDK 11+) to roughly 3/4 of total RAM (if CodeScene is the only significant process running on the server).
  • Fast (SSD) disk - crucial for analyzing large repos with deep history.
    • Do not use shared/distributed file storage like Azure Files, Amazon EFS, or NFS! Our experience shows that this leads to serious performance problems and sometimes to stability issues (internal application errors due to the CodeScene database being hosted on a distributed file system). For this reason, you should avoid hosting CodeScene on Azure App Service and/or via Azure Containers.
  • 4 vCPUs are enough for most workflows.

Public Cloud (AWS, Azure, et. al.)

For performance and stability reasons outlined in the System Requirements section we don’t recommend using managed services like Azure App Service or Azure Containers that rely on distributed file storage.

The recommended option is to deploy a plain Linux VM and run CodeScene as a standalone JAR or a Docker container as described in Installation.

Security - HTTPS & SSL/TLS certificates

If your instance is open to the general public, using HTTPS is important. CodeScene itself uses HTTP so you need to put another layer in front of it.

This can be done by using a proxy like nginx (see our example repo) or by using your cloud provider’s offering, e.g. AWS Beanstalk and ACM or Azure Key Vault.

Another popular option for SSL certificates is the Let’s Encrypt certification authority which makes it easy to renew certificates automatically - you can find more details about this option in our docker repository.


You should backup CodeScene’s database file regularly. Cloned repositories and analysis results may be recreated by running a new analysis.

The exact mechanism for performing backups depends on the deployment option you’ve chosen. A simple Cron job might work just fine. For the “public cloud” option, it’s usually better to use a managed solution, e.g. Azure Backup.