Download the latest binary version from the [GitHub releases page](https://github.com/wgroeneveld/go-jamming/releases). This is a **single binary** and installing it is just a matter of copy-pasting it to your sever! Simply execute with `./go-jamming`.
### Compiling it yourself (optional)
If your target OS is not listed, you can build it yourself with one simple command: `go build`. Go 1.16+ is required, see `go.mod` file.
## 2. Configuring
Place a `config.json` file in the same directory that looks like this: (below are the default values)
```json
{
"port": 1337,
"host": "localhost",
"token": "miauwkes",
"conString": "mentions.db",
"utcOffset": 60,
"allowedWebmentionSources": [
"brainbaking.com",
"jefklakscodex.com"
],
"blacklist": [
"youtube.com"
]
}
```
- port, host: http server params
- token, allowedWebmentionSources: see below, used for authentication
- blacklist: blacklist domains from which we do NOT send to or accept mentions from.
- utcOffset: offset in minutes for date processing, starting from UTC time.
- conString: file path to store all mentions and author avatars in a simple key/value store, based on [buntdb](https://github.com/tidwall/buntdb). If the file does not exist yet, it will simply be created.
If a config file is missing, or required keys are missing, a warning will be generated and default values will be used instead. See `common/config.go`.
## 3. Reverse proxy
Put it behind a reverse proxy such as nginx using something like this: