# Web Interface

{% hint style="danger" %}
This documentation site is deprecated. Please visit the README of <https://github.com/synzen/MonitoRSS> for hosting instructions.
{% endhint %}

These are general instructions on how to get the web UI up and running. Steps may vary depending on what other tools you may want to use.  The web does not fetch any feeds, and is only used to edit feeds.

{% hint style="warning" %}
If you're using a reverse proxy, **make sure it's not decoding request URIs**. For apache, see [here](https://stackoverflow.com/questions/4390436/need-to-allow-encoded-slashes-on-apache). For nginx, see [here](https://serverfault.com/questions/459369/disabling-url-decoding-in-nginx-proxy).

Loading in the interface on a subpath is also not supported.
{% endhint %}

## Requirements

1. Node.js v12.16 or higher
2. MongoDB v4.2+
3. Redis ([persistence](https://redis.io/topics/persistence) is not required)

## Setup

You can then set up the bot and web app separately, or you can run them together.&#x20;

### Standalone from clone (recommended for high availability)

1. Follow setup steps for[ cloning the bot](https://docs.monitorss.xyz/setting-up/bot), but in a separate directory (**separate** **from the original bot, so you have two different clones**). You may skip steps concerning config.bot.json.
2. Set up the required configs in settings/config.web.json (for details on each, see the [Web Interface configuration section of the wiki](https://docs.monitorss.xyz/configuration/web-interface))
   1. `config.bot.token`
   2. `config.bot.redirectURI`&#x20;
   3. `config.bot.clientID`
   4. `config.bot.clientSecret`
   5. `config.database.uri` (This must be the same URI that the bot uses)
   6. `config.database.redis`
3. Add the same `config.bot.redirectURI` to your bot application at [Discord Developers](https://discordapp.com/developers/applications/) in the OAuth 2 section.
4. Run `node web.js`

### Coupled with Bot

1. Follow the setup steps for [cloning the bot](https://docs.monitorss.xyz/setting-up/bot)
2. Set up the required configs in settings/config.web.json (for details on each, see the[ Web Interface configuration section of the wiki](https://docs.monitorss.xyz/configuration/web-interface))
   1. `config.bot.token`
   2. `config.bot.redirectURI`&#x20;
   3. `config.bot.clientID`
   4. `config.bot.clientSecret`
   5. `config.database.uri` (This must be the same URI that the bot uses in in config.bot.json)
   6. `config.database.redis`
3. Add the same `config.bot.redirectURI` to your bot application at [Discord Developers](https://discordapp.com/developers/applications/) in the OAuth 2 section.
4. Run `node bot-web.js`. This will run the bot and web at the same time, in the same process. You may also set the env variable `DRSS_START` to `bot-web` and run `server.js` instead.

## Access

&#x20;Go to `http://localhost:port` where `port` is what you set `config.http.port` to. If HTTPS is enabled, all requests are redirected to `https://`.
