{"id":22741846,"url":"https://github.com/t2bot/matrix-room-directory-server","last_synced_at":"2025-04-14T07:23:21.486Z","repository":{"id":40461347,"uuid":"199743764","full_name":"t2bot/matrix-room-directory-server","owner":"t2bot","description":"A minimal implementation of a room directory server for Matrix","archived":false,"fork":false,"pushed_at":"2024-05-13T21:29:53.000Z","size":51,"stargazers_count":5,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T21:06:26.660Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/t2bot.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-07-30T23:47:03.000Z","updated_at":"2024-05-13T21:29:57.000Z","dependencies_parsed_at":"2024-06-21T15:40:43.546Z","dependency_job_id":"7511a4bc-28e7-4f74-abf1-ef3e6b018bf7","html_url":"https://github.com/t2bot/matrix-room-directory-server","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/t2bot%2Fmatrix-room-directory-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t2bot%2Fmatrix-room-directory-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t2bot%2Fmatrix-room-directory-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t2bot%2Fmatrix-room-directory-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t2bot","download_url":"https://codeload.github.com/t2bot/matrix-room-directory-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837612,"owners_count":21169468,"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-12-11T00:18:54.396Z","updated_at":"2025-04-14T07:23:21.453Z","avatar_url":"https://github.com/t2bot.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# matrix-room-directory-server\n\nA minimal implementation of a room directory server for Matrix, using a Space as a backend.\n\nConfigure `matrix-room-directory-server` to look at a space and it will expose all the rooms in that space under the [federation `/publicRooms`](https://spec.matrix.org/v1.1/server-server-api/#public-room-directory) endpoint. This can then be used by clients by signing into your actual homeserver, asking for the room directory for the domain this project is hosted on, and it will return the rooms in the configured space. This project is used to host the `t2bot.io` room directory for example.\n\nSupport room: [#matrix-room-directory-server:t2bot.io](https://matrix.to/#/#matrix-room-directory-server:t2bot.io)\n\n**Caution**: Although this claims to be a room directory server, it is not yet recommended for full-featured deployment. \nCheck the GitHub issues before deploying.\n\nA room directory server is simply a service that resolves aliases to room IDs, where it then identifies one or more resident servers for the calling (usually joining) server to talk to. This further extends into offering the [`/publicRooms`](https://spec.matrix.org/v1.1/server-server-api/#public-room-directory) endpoint as a directory of rooms, usually supplied by a directory server.\n\n## Building and running\n\nThis project does not provide any guidelines on how to run this in your infrastructure. It is up to you to determine\nhow best to deploy this, and how much of it actually gets deployed.\n\nThe process is meant to be run only attached to a postgres instance and does not have any on-disk requirements other \nthan the executable itself.\n\nYou will need to be running or otherwise have access to a [matrix-key-server](https://github.com/t2bot/matrix-key-server).\nThis project also expects that you have extensive knowledge on how to set up an application service for\nyour server, as demonstrated by the program arguments.\n\nThis project uses Go modules and requires Go 1.17 or higher. To enable modules, set `GO111MODULE=on`.\n\n```bash\n# Build\ngit clone https://github.com/t2bot/matrix-room-directory-server.git\ncd matrix-room-directory-server\ngo build -v -o bin/matrix-room-directory-server\n\n# Run\n./bin/matrix-room-directory-server \\\n    -keyserver=\"https://keys.t2host.io\" \\\n    -address=\"0.0.0.0\" \\\n    -port=8080 \\\n    -space=\"#directory:example.org\" \\\n    -accesstoken=\"syt_randomstringfromserver\" \\\n    -hsurl=\"https://t2bot.io\"\n```\n\n#### Docker\n\n```bash\ndocker run -it --rm \\\n    -e \"ADDRESS=0.0.0.0\" \\\n    -e \"PORT=8080\" \\\n    -e \"KEYSERVER=https://keys.t2host.io\" \\\n    -e \"HSURL=https://t2bot.io\" \\\n    -e \"SPACE=#directory:example.org\" \\\n    -e \"ACCESSTOKEN=syt_randomstringfromserver\" \\\n    t2bot/matrix-room-directory-server\n```\n\nBuild your own by checking out the repository and running `docker build -t t2bot/matrix-room-directory-server .`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft2bot%2Fmatrix-room-directory-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft2bot%2Fmatrix-room-directory-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft2bot%2Fmatrix-room-directory-server/lists"}