From bc3fb33125a50881c2da0489e2093ba71cdd255d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20D=C3=BCren?= Date: Sun, 16 Mar 2025 19:38:55 +0100 Subject: [PATCH] Update index creation documentation with correct settings for NextCloud --- CloudronManifest.json | 2 +- README.md | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/CloudronManifest.json b/CloudronManifest.json index c9e5bf6..9a493ca 100644 --- a/CloudronManifest.json +++ b/CloudronManifest.json @@ -25,7 +25,7 @@ ], "minBoxVersion": "7.0.0", "memoryLimit": 4294967296, - "postInstallMessage": "Elasticsearch is now installed and available for internal use only.\n\nConnection Information:\n- REST API: ```http://localhost:9200``` (from within other Cloudron apps)\n- Transport Protocol: port ```9300``` (for Elasticsearch clients)\n\nAuthentication:\n- Username: ```elastic```\n- Password: A secure random password has been generated and stored in ``/app/data/credentials.txt```.\n\nThe password can be retrieved from:\n1. The app logs\n2. By accessing the app container\n3. The file at /app/data/credentials.txt\n\nNote: SSL is disabled for HTTP connections for compatibility with most client applications.", + "postInstallMessage": "Elasticsearch is now installed and available for internal use only.\n\nConnection Information:\n- REST API: ```http://localhost:9200``` (from within other Cloudron apps)\n- Transport Protocol: port ```9300``` (for Elasticsearch clients)\n\nAuthentication:\n- Username: ```elastic```\n- Password: A secure random password has been generated and stored in ```/app/data/credentials.txt```.\n\nThe password can be retrieved from:\n1. The app logs\n2. By accessing the app container\n3. The file at ```/app/data/credentials.txt```\n\n### Important: Creating Indices\nBefore using Elasticsearch with applications like NextCloud, you need to create the necessary indices.\n\nFor NextCloud FullTextSearch:\n```\ncurl -X PUT \"http://elastic:PASSWORD@IPADDRESS:9200/nextcloud\" -H 'Content-Type: application/json' -d'\n{\n \"settings\": {\n \"index\": {\n \"number_of_shards\": 1,\n \"number_of_replicas\": 0,\n \"refresh_interval\": \"10s\"\n }\n }\n}\n'\n```\nReplace PASSWORD with your elastic user password and IPADDRESS with the Elasticsearch container's IP address.\n\nNote: SSL is disabled for HTTP connections for compatibility with most client applications.", "multiDomain": false, "tcpPorts": { "9300": { diff --git a/README.md b/README.md index 319ff4e..1d8f81c 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,29 @@ Example connection using cURL: curl -u elastic: http://localhost:9200 ``` +### Setting up Indices + +**Important:** Before using Elasticsearch with apps like NextCloud, you need to create the necessary indices. + +For NextCloud FullTextSearch: + +```bash +# Replace with your actual Elasticsearch IP address and password +curl -X PUT "http://elastic:PASSWORD@IPADDRESS:9200/nextcloud" -H 'Content-Type: application/json' -d' +{ + "settings": { + "index": { + "number_of_shards": 1, + "number_of_replicas": 0, + "refresh_interval": "10s" + } + } +} +' +``` + +You can get the IP address from the Cloudron admin panel or by using the `cloudron status` command. The password is stored in `/app/data/credentials.txt`. + ## Security Notes - HTTP SSL is disabled for compatibility with most client applications