{"id":19326043,"url":"https://github.com/jelastic-jps/couchbase","last_synced_at":"2025-04-22T20:32:21.720Z","repository":{"id":70425887,"uuid":"90273428","full_name":"jelastic-jps/couchbase","owner":"jelastic-jps","description":"Auto-Scalable Couchbase Cluster in Docker Containers","archived":false,"fork":false,"pushed_at":"2023-10-09T06:54:33.000Z","size":194,"stargazers_count":1,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-10-09T17:25:27.907Z","etag":null,"topics":["auto-scaling","couchbase","couchbase-cluster","couchbase-community","couchbase-docker-container","couchbase-server","docker-cluster","high-availability","nosql-database","nosql-server","rebalancing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jelastic-jps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-05-04T14:33:12.000Z","updated_at":"2023-10-09T17:25:27.908Z","dependencies_parsed_at":"2023-02-24T00:19:44.101Z","dependency_job_id":null,"html_url":"https://github.com/jelastic-jps/couchbase","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fcouchbase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fcouchbase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fcouchbase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fcouchbase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jelastic-jps","download_url":"https://codeload.github.com/jelastic-jps/couchbase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223903480,"owners_count":17222551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-scaling","couchbase","couchbase-cluster","couchbase-community","couchbase-docker-container","couchbase-server","docker-cluster","high-availability","nosql-database","nosql-server","rebalancing"],"created_at":"2024-11-10T02:12:17.807Z","updated_at":"2024-11-10T02:12:18.469Z","avatar_url":"https://github.com/jelastic-jps.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![couchbase-logo](images/couchbase-logo.png)\n\n# Couchbase Cluster in Docker Containers \n\nPrepackaged clustered NoSQL Couchbase DB solution with out-of-box automatic scaling and embedded data rebalancing for one-click\ndeployment into Docker containers.\n\n## Couchbase Cluster Topology\n\nThe current package implements instant deployment of a preconfigured Couchbase Cluster within Jelastic Cloud. Being run in\nDocker containers, it’s built on top of the official [*couchbase*](https://hub.docker.com/_/couchbase/) template. By default,\nyou get 3 interconnected Couchbase containers (though their number could be adjusted beforehand, during the package\ninstallation stage). \n\n\u003cp align=\"left\"\u003e\n\u003cimg src=\"images/couchbase-server-cluster-new.svg\" width=\"500\"\u003e\n\u003c/p\u003e\n\nUpon creation, each Couchbase container is assigned *16 dynamic cloudlets* as a room of resources for [vertical scaling](https://docs.jelastic.com/automatic-vertical-scaling) (up to 2\nGiB of RAM and 6.4 GHz of CPU). Subsequently, this default limit could be adjusted through the environment topology wizard by\nfollowing the linked guide.\n\nAlso, the following values are set as a maximal memory allocation size for the corresponding RAM services at each node in the\ncluster:\n- *Data* RAM - 1024 MiB\n- *Index* RAM - 256 MiB\n- *Full Text Search* (FTS) RAM - 256 MiB\n\nAnd to ensure sufficient level of security, connection to a cluster is established over the *HTTPS* protocol with [Jelastic SSL](https://docs.jelastic.com/jelastic-ssl) certificate being attached by default.  \n\n## Auto-Scaling Configuration\n\nThe Couchbase cluster size is automatically adjusted based on incoming load by changing the DB servers number (up to 10\ninstances per layer) according to the following conditions:\n- *+1 node* if CPU/RAM usage is *\u003e70%* for at least *5 minutes*\n- *-1 node* if CPU/RAM usage is *\u003c40%* for at least *5 minutes*\n\nWhen a node is added to or removed from the cluster, the process of *data rebalancing* is automatically handled. It is aimed\nto evenly re-distribute all the information, stored within a cluster, across the available nodes. Herewith, the cluster\nremains up and continues to serve and handle client requests. \n\nHerewith, each executed auto-scaling operation is supplemented with an appropriate email notification. In case you’d like to\nchange the conditions of automatic scaling manually, adjust the appropriate triggers by following the [Automatic Horizontal\nScaling](https://docs.jelastic.com/automatic-horizontal-scaling) guide.\n\n## How to Install Auto-Scalable Couchbase Cluster\n\nIn order to get Couchbase Cluster automatically set up, click the **Deploy to Jelastic** button below and specify your email\naddress within the opened widget. Then, choose one of the [Jelastic Public Cloud](https://jelastic.cloud/) providers (in case\nyou don’t have an account at the chosen platform, it will be created automatically) and click **Install**.\n\n[![Deploy](images/deploy-to-jelastic.png)](https://jelastic.com/install-application/?manifest=https://raw.githubusercontent.com/jelastic-jps/couchbase/master/manifest.jps)\n\nOtherwise, i.e. to deploy the package manually, log in to Jelastic dashboard with your credentials and [import](https://docs.jelastic.com/environment-import) link to the **_manifest.jps_** file above.\n\n![deploy-couchbase-cluster](images/deploy-couchbase-cluster.png)\n\nWithin the installation window, set a number of *Nodes in Cluster* to be created, type *Environment* name, and optional\n*Display Name* ([environment alias](https://docs.jelastic.com/environment-aliases)). Also, select the preferable [region](https://docs.jelastic.com/environment-regions) (if several ones are available) and click **Install**.\n\nWait a few minutes for Jelastic to prepare your environment and configure the auto-scaling settings. Once cluster is up,\nyou’ll be shown the appropriate pop-up message.\n\n![open-couchbase-web-concole](images/open-couchbase-web-concole.png)\n\nClick **Open in browser** here to access the *Couchbase Web Console* with your credentials and start exploring the available\nfeatures and filling up your DB with the data. \n\nFor more information on the Couchbase Cluster performance, refer to the following [article](http://blog.jelastic.com/2017/07/20/auto-scalable-couchbase-cluster-in-docker-containers/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelastic-jps%2Fcouchbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjelastic-jps%2Fcouchbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelastic-jps%2Fcouchbase/lists"}