{"id":22166842,"url":"https://github.com/drmacro/rsuite-docker","last_synced_at":"2026-01-29T12:38:12.277Z","repository":{"id":68335376,"uuid":"89865265","full_name":"drmacro/rsuite-docker","owner":"drmacro","description":"Docker-compose-based setup to run RSuite, MarkLogic, and MySQL in Docker containers","archived":false,"fork":false,"pushed_at":"2017-04-30T17:21:33.000Z","size":176,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-09T02:41:23.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drmacro.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-30T17:18:07.000Z","updated_at":"2017-05-01T13:25:32.000Z","dependencies_parsed_at":"2023-09-13T00:33:29.811Z","dependency_job_id":null,"html_url":"https://github.com/drmacro/rsuite-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/drmacro/rsuite-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drmacro%2Frsuite-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drmacro%2Frsuite-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drmacro%2Frsuite-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drmacro%2Frsuite-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drmacro","download_url":"https://codeload.github.com/drmacro/rsuite-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drmacro%2Frsuite-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28877876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T10:31:27.438Z","status":"ssl_error","status_checked_at":"2026-01-29T10:31:01.017Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-12-02T05:25:43.867Z","updated_at":"2026-01-29T12:38:12.262Z","avatar_url":"https://github.com/drmacro.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# RSuite Docker Setup\n\nThis project provides Dockerfiles and docker-compose files that allow you to run RSuite and its dependencies in Docker containers.\n\nYou are resposible for getting the RSuite and MarkLogic installers.\n\n## Setup Process\n\n1. Install RSuite under the directory for the RSuite version you're running using the normal RSuite installer.\n1. Get the MarkLogic installer for the MarkLogic version you want to run and put it in the corresponding `ml`n directory. \n1. Set up the mapping from local directories to the writable volumes needed by RSuite by creating a `.env` file to set the environment variables used in the `docker-compose.yml` file.\n1. Modify the RSuite `conf/rsuite.properties` file as needed to reflect the MarkLogic setup you plan to create (e.g., the ports of your XDBC servers, authentication details, etc.)\n1. Modify the RSuite `conf/rsuite.properties` file as needed to reflect the MySQL set up you plan to create. The default setup uses a database named \"rsuite\".\n1. Update the `docker-compose.yml` file as needed to set the host-side ports you will use to access RSuite, MarkLogic, and MySQL. You only need to change the ports if the provided ports conflict with something you're already running.\n1. Run `docker-compose up` to start the containers\n1. Connect to the MarkLogic server's admin app (Docker port 8001, default host port 9101) and finish the installation process by providing your MarkLogic license.\n1. Use the MarkLogic admin app to set up the database, forest, and XDBC app for use by RSuite.\n1. Connect to the MySQL server using a normal MySQL client and create the database for RSuite's use, e.g. \"rsuite\".\n1. Restart the Docker containers so RSuite can connect to the now-configured MySQL and MarkLogic servers. RSuite should work.\n\n## Setting up Volumes\n\nThere are a number of volumes that you will likely need to be able to write to, including the RSuite modules directory (if you have custom XQuery), the RSuite plugins directory (so your deployed plugins are persistent and so you can deploy them by simply copying to the directory rather than using the remote API or the Admin web app), and any hot folders you set up.\n\nThe directories are specified using the following environment variables:\n\n* RSUITE_MODULES\n* RSUITE_PLUGINS\n* RSUITE_HOTFOLDERS\n\nYou can set these variables statically in a file named `.env` in the same directory you run the `docker-compose` command from (e.g., the root of this project). The file `dotEnv.txt` provides a default set of settings. Simply copy it to `.env` and then run `docker-compose` as you normally would. \n\nAs shown in the `dotEnv.txt` file, you can use relative paths for the host-side directories.\n\n## Setting up RSuite\n\nBecause the RSuite installers don't provide for easy fully-automatic install, this project uses the technique of simply installing RSuite under the Dockerfile and then using Docker COPY to put the pre-configured RSuite into the Docker container. This is simple to set up but not as convenient to replicate as simply providing an installer.\n\nThe RSuite configuration needs to reflect the MarkLogic and MySQL servers as they are known inside docker, meaning that the server names are the service names defined in the docker-compose.yml file (e.g., \"marklogic\" and \"mysql\") and the ports are the inside-Docker ports, not the ports mapped from the host machine to the Docker container ports.\n\nOnce you have RSuite installed and configured, build the container:\n\n```\ndocker build -t rsd/rsuite:3.6 .\n```\n\nWhere the tag matches the `image:` value specified in the `docker-compose.yml` file.\n\n## Setting up MarkLogic\n\nNote that you will do the install using an RPM file even though the container runs Ubuntu.\n\n### Build the container\n\n1. Put the RPM file for the MarkLogic version you are running into the appropriate `ml`x directory.\n2. Edit the `Dockerfile` to set the `INSTALLER` argument to the filename of the MarkLogic RPM file.\n3. Build the container:\n\n   ```\n   docker build -t rsd/ml:4.2 .\n   ```\n   \n   Where the tag matches the `image:` value specified in the `docker-compose.yml` file.\n\n### Configure the MarkLogic server\n\nIf you want to be able to access the MarkLogic XDBC app server (or any other app server you configure) from outside Docker you need to add port mappings to the `docker-compose.yml` file.\n\nOtherwise, there is no other configuration required to run MarkLogic. You will need to configure MarkLogic using the MarkLogic administration web app once you start the container. The MarkLogic data is persisted to a named volume as configured in the `docker-compose.yml` file.\n\n## Setting up MySQL\n\nThe MySQL image is a public image pulled from hub.docker.com.\n\nThe defaul host port for MySQL is 9306 (as defined in the `docker-compose.yml` file). You can connect to this using a normal MySQL client like so:\n\n```\nmysql -P 9306 -u root -p  --host=127.0.0.1 --protocol=TCP\n```\n\nThe default password is \"admin\"\n\nTo create the RSuite database do:\n\n```\ncreate database rsuite;\n```\n\nThe MySQL data is persisted to a named volume defined in the `docker-compose.yml` file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrmacro%2Frsuite-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrmacro%2Frsuite-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrmacro%2Frsuite-docker/lists"}