diff --git a/docs/super-proof-docs/deployment/index.mdx b/docs/super-proof-docs/deployment/index.mdx
new file mode 100644
index 0000000..f5c0e6c
--- /dev/null
+++ b/docs/super-proof-docs/deployment/index.mdx
@@ -0,0 +1,5 @@
+# Run a Super proof node
+
+import DocCardList from "@theme/DocCardList";
+
+
diff --git a/docs/super-proof-docs/deployment/use_docker.md b/docs/super-proof-docs/deployment/use_docker.md
new file mode 100644
index 0000000..adc6b0f
--- /dev/null
+++ b/docs/super-proof-docs/deployment/use_docker.md
@@ -0,0 +1,169 @@
+import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
+
+# Use docker
+
+You can use Docker to run dispute explorer backend service [Dispute-explorer](https://github.com/optimism-java/dispute-explorer).
+
+## Prerequisites
+
+Download and install [Docker](https://www.docker.com/products/docker-desktop).
+
+# Run Super-proof backend Step-by-Step
+
+# Step 1. Config Environment file
+
+```
+mv .env.template .evn
+```
+
+```
+#log_format you can use console or json
+LOG_FORMAT=console
+
+# config your mysql data source
+MYSQL_DATA_SOURCE=
+
+# config chain name to tag your block chain name
+BLOCKCHAIN=
+
+# l1 rpc url example: eth json rpc url
+L1_RPC_URL=
+
+RPC_RATE_LIMIT=15
+RPC_RATE_BURST=5
+
+# the block number which before the first game has been created to make sure can not missing any game
+FROM_BLOCK_NUMBER=6034337
+
+# FROM_BLOCK_NUMBER block hash
+FROM_BLOCK_HASH=0xafc3e42c5899591501d29649ffef0bfdec68f8d77e6d44ee00ef88cfb1a2f163
+
+# the contract address of dispute game factory proxy
+DISPUTE_GAME_PROXY_CONTRACT=0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1
+
+API_PORT=8080
+```
+
+# Step 2. Start Dispute Game Explorer backend service
+
+use docker-compose to run this service
+
+```
+cd deploy
+docker-compose -f docker-compose.yml up -d
+```
+
+Now, this project is running now.
+
+Tip: if you just need a backend service to collect all data, Run Step 1 and Step 2.
+
+# Step 3. Run meiliSearch
+
+Run a meiliSearch service to sync MySql data for front service to search quickly
+
+```
+cd deploy
+docker-compose -f docker-compose-meiliSearch.yml up -d meiliSearch
+```
+
+Now, meiliSearch is running.
+
+# Step 4. Run meiliSync
+
+first, we need to find the api_key of meiliSearch
+
+```
+curl -H "Authorization: Bearer " http://localhost:port/keys
+```
+
+You should get a result, similar to :
+
+```json
+{
+ "results": [{
+ "name": "Default Search API Key",
+ "description": "Use it to search from the frontend",
+ "key": "d09536ef1e2742b4792c607465dc169f659f1b2dcb0107bfdce2542b602ed534",
+ "uid": "675ff658-9e73-460c-a3be-c6fcee624edf",
+ "actions": ["search"],
+ "indexes": ["*"],
+ "expiresAt": null,
+ "createdAt": "2024-08-06T08:47:38.225365511Z",
+ "updatedAt": "2024-08-06T08:47:38.225365511Z"
+ }, {
+ "name": "Default Admin API Key",
+ "description": "Use it for anything that is not a search operation. Caution! Do not expose it on a public frontend",
+ "key": "abc40e8457b32aa86d20ab0db0b42a86298b253209c4c31d9936b378e686d132",
+ "uid": "db1499f6-59a1-42c7-a13a-e18e191f456c",
+ "actions": ["*"],
+ "indexes": ["*"],
+ "expiresAt": null,
+ "createdAt": "2024-08-06T08:47:38.225052792Z",
+ "updatedAt": "2024-08-06T08:47:38.225052792Z"
+ }],
+ "offset": 0,
+ "limit": 20,
+ "total": 2
+}
+```
+
+And, use `Default Admin API Key`, `key` to update config.yml
+
+```
+meilisearch:
+ api_url: http://localhost:7701
+ api_key: abc40e8457b32aa86d20ab0db0b42a86298b253209c4c31d9936b378e686d132
+```
+
+launch the meiliSync service
+
+```
+cd deploy
+docker-compose -f docker-compose-meiliSearch up -d meiliSync
+```
+
+# Step 5. Validate meiliSync Service
+
+We can visit meiliSearch api to validate meiliSync service. more [meiliSearch docs](https://www.meilisearch.com/docs/reference/api/overview)
+
+```
+curl -H "Authorization: Bearer " http://localhost:port/indexes
+```
+
+You should get a result, similar to :
+
+```json
+{
+ "results": [
+ {
+ "uid": "disputegame",
+ "createdAt": "2024-08-06T09:24:24.640693956Z",
+ "updatedAt": "2024-08-07T07:02:32.402360903Z",
+ "primaryKey": "id"
+ },
+ {
+ "uid": "gameclaim",
+ "createdAt": "2024-08-06T09:24:24.670117944Z",
+ "updatedAt": "2024-08-07T07:02:28.94487306Z",
+ "primaryKey": "id"
+ },
+ {
+ "uid": "gamecredit",
+ "createdAt": "2024-08-06T10:37:42.013472322Z",
+ "updatedAt": "2024-08-07T07:02:32.379350451Z",
+ "primaryKey": "id"
+ },
+ {
+ "uid": "syncevents",
+ "createdAt": "2024-08-06T09:24:24.696318772Z",
+ "updatedAt": "2024-08-07T07:02:30.382386632Z",
+ "primaryKey": "id"
+ }
+ ],
+ "offset": 0,
+ "limit": 20,
+ "total": 4
+}
+```
+
+If you get information like this, it means our deploy it`s success.
diff --git a/docs/super-proof-docs/index.md b/docs/super-proof-docs/index.md
index 8b76b90..626daf6 100644
--- a/docs/super-proof-docs/index.md
+++ b/docs/super-proof-docs/index.md
@@ -1,3 +1,4 @@
-# Dispute-explorer
+# Super proof
+
+[Super proof](https://github.com/optimism-java/dispute-explorer) This is a Super proof backend for collecting dispute games information who use [OP stack](https://stack.optimism.io/)
-[Dispute-explorer](https://github.com/optimism-java/dispute-explorer) This is a dispute explorer backend for collecting dispute games information who use [OP stack](https://stack.optimism.io/)
diff --git a/sidebars.js b/sidebars.js
index 8c81147..cb36314 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -52,13 +52,13 @@ const sidebars = {
{
type: "category",
collapsed: true,
- label: "run a node",
+ label: "deployment",
link: {
type: "doc",
- id: "super-proof-docs/run-a-node/index",
+ id: "super-proof-docs/deployment/index",
},
items: [
- "super-proof-docs/run-a-node/use_docker",
+ "super-proof-docs/deployment/use_docker",
],
},
],