# Metasearch config file. # # Anywhere in this file, you can reference environment variables using # placeholders such as ${FOOBAR} that Metasearch will expand at runtime (if # using Docker, remember to pass the host's env vars through to the container # via `docker run` flags such as `-e ZOOM_KEY`). ############################################################################### # ENGINE CONFIG # # An "engine" is an individual content source, e.g. Confluence. All supported # engines are listed below. # # You should customize the config values (required unless stated otherwise) for # all engines that you plan to use and simply delete the entries for any engines # that you don't plan to use. # # Each engine's config accepts an optional `name` key (not shown in this # example) that you may declare to override the engine's default name for # display purposes, e.g. `name: Employee directory` in Pingboard's config. ############################################################################### engines: # AWS tagged resources. Metasearch assumes that AWS credentials are located in # ~/.aws. You should mount the host's .aws folder into the container if # running Metasearch in Docker, e.g. -v "$HOME/.aws:/root/.aws" aws: # Comma-separated AWS regions region: us-east-1 # Confluence pages confluence: # Confluence server URL origin origin: https://example.atlassian.net # Atlassian API token token: Ex4mp1eEx4mp1eEx4mp1eEx4 # Atlassian user who owns the API token user: admin@example.com # Dropbox files and folders dropbox: # Case-insensitive regex for excluding search results based on file path # (optional) exclude: wip # Case-insensitive top-level folder to search in (optional, defaults to all # folders) folder: untitled (2) # Dropbox API token token: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eE # Google Drive documents drive: # Path to Google OAuth credentials. You can obtain this file by going to the # Google API console, creating credentials of type "OAuth client ID" with # application type "Web application" and `http://localhost:3001/` as an # authorized redirect URI, and clicking "DOWNLOAD JSON". # # https://console.developers.google.com/apis/credentials # https://github.com/googleapis/google-api-nodejs-client/tree/62f8193#oauth2-client # # Note that if you run Metasearch using Docker, you need to make the host's # credentials file accessible from inside the container. One way to do so is # by entering `/data/credentials.json` as this option's value and supplying # to `docker run` an additional flag that mounts the host file to that path: # `-v '/path/to/credentials.json:/data/credentials.json'` credentials: /path/to/credentials.json # OAuth2 refresh token. You can obtain this by piping the aforementioned # credentials file into this repo's `make oauth` command and then following # the CLI's instructions. # # For example: make oauth < /path/to/credentials.json token: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp # Figma files, projects, and teams figma: # Organization ID, the number that appears in the URL when viewing your # Figma organization's home page: https://www.figma.com/files/ organization: 123456789012345678 # Figma password. If your account doesn't have a password yet (e.g. because # you sign into Figma via Google), you can add one to your account by going # through Figma's "Forgot password?" flow. password: Ex4mp1eEx4mp1e # Figma user account user: admin@example.com # GitHub repo names and descriptions (for GitHub code, use Hound engine) github: # GitHub organization organization: example # GitHub API origin (optional, defaults to https://api.github.com) origin: https://api.github.com # GitHub personal access token token: abcdef0123456789abcdef0123456789abcdef01 # GitLab Merge Requests gitlab: # GitLab API origin (optional, defaults to https://gitlab.com) origin: https://gitlab.com # GitLab personal access token token: abcdef0123456789abcdef0123456789abcdef01 # Greenhouse job posts greenhouse: # Board token token: example # Google Groups (i.e. mailing lists) groups: # (See `drive` engine config for an explanation of this property) credentials: /path/to/credentials.json # Domain of groups to search domain: example.com # (See `drive` engine config for an explanation of this property) token: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp # Guru cards guru: # API user token token: 12345678-90ab-cdef-1234-567890abcdef # Token owner user: admin@example.com # Hound-indexed code: https://github.com/hound-search/hound hound: # GitHub organization organization: example # Hound server URL origin origin: https://hound.example.com # Jenkins job names jenkins: # Jenkins server URL origin origin: https://jenkins.example.com # Jenkins API token (optional, requires user) token: 0123456789abcdefg0123456789abcdefg # Jenkins user who owns the API token (optional, requires token) user: username # Jira issue titles and descriptions jira: # Jira server URL origin origin: https://example.atlassian.net # Atlassian API token token: Ex4mp1eEx4mp1eEx4mp1eEx4 # Atlassian user who owns the API token user: admin@example.com # Lingo assets lingo: # List of public and/or private kit URLs. Several URL formats are supported; # your kit URL may or may not include `?kit_token` depending on when it was # created in Lingo kits: - https://www.lingoapp.com/space/1234/k/34AFA130-49FC-43E1-8BA0-5F8849FE5FDE?kit_token=Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eE - https://www.lingoapp.com/1234/k/Icons-RWEr24?kit_token=Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eE - https://www.lingoapp.com/1234/k/Illustrations-Ex4mp1 # Mattermost posts mattermost: origin: https://my-mattermost-server.com team: team-name # Create a bot and use the token here. # In order to search non-public channels, add the bot as a member to the channel token: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eE # Notion page titles notion: # Create an internal integration at https://www.notion.so/my-integrations # and paste the token below. Make sure to share the notion pages with this # integration for them to be searchable. token: secret_Ex4mp1eEx4mp1eEx4mp1eEEx4mp1eEx4mp1eEx4mp1eE # ID of the space where you want to search pages, see URL of any page in # workspace (notion.so/happy/). workspace: happy # Outlook Calendar Events outlookCalendar: # Step 1: Register a new application on Microsoft Azure # (https://youtu.be/qOmeSDUNg_Q): clientId: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp clientSecret: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp # Step 2: Microsoft Graph API refresh token (lasts 90 days): Similar to the # `drive` engine's config, you can obtain this token by providing the # values above to this repo's `make oauth_microsoft` command as ID and # SECRET environment variables and then following the CLI's instructions. # # To illustrate: ID=*** SECRET=*** make oauth_microsoft token: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp # PagerDuty schedules and services pagerduty: # PagerDuty API token token: Ex4mp1eEx4mp1eEx4mp1 # Pingboard employees pingboard: # Pingboard non-admin API key ID key: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef # Pingboard organization name (appears before `.pingboard.com` in your account's URLs) organization: example # Pingboard non-admin API secret secret: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef # Rollbar projects rollbar: # Rollbar organization organization: example # Account access token with `read` scope token: 1234567890abcdef1234567890abcdef # Slack messages and channels slack: # Whether to include bot messages in search results bots: false # Slack organization name (appears before `.slack.com` in your account's URLs) organization: example # Slack OAuth token that has the scopes `channels:read` and `search:read` token: xoxp-1234567890-1234567890123-1234567890123-1234567890abcdef1234567890abcdef # Stack Overflow for Teams questions stackoverflow: # Last fragment of "Team URL" (https://stackoverflow.com/c/example) found at # Admin settings > Name & URL > Team URL team: example # Personal access token. See instructions here for how to obtain: # https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api token: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx # TalentLMS courses talentlms: # TalentLMS API key key: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx # TalentLMS organization name (appears before `.talentlms.com` in your account's URLs) organization: example # Trello actions, boards, cards, members, and organizations trello: # API key key: 12345678901234567890123456789012 # API token token: 1234567890123456789012345678901234567890123456789012345678901234 # Arbitrary website content website: # XML sitemaps to scrape. Metasearch will download and search the HTML # content of each location that appears in these sitemaps. The HTML is # kept in memory and rescraped every day, so it probably isn't a good idea # to specify sitemaps that have a million entries sitemaps: - https://www.example.com/sitemap.xml # Zoom room names zoom: # Zoom API key used for JWT authentication key: Ex4mp1eEx4mp1eEx4mp1eE # Zoom API secret used for JWT authentication secret: Ex4mp1eEx4mp1eEx4mp1eEx4mp1eEx4mp1eE ############################################################################### # ADVANCED CONFIG # # All config properties below are optional and commented out by default. ############################################################################### # Some custom HTML to render at the bottom of the page # footer: 'Lorem ipsum dolor sit amet' # Google Analytics tracking ID # trackingId: UA-00000000-00