{"id":20528214,"url":"https://github.com/manticoresoftware/manticore-github-issue-search","last_synced_at":"2025-04-14T04:51:01.376Z","repository":{"id":211215085,"uuid":"715909746","full_name":"manticoresoftware/manticore-github-issue-search","owner":"manticoresoftware","description":"Demo: GitHub search with Manticore Search","archived":false,"fork":false,"pushed_at":"2025-01-09T11:31:00.000Z","size":981,"stargazers_count":8,"open_issues_count":5,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-27T18:52:25.472Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.manticoresearch.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manticoresoftware.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":"2023-11-08T04:30:53.000Z","updated_at":"2025-01-09T11:31:02.000Z","dependencies_parsed_at":"2024-03-23T07:26:53.938Z","dependency_job_id":"ff697b60-d4ff-4c09-82db-0661fa5664c7","html_url":"https://github.com/manticoresoftware/manticore-github-issue-search","commit_stats":null,"previous_names":["manticoresoftware/manticore-github-issue-search"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticore-github-issue-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticore-github-issue-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticore-github-issue-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticore-github-issue-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manticoresoftware","download_url":"https://codeload.github.com/manticoresoftware/manticore-github-issue-search/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248824693,"owners_count":21167343,"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-15T23:23:58.797Z","updated_at":"2025-04-14T04:51:01.368Z","avatar_url":"https://github.com/manticoresoftware.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Demo: GitHub search with Manticore Search\n\n**Publicly available demo - [github.manticoresearch.com](https://github.manticoresearch.com/)**\n\n[Blogpost about this project](https://manticoresearch.com/blog/manticoresearch-github-issue-search-demo/)\n\n[Blogpost about semantic search with Manticore Search](https://manticoresearch.com/blog/github-semantic-search/)\n\n[Blogpost about how we added autocomplete](https://manticoresearch.com/blog/github-demo-how-we-added-autocomplete/)\n\n## Just run the demo locally\n\nTo run the project on your local machine, you need to have Docker installed with the compose plugin. Follow these commands to start:\n\n```\ngit clone https://github.com/manticoresoftware/manticore-github-issue-search.git\ncd manticore-github-issue-search/docker\ncp .env.example .env\n```\n\nIf you want to be able to crawl your github repositores, specify your [github token](https://github.com/settings/tokens) (\"Generate your token\" -\u003e \"classic\" -\u003e specify name -\u003e no checkboxes -\u003e \"Generate token\") in `GITHUB_TOKENS=\"\"` in the `.env` file.\n\n```\ncd containers/manticore\n\n# skip the following line if you just want to crawl your own repositories instead and don't need any ready data\nwget https://github.com/manticoresoftware/manticore-github-issue-search/releases/download/240327/backup.tar.gz \u0026\u0026 rm -fr backup \u0026\u0026 tar xzf backup.tar.gz\n\ncd ../..\ndocker compose down -v\ndocker compose up\n```\n\nAfter completing these steps, the project should be accessible at [http://localhost/](http://localhost/). If you have restored from a backup, you can open one of the crawled repositories, for example, [http://localhost/manticoresoftware/manticoresearch/](http://localhost/manticoresoftware/manticoresearch/).\n\n## Further configuration\n\nThe default port for the server is 80, so if you need to change it, update the `nginx` section in `app/config/app.ini.tpl`.\n\nIn the `.env` file, you can set up the other variables:\n- `GITHUB_TOKENS` - GitHub tokens to use for crawling\n- `GMAIL_ACCOUNT` / `GMAIL_PASSWORD` - to send notifications through\n- `SSL_CERT_PEM` / `SSL_CERT_KEY` - for HTTPS\n\n## Preparing for Deployment\n\nIf you aim to use this project beyond a Manticore Search demo, such as an alternative to GitHub's issue search, there's a method for deploying it on a remote server. First, install [yoda](https://github.com/Muvon/yoda) on your machine and familiarize yourself with its documentation.\n\n#### Setting Up Your GitHub Token\n\nYou will need a GitHub token to utilize the GitHub API. Ensure that your token is set in your environment on the user account you're using to deploy.\n\nYou should add the `GITHUB_TOKENS` to the remote server's environment. Usually, this can be done by adding it to the `~/.bashrc` file like so:\n\n```bash\nexport GITHUB_TOKENS=...\n```\nRemember, if you haven't added any tokens, you're limited to 60 requests per hour. That's not a lot for indexing an average repository. If you started the project with Docker Compose before without a token, note that Docker Compose caches it, and you'll need to recreate all containers after making changes by running `docker compose up --force-recreate`.\n\n#### Deployment\n\nFor deployment, tweak the `docker/Envfile` with your server details and make sure you have passwordless authentication set up with your SSH key. Then, simply run:\n\n```bash\nyoda deploy --env=production\n```\n\n#### Setting Up a New Server in 5 Steps\n\nPlease remember, deployment happens from the default branch to the server from the local machine. You can use the `--branch` flag with the `yoda` command to deploy from a different branch.\n\nPlace your public keys in the `docker/.ssh/authorized_keys` folder on the local machine.\n\n1. Start by initializing a new server using Rocky Linux 9 as the base operating system.\n2. Enter your server's IP address in the `Envfile` file on your local machine.\n3. Execute the following command to prepare the server and also set up SSH keys for you:\n\n    ```bash\n    yoda setup --host=server-ip\n    ```\n\n4. Kick off the deployment process with the next command:\n\n    ```bash\n    yoda deploy --host=server-ip\n    ```\n\n    or\n\n    ```bash\n    yoda deploy --env=production --branch=main\n    ```\n\n5. Wait for it to finish, and then you're good to go!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanticoresoftware%2Fmanticore-github-issue-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanticoresoftware%2Fmanticore-github-issue-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanticoresoftware%2Fmanticore-github-issue-search/lists"}