61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# GoWiki - a simple wiki engine written in Go
|
|
|
|
## Building
|
|
|
|
**Requirements:**
|
|
|
|
* Go (golang) >= 1.12
|
|
|
|
Linux:
|
|
|
|
```
|
|
make
|
|
|
|
or offline
|
|
|
|
make vendor
|
|
```
|
|
|
|
OpenBSD:
|
|
|
|
```
|
|
GOOS=openbsd make
|
|
|
|
or offline
|
|
|
|
GOOS=openbsd make vendor
|
|
```
|
|
|
|
## Install
|
|
|
|
See the `scripts/` directory on how to install gowiki on Linux or OpenBSD.
|
|
|
|
## Config
|
|
|
|
```
|
|
{
|
|
"data_dir": "/var/lib/gowiki", // running directory. data will be stored here
|
|
"user": "wiki", // drop privileges to user
|
|
"group": "wiki", // drop privileges to group
|
|
"listen_addr": "127.0.0.1:8080", // listening <address>:<port>
|
|
"log_file": "gowiki.log", // log file (use - for stdout, this only works in combination with 'foreground: true')
|
|
"secret": "", // static hmac secret (at least 64 chars, used for JWT signing)
|
|
"admin": true, // set to false to disable the default admin user
|
|
"foreground": false, // do not fork into the background
|
|
"secure_cookie": false, // enable secure cookie flag
|
|
"debug": false // enable debugging
|
|
}
|
|
```
|
|
|
|
## Features
|
|
|
|
* Fulltext indexing of wiki pages
|
|
* Password hashing using BCrypt
|
|
* 2FA using TOTP
|
|
* Content Security Policy
|
|
* No Javascript (yet)
|
|
* Private wiki pages
|
|
|
|
### GoWiki on OpenBSD
|
|
|
|
GoWiki makes use of the OpenBSD native security features [pledge(2)](https://man.openbsd.org/pledge) and [unveil(2)](https://man.openbsd.org/unveil).
|