diff --git a/README.md b/README.md
index 86304b5..a7d8ac1 100644
--- a/README.md
+++ b/README.md
@@ -31,8 +31,7 @@
 docker run -it -p 3000:3000 jami-web
 ```
 
-## Using [docker-compose](docker run -p 3000:3000 -it jami-project
-)
+## Using [docker-compose](docker run -p 3000:3000 -it jami-project)
 This will use a [Docker Volume](https://docs.docker.com/storage/volumes/) to enable auto-refresh when you change a file.
 
 ```bash
@@ -42,7 +41,10 @@
 
 # Sentry
 
-- add `sentry-client.config.json` file in `client` and `sentry-server.config.json` in your project root
+- uncomment the line `// import config from "./sentry-server.config.json" assert { type: "json" };` in `./sentry.js`
+- uncomment the line `// import config from "../sentry-client.config.json"` and the init config`Sentry.init(...` in `./client/index.js`
+- uncomment the lines `// import { sentrySetUp } from './sentry.js'` and `sentrySetUp(app)` in `./app.js`
+- add `sentry-client.config.json` file in `client` and `sentry-server.config.json` (ask them to an admin) in your project root
 
 # Tests
 
diff --git a/app.js b/app.js
index 90d0c84..d9f6e1f 100644
--- a/app.js
+++ b/app.js
@@ -28,7 +28,7 @@
 
 import JamiRestApi from './routes/jami.js'
 import JamiDaemon from './JamiDaemon.js'
-import { sentrySetUp } from './sentry.js'
+// import { sentrySetUp } from './sentry.js'
 
 const configPath = 'jamiServerConfig.json'
 
@@ -271,7 +271,7 @@
         }
     }
 
-    sentrySetUp(app);
+    // sentrySetUp(app);
 
     app.get('/auth', (req, res) => {
         const state = getState(req)
diff --git a/client/src/index.js b/client/src/index.js
index 199cb6f..e0bc61b 100644
--- a/client/src/index.js
+++ b/client/src/index.js
@@ -7,7 +7,7 @@
 import { Provider } from "react-redux";
 import { BrowserRouter as Router } from "react-router-dom";
 
-import config from "../sentry-client.config.json"
+// import config from "../sentry-client.config.json"
 import * as Sentry from "@sentry/react";
 import { BrowserTracing } from "@sentry/tracing";
 
@@ -17,10 +17,10 @@
 const rootEl = document.getElementById("root");
 var exports = {};
 
-Sentry.init({
-  ...config,
-  integrations: [new BrowserTracing()],
-});
+// Sentry.init({
+//   ...config,
+//   integrations: [new BrowserTracing()],
+// });
 
 const render = (Component) =>
   ReactDOM.render(
