diff --git a/README.md b/README.md
index 0a9efbc..864aa2f 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,7 @@ hero -help
source ~/.zprofile
```
+There is also a quick guide on setting mdbook and hero on a full VM running on the TFGrid. Read the [docs](./docs/hero_mdbook_fullvm.md) for more information.
## to run the book
diff --git a/docs/hero_mdbook_fullvm.md b/docs/hero_mdbook_fullvm.md
new file mode 100644
index 0000000..c6b2cc4
--- /dev/null
+++ b/docs/hero_mdbook_fullvm.md
@@ -0,0 +1,122 @@
+
Hero and mdbook on a Full VM
+
+Table of Contents
+
+- [Introduction](#introduction)
+- [Prerequisites](#prerequisites)
+- [Setting the Full VM](#setting-the-full-vm)
+ - [Install cargo](#install-cargo)
+ - [Install redis](#install-redis)
+ - [Install pkg-config, gcc and libssl](#install-pkg-config-gcc-and-libssl)
+- [Set Hero](#set-hero)
+- [Generate the mdbook](#generate-the-mdbook)
+- [Access the mdbook from your local machine with the SSH tunnel](#access-the-mdbook-from-your-local-machine-with-the-ssh-tunnel)
+
+***
+
+## Introduction
+
+We show how to work with mdbook using the [hero](https://github.com/freeflowuniverse/crystallib/tree/development/cli/hero) tool.
+
+For this guide, we show an example using the mdbook from the repository [info_tfgrid](https://git.ourworld.tf/tfgrid/info_tfgrid).
+
+This guide can be done locally or on a VM. It should be run as root. We show the steps for a full VM deployed on the TFGrid with WireGuard.
+
+## Prerequisites
+
+On the full VM, you will need to install the following:
+
+- cargo
+- redis
+- gcc
+- pkg-config
+- libssl-dev
+
+Steps will be shown to install those prerequisites.
+
+## Setting the Full VM
+
+- Deploy a full VM with WireGuard on the TFGrid
+- Connect to the full VM with an SSH tunnel on port 3333 on both local and VM
+ ```
+ ssh -4 -L 3333:127.0.0.1:3333 root@10.20.4.2
+ ```
+- Preprare the VM:
+ ```
+ apt update && apt upgrade -y
+ ```
+
+### Install cargo
+
+Once you install cargo, all mdbook dependencies will be installed via the hero script.
+
+- Install cargo rust for linux and mac (with default installation)
+ ```
+ curl https://sh.rustup.rs -sSf | sh
+ ```
+- Configure the current shell
+ ```
+ source "$HOME/.cargo/env"
+ ```
+
+### Install redis
+
+- Install redis on the VM
+ ```
+ apt install lsb-release curl gpg
+ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
+ echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
+ apt-get update
+ apt-get install redis -y
+ ```
+
+### Install pkg-config, gcc and libssl
+
+- Install other packages
+ ```
+ apt install pkg-config -y
+ apt-get install gcc -y
+ apt install libssl-dev
+ ```
+
+## Set Hero
+
+- Download the hero installation script
+ ```
+ curl https://raw.githubusercontent.com/freeflowuniverse/crystallib/development/scripts/installer_hero.sh > /tmp/hero_install.sh
+ ```
+- Run the script as root
+ ```
+ bash /tmp/hero_install.sh
+ ```
+- Run hero to confirm the installation is done properly
+ ```
+ hero -help
+ ```
+
+## Generate the mdbook
+
+- Start the ssh-agent
+ ```
+ eval $(ssh-agent) # start the ssh-agent
+ ```
+- Generate the mdbook with hero
+ ```
+ hero mdbook -u https://git.ourworld.tf/tfgrid/info_tfgrid/src/branch/main/heroscript
+ ```
+- Change directory to where the book is built
+ ```
+ cd /root/hero/var/mdbuild/book_name
+ ```
+- You can then edit the content of the book as with any mdbook
+ ```
+ mdbook build
+ ```
+
+## Access the mdbook from your local machine with the SSH tunnel
+
+- To serve on your local machine, make sure to use the same part as the one set in your SSH tunnel (here it's port 3333)
+ ```
+ mdbook serve --port 3333
+ ```
+- To see the mdbook live, open a browser on the local machine and go to localhost:3333
\ No newline at end of file