{"id":20358068,"url":"https://github.com/irods/irods_demo","last_synced_at":"2025-04-12T03:15:06.112Z","repository":{"id":50140725,"uuid":"204920365","full_name":"irods/irods_demo","owner":"irods","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-20T03:18:31.000Z","size":391,"stargazers_count":6,"open_issues_count":4,"forks_count":16,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T03:14:59.803Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-08-28T11:55:17.000Z","updated_at":"2025-03-20T03:18:35.000Z","dependencies_parsed_at":"2022-09-24T01:01:25.626Z","dependency_job_id":"ef7b6d41-d11e-43bb-838f-34b19364b2c4","html_url":"https://github.com/irods/irods_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irods","download_url":"https://codeload.github.com/irods/irods_demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248510001,"owners_count":21116130,"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":[],"created_at":"2024-11-14T23:25:13.308Z","updated_at":"2025-04-12T03:15:06.094Z","avatar_url":"https://github.com/irods.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# irods_demo\n\nThis repository provides a docker-compose project designed to easily stand up a **DEMONSTRATION** of the iRODS server and a few of its clients.  It is intended for education and exploration.\n\n**DO NOT USE IN PRODUCTION.**\n\n![irods_demo dependency graph](dependencies.png)\n\n## Requirements\n\n- docker\n- docker compose\n\nA minimal configuration will have:\n\n- 2 CPUs\n- 4 GB RAM\n- 10 GB storage\n\n## Run\n\nIf you have not initialized submodules in this repo, run the following before attempting to start the Compose project:\n```\n$ git submodule update --init\n```\n`git submodule update` should be run any time the submodule is updated, so make sure to run it any time you pull or checkout different commits.\n\nTo run all services:\n```bash\n$ docker compose up\n```\n\nTo run an individual service (and all services on which it depends):\n```bash\n$ docker compose up \u003cservice-name\u003e\n```\n\nFor example, this command will spawn containers for the following services:\n\n1. `irods-catalog`\n2. `irods-catalog-provider`\n3. `irods-client-http-api`\n4. `nginx-reverse-proxy`\n5. `irods-client-zmt`\n\n```bash\n$ docker compose up irods-client-zmt\n```\n\nFor more information about Compose CLI options, see Docker Compose documentation: https://docs.docker.com/engine/reference/commandline/compose\n\n## Notes for services\n\n### `irods-client-zmt` / Zone Management Tool / ZMT\n\nThe ZMT service assumes that containers are running on the same host as the browser. If this is not the case (launching irods_demo via ssh, etc.), the value of `REACT_APP_HTTP_API_URL` should be changed to an address which correctly maps to the `nginx-reverse-proxy` service and that is reachable by both the ZMT service and the host running the browser.\n\n```diff\n-            - REACT_APP_HTTP_API_URL=http://localhost/irods-http-api/x.x.x\n+            - REACT_APP_HTTP_API_URL=http://\u003cpublic-hostname-or-ip\u003e/irods-http-api/x.x.x\n```\n\n### `irods-client-nfsrods` / NFSRODS\n\nOnce the service is running, the NFS server needs to be accessed from a mountpoint. This can be done with the following command:\n```bash\n$ sudo mount -o sec=sys,port=2050 localhost:/ ./irods_client_nfsrods/nfs_mount\n```\nThe hostname can also be the IP address of the container providing the service in the `irods-demo_default` Docker network if running from the same host. The mountpoint can exist on any other machine which can reach the host running the container providing the service because the port is being exposed, in which case the FQDN or IP address for the host machine can be used. For more information about mounting NFSRODS, see the README for the project: https://github.com/irods/irods_client_nfsrods#mounting\n\nWhen you are ready to stop the service, it would be a good idea to unmount first. This can be done by running the following:\n```bash\n$ sudo umount ./irods_client_nfsrods/nfs_mount\n```\n\nThe NFSRODS service maps the `/etc/passwd` file on the host machine to the `/etc/passwd` file in the container providing the service. The user(s) accessing the mountpoint will need to exist as iRODS users as well in order to be able to interact with the mountpoint. This can be done by running the following command on the host machine for each `username` which needs to be mapped:\n```bash\n$ docker exec irods-demo-irods-client-icommands-1 iadmin mkuser \u003cusername\u003e rodsuser\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firods%2Firods_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods_demo/lists"}