Updated install guide for opensearch

This commit is contained in:
frikky
2021-06-04 03:22:04 +02:00
parent 24fd96fcf0
commit f594f8f315
5 changed files with 56 additions and 44 deletions
+1
View File
@@ -57,4 +57,5 @@ SHUFFLE_OPENSEARCH_PASSWORD=
SHUFFLE_OPENSEARCH_CERTIFICATE_FILE= SHUFFLE_OPENSEARCH_CERTIFICATE_FILE=
SHUFFLE_OPENSEARCH_APIKEY= SHUFFLE_OPENSEARCH_APIKEY=
SHUFFLE_OPENSEARCH_CLOUDID= SHUFFLE_OPENSEARCH_CLOUDID=
SHUFFLE_OPENSEARCH_PROXY=
SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY=true SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY=true
+27 -39
View File
@@ -6,11 +6,21 @@ The Docker setup is done with docker-compose and is a single command to get set
**PS: if you're setting up Shuffle on Windows, go to the next step (Windows Docker setup)** **PS: if you're setting up Shuffle on Windows, go to the next step (Windows Docker setup)**
1. Make sure you have Docker and [docker-compose](https://docs.docker.com/compose/install/) installed. 1. Make sure you have [Docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) installed.
2. Run docker-compose. 2. Download Shuffle
``` ```
git clone https://github.com/frikky/Shuffle git clone https://github.com/frikky/Shuffle
cd Shuffle cd Shuffle
```
3. Fix prerequisites for the Opensearch database (Elasticsearch):
```
sudo sysctl -w vm.max_map_count=262144 # https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
sudo chown 1000:1000 -R shuffle-database # Requires for Opensearch
```
4. Run docker-compose.
```
docker-compose up -d docker-compose up -d
``` ```
@@ -26,7 +36,18 @@ This step is for setting up with Docker on windows from scratch.
``` ```
OUTER_HOSTNAME=YOUR.IP.HERE OUTER_HOSTNAME=YOUR.IP.HERE
``` ```
5. Run docker-compose
5. Configure max memory (WSL) by opening a new CMD/Powershell window. Required for Elasticsearch
```
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
echo "vm.max_map_count = 262144" > /etc/sysctl.d/99-docker-desktop.conf
echo -e "\nvm.max_map_count = 262144\n" >> /etc/sysctl.d/00-alpine.conf
# https://stackoverflow.com/questions/42111566/elasticsearch-in-windows-docker-image-vm-max-map-count
```
6. Run docker-compose
``` ```
docker-compose up -d docker-compose up -d
``` ```
@@ -35,7 +56,7 @@ docker-compose up -d
https://shuffler.io/docs/configuration https://shuffler.io/docs/configuration
### After installation ### After installation
1. After installation, go to http://localhost:3001/adminsetup (or your servername) 1. After installation, go to http://localhost:3001/adminsetup (or your servername - https is on port 3443)
2. Now set up your admin account (username & password). Shuffle doesn't have a default username and password. 2. Now set up your admin account (username & password). Shuffle doesn't have a default username and password.
3. Check out https://shuffler.io/docs/configuration as it has a lot of useful information to get started 3. Check out https://shuffler.io/docs/configuration as it has a lot of useful information to get started
@@ -44,43 +65,10 @@ https://shuffler.io/docs/configuration
### Useful info ### Useful info
* Check out [getting started](https://shuffler.io/docs/getting_started) * Check out [getting started](https://shuffler.io/docs/getting_started)
* The default state of Shuffle is NOT scalable. See [production setup](https://shuffler.io/docs/configuration#production_readiness) for more info
* The server is available on http://localhost:3001 (or your servername) * The server is available on http://localhost:3001 (or your servername)
* Further configurations can be done in docker-compose.yml and .env. * Further configurations can be done in docker-compose.yml and .env.
* Default database location is /etc/shuffle * Default database location is in the same folder: ./shuffle-database
### Execution problems
If you have problems with your first execution (hello world), you might need to set the correct Docker API version. Here's how:
1. Find your API version by running "docker version"
```
$ docker version
Client:
Version: 17.09.1-ce
API version: 1.32 # <-- this one
Go version: go1.8.3
Git commit: 19e2cf6
Built: Thu Dec 7 22:24:16 2017
OS/Arch: linux/amd64
Server:
Version: 17.09.1-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: 19e2cf6
Built: Thu Dec 7 22:22:56 2017
OS/Arch: linux/amd64
Experimental: false
```
2. Open docker-compose.yml and change the line with "DOCKER_API_VERSION" to your version.
3. Restart docker-compose
```
docker-compose down
docker-compose up
```
Related issue: #47
# Local development installation # Local development installation
Local development is pretty straight forward with **ReactJS** and **Golang**. This part is intended to help you run the code for development purposes. Local development is pretty straight forward with **ReactJS** and **Golang**. This part is intended to help you run the code for development purposes.
+15
View File
@@ -5675,9 +5675,24 @@ func initHandlers() {
transport := http.DefaultTransport.(*http.Transport).Clone() transport := http.DefaultTransport.(*http.Transport).Clone()
transport.MaxIdleConnsPerHost = 1000 transport.MaxIdleConnsPerHost = 1000
transport.ResponseHeaderTimeout = time.Second * 10 transport.ResponseHeaderTimeout = time.Second * 10
transport.Proxy = nil
if len(os.Getenv("SHUFFLE_OPENSEARCH_PROXY")) > 0 {
httpProxy := os.Getenv("SHUFFLE_OPENSEARCH_PROXY")
url_i := url.URL{}
url_proxy, err := url_i.Parse(httpProxy)
if err == nil {
log.Printf("[DEBUG] Setting Opensearch proxy to %s", httpProxy)
transport.Proxy = http.ProxyURL(url_proxy)
} else {
log.PrintF("[ERROR] Failed setting proxy for %s", httpProxy)
}
}
skipSSLVerify := false skipSSLVerify := false
if strings.ToLower(os.Getenv("SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY")) == "true" { if strings.ToLower(os.Getenv("SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY")) == "true" {
log.Printf("[DEBUG] SKIPPING SSL verification with Opensearch")
skipSSLVerify = true skipSSLVerify = true
} }
+3 -5
View File
@@ -34,6 +34,8 @@ services:
environment: environment:
- SHUFFLE_APP_HOTLOAD_FOLDER=/shuffle-apps - SHUFFLE_APP_HOTLOAD_FOLDER=/shuffle-apps
- SHUFFLE_FILE_LOCATION=/shuffle-files - SHUFFLE_FILE_LOCATION=/shuffle-files
- HTTP_PROXY=${SHUFFLE_HTTP_PROXY}
- HTTPS_PROXY=${SHUFFLE_HTTPS_PROXY}
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- opensearch - opensearch
@@ -70,14 +72,10 @@ services:
hostname: shuffle-opensearch hostname: shuffle-opensearch
container_name: shuffle-opensearch container_name: shuffle-opensearch
environment: environment:
- cluster.name=shuffle-cluster
- node.name=shuffle-opensearch
- discovery.seed_hosts=shuffle-opensearch
- cluster.initial_master_nodes=shuffle-opensearch
- bootstrap.memory_lock=true - bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms1024m -Xmx1024m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM - "OPENSEARCH_JAVA_OPTS=-Xms1024m -Xmx1024m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
- cluster.routing.allocation.disk.threshold_enabled=false
- opendistro_security.disabled=true - opendistro_security.disabled=true
- discovery.seed_hosts=shuffle-opensearch
ulimits: ulimits:
memlock: memlock:
soft: -1 soft: -1
+10
View File
@@ -4416,7 +4416,17 @@ const AngularWorkflow = (props) => {
//console.log("OLDNAME: ", selectedAction.name) //console.log("OLDNAME: ", selectedAction.name)
event.target.value = event.target.value.replaceAll("(", "") event.target.value = event.target.value.replaceAll("(", "")
event.target.value = event.target.value.replaceAll(")", "") event.target.value = event.target.value.replaceAll(")", "")
event.target.value = event.target.value.replaceAll("]", "")
event.target.value = event.target.value.replaceAll("[", "")
event.target.value = event.target.value.replaceAll("{", "")
event.target.value = event.target.value.replaceAll("}", "")
event.target.value = event.target.value.replaceAll("*", "")
event.target.value = event.target.value.replaceAll("!", "")
event.target.value = event.target.value.replaceAll("@", "")
event.target.value = event.target.value.replaceAll("#", "")
event.target.value = event.target.value.replaceAll("$", "") event.target.value = event.target.value.replaceAll("$", "")
event.target.value = event.target.value.replaceAll("%", "")
event.target.value = event.target.value.replaceAll("&", "")
event.target.value = event.target.value.replaceAll("#", "") event.target.value = event.target.value.replaceAll("#", "")
event.target.value = event.target.value.replaceAll(".", "") event.target.value = event.target.value.replaceAll(".", "")
event.target.value = event.target.value.replaceAll(",", "") event.target.value = event.target.value.replaceAll(",", "")