From c5c3240c4c9e149a8a45298b2a75ce4f56785c28 Mon Sep 17 00:00:00 2001
From: writinwaters <93570324+writinwaters@users.noreply.github.com>
Date: Wed, 21 Aug 2024 19:27:25 +0800
Subject: [PATCH] How to make your changes to vm.max_map_count persistent on
macOS (#2041)
### What problem does this PR solve?
#1919
### Type of change
- [x] Documentation Update
---
docs/quickstart.mdx | 51 ++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 48 insertions(+), 3 deletions(-)
diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx
index 47db3c5c6..dd691887f 100644
--- a/docs/quickstart.mdx
+++ b/docs/quickstart.mdx
@@ -67,16 +67,61 @@ This section provides instructions on setting up the RAGFlow server on Linux. If
```
- If you are on macOS with Docker Desktop, then you *must* use docker-machine to update `vm.max_map_count`:
+ If you are on macOS with Docker Desktop, run the following command to update `vm.max_map_count`:
```bash
- $ docker-machine ssh
- $ sudo sysctl -w vm.max_map_count=262144
+ docker run --rm --privileged --pid=host alpine sysctl -w vm.max_map_count=262144
```
:::caution WARNING
This change will be reset after a system reboot. If you forget to update the value the next time you start up the server, you may get a `Can't connect to ES cluster` exception.
:::
+
+ To make your change persistent, create a file with proper settings:
+
+ 1.1. Create a file:
+
+ ```shell
+ sudo nano /Library/LaunchDaemons/com.user.vmmaxmap.plist
+ ```
+
+ 1.2. Open the file:
+
+ ```shell
+ sudo launchctl load /Library/LaunchDaemons/com.user.vmmaxmap.plist
+ ```
+
+ 1.3. Add settings:
+
+ ```xml
+
+
+
+
+ Label
+ com.user.vmmaxmap
+ ProgramArguments
+
+ /usr/sbin/sysctl
+ -w
+ vm.max_map_count=262144
+
+ RunAtLoad
+
+
+
+ ```
+
+ 1.4. After saving the file, load the new daemon:
+
+ ```shell
+ sudo launchctl load /Library/LaunchDaemons/com.user.vmmaxmap.plist
+ ```
+
+ :::note
+ If the above steps does not work, consider using [this workaround](https://github.com/docker/for-mac/issues/7047#issuecomment-1791912053), which employs a container and does not require manual editing of the macOS settings.
+ :::
+