# Try out SonarQube

You’ve heard about how [SonarQube](https://www.sonarsource.com/products/sonarqube/) and the [clean-as-you-code](https://docs.sonarsource.com/sonarqube-server/10.2/user-guide/clean-as-you-code "mention") strategy can help you write cleaner and safer code, and now you’re ready to try it out for yourself. This guide shows you how to install a local instance of SonarQube and analyze a project. Installing a local instance gets you up and running quickly, so you can experience SonarQube firsthand.

Once you’re ready to set up a production instance, take a look at the [install-the-server](https://docs.sonarsource.com/sonarqube-server/10.2/setup-and-upgrade/install-the-server "mention") documentation.

## Installing a local instance of SonarQube <a href="#installing-a-local-instance-of-sonarqube" id="installing-a-local-instance-of-sonarqube"></a>

You can evaluate SonarQube using a traditional installation with the [zip file](https://www.sonarsource.com/products/sonarqube/downloads/) or you can spin up a Docker container using one of our [Docker images](https://hub.docker.com/_/sonarqube/). Select the method you prefer below to expand the installation instructions:

<details>

<summary>From the zip file</summary>

1. Download and install [Java 17](https://adoptium.net/en-GB/temurin/releases/?version=17) on your system.
2. [Download](https://www.sonarsource.com/products/sonarqube/downloads/) the SonarQube Community Edition zip file.
3. As a **non-`root`** **user**, unzip it in, for example, `C:\sonarqube` or `/opt/sonarqube`.
4. As a **non-`root`** **user**, start the SonarQube server:

```css-79elbk
# On Windows, execute:
C:\sonarqube\bin\windows-x86-64\StartSonar.bat
 
# On other operating systems, as a non-root user execute:
/opt/sonarqube/bin/<OS>/sonar.sh console
```

If your instance fails to start, check your [troubleshooting](https://docs.sonarsource.com/sonarqube-server/10.2/setup-and-upgrade/troubleshooting "mention") to find the cause.

</details>

<details>

<summary>From the Docker image</summary>

Find the Community Edition Docker image on [Docker hub](https://hub.docker.com/_/sonarqube/).

1. Start the server by running:

```css-79elbk
$ docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
```

</details>

Once your instance is up and running, Log in to <http://localhost:9000> using System Administrator credentials:

* login: admin
* password: admin

## Analyzing a project <a href="#analyzing-a-project" id="analyzing-a-project"></a>

Now that you’re logged in to your local SonarQube instance, let’s analyze a project:

1. Select **Create new project**.
2. Give your project a **Project key** and a **Display name** and select **Set up**.
3. Under **Provide a token**, select **Generate a token**. Give your token a name, select **Generate**, and click **Continue**.
4. Select your project’s main language under **Run analysis on your project**, and follow the instructions to analyze your project. Here you’ll download and execute a scanner on your code (if you’re using Maven or Gradle, the scanner is automatically downloaded).

After successfully analyzing your code, you’ll see your first analysis on SonarQube:

![Screenshot showing the home page of a project](https://2995682738-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9JA8mmyfC7QWzIoP9Meh%2Fuploads%2Fgit-blob-9b0e31ddb3be70389c66387ca09edc6517876a94%2F3bda4585104293b07ffe57011c252382f7fbb755.png?alt=media)

Screenshot showing the home page of a project

Your first analysis is a measure of your current code. As a developer, you focus on maintaining high standards and taking responsibility specifically for the new code you’re working on. Code that has been added or changed from this point should be your focus moving forward. For more information about the [clean-as-you-code](https://docs.sonarsource.com/sonarqube-server/10.2/user-guide/clean-as-you-code "mention") strategy, please review the SonarQube [concepts](https://docs.sonarsource.com/sonarqube-server/10.2/user-guide/concepts "mention").
