8f746a44bd
As an SRE team we would like to expose standard metrics and grouped by version of the application. Right now will expose only metrics related to Go but instrumentor should be used in other parts of the codebase so we can track other metrics, eg. number of tasks, boards, users etc. Similar as we do in MM. It will run in port `localhost:9092` and it is a new config `prometheus_address`. Also in the commit we introduced, `group.Add` which helps us to handle gracefully errors for goroutines. It's a good practice and there are couple of articles by Golang for this.
46 lines
2 KiB
Markdown
46 lines
2 KiB
Markdown
---
|
|
title: "Administrator's Guide"
|
|
date: "2020-12-15T12:01:23-04:00"
|
|
section: "guide"
|
|
weight: 3
|
|
---
|
|
|
|
## Personal Server configuration
|
|
|
|
Personal Server settings are stored in `config.json` and is read when the server is launched. The contents are:
|
|
|
|
| Key | Description | Example |
|
|
| ----------- | ----------- | ---
|
|
| serverRoot | Root URL of the server | "http://localhost:8000"
|
|
| port | Server port | 8000
|
|
| dbtype | Type of database. `sqlite3` or `postgres` | "sqlite3"
|
|
| dbconfig | Database connection string | postgres://user:pass@localhost/boards?sslmode=disable&connect_timeout=10
|
|
| webpath | Path to web files | "./webapp/pack"
|
|
| filespath | Path to uploaded files folder | "./files"
|
|
| telemetry | Enable health diagnostics telemetry | true
|
|
| prometheus_address | Enables prometheus metrics, if it's empty is disabled | ":9092"
|
|
| session_expire_time | Session expiration time in seconds | 2592000
|
|
| session_refresh_time | Session refresh time in seconds | 18000
|
|
| localOnly | Only allow connections from localhost | false
|
|
| enableLocalMode | Enable Admin APIs on local Unix port | true
|
|
| localModeSocketLocation | Location of local Unix port | "/var/tmp/focalboard_local.socket"
|
|
|
|
|
|
## Resetting passwords
|
|
|
|
By default, Personal Server exposes admin APIs on a local Unix socket at `/var/tmp/focalboard_local.socket`. This is configurable by the `enableLocalMode` and `localModeSocketLocation` settings in config.json.
|
|
|
|
To reset a user's password, you can use the following `reset-password.sh` script:
|
|
|
|
```
|
|
#!/bin/bash
|
|
|
|
if [[ $# < 2 ]] ; then
|
|
echo 'reset-password.sh <username> <new password>'
|
|
exit 1
|
|
fi
|
|
|
|
curl --unix-socket /var/tmp/focalboard_local.socket http://localhost/api/v1/admin/users/$1/password -X POST -H 'Content-Type: application/json' -d '{ "password": "'$2'" }'
|
|
```
|
|
|
|
After resetting a user's password (e.g. if they forgot it), direct them to change it from the user menu, by clicking on their username at the top of the side bar.
|