<commit_before># Stool development

Stool has a client- and a server part, both talk rest to each other. The server itself also tasks to the Docker daemon on the hosting machine.

To build Stool, you need:
* Linux or Mac
* Java 8+
* Maven 3+
* Git
* Docker (with api 1.38+) and Kubernetes. 
* TODO: depends on fault and cisotools

## Docker setup 

Docker on macOS should be fine out of the box (it sets up a Linux VM, and all docker containers run as the development user).

With Linux, you either setup Docker to run as your user or as a root user.

### Linux - Containers run as root

This is the normal setup: install Docker for you Linux distribution and make sure that the development user has permissions to access
the docker socket (usually be adding him/her to the Docker group).

In addition, you need to make sure that root has access to the Fault workspace:

* add `allow_others` to `/etc/fuse.conf`
* append `-Dfault.mount_opts=allow_root` to `FAULT_OPTS`
<commit_msg>Fix misleading fuse instruction.<commit_after># Stool development

Stool has a client- and a server part, both talk rest to each other. The server itself also tasks to the Docker daemon on the hosting machine.

To build Stool, you need:
* Linux or Mac
* Java 8+
* Maven 3+
* Git
* Docker (with api 1.38+) and Kubernetes. 
* TODO: depends on fault and cisotools

## Docker setup 

Docker on macOS should be fine out of the box (it sets up a Linux VM, and all docker containers run as the development user).

With Linux, you either setup Docker to run as your user or as a root user.

### Linux - Containers run as root

This is the normal setup: install Docker for you Linux distribution and make sure that the development user has permissions to access
the docker socket (usually be adding him/her to the Docker group).

In addition, you need to make sure that root has access to the Fault workspace:

* add `user_allow_other` to `/etc/fuse.conf`
* append `-Dfault.mount_opts=allow_root` to `FAULT_OPTS`

{'fraction_non_alphanumeric': 0.05994962216624685, 'fraction_numerical': 0.005037783375314861, 'mean_word_length': 4.002518891687657, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1300313', 'n_tokens_mistral': 588, 'n_tokens_neox': 549, 'n_words': 321}