# 2. From sources

:warning:Not recommended, for development case, see [development-environment](https://romain.gitbook.io/free-commit/contribute/development-environment "mention")

### API

See [requirements](https://romain.gitbook.io/free-commit/installation/requirements "mention")

Install openjdk >= 11

```bash
# In your workspace
git clone git@github.com:romainlavabre/backend-free-commit.git
cd backend-free-commit

# Replace the properties file before continuing

./mvnw clean package -Dmaven.test.skip=true --no-transfer-progress

sudo mkdir /ci && sudo mkdir /ci/repository && sudo mkdir /ci/build

java -jar /target/app.jar --spring.profiles.active=local
```

:warning:Free Commit allows itself to use several locations on your system for different uses (cache, etc.). This is why we recommend using a container, in which free commit has a clean and personal environment. Don't do this on your home computer.

> At this point the api should respond on the port you defined in the property file

### Client

Install npm

```bash
# In your workspace
git clone git@github.com:romainlavabre/frontend-free-commit.git
cd frontend-free-commit

npm ci && npm build

# Configure your webserver
```
