website/README.md

75 lines
2.3 KiB
Markdown
Raw Normal View History

2022-08-26 04:21:46 +00:00
# nonshy website
2022-08-26 04:21:46 +00:00
This is the source code to the main [nonshy.com](https://www.nonshy.com/)
website. It is written in Go and released under the GNU General Public
License.
This website is open source and if you'd like to help work on it (fix bugs
or contribute new features), you may sign up an account on the
2022-08-26 05:03:39 +00:00
[code.nonshy.com](https://code.nonshy.com/) server. See the
2022-08-26 04:21:46 +00:00
[CONTRIBUTING.md](CONTRIBUTING.md) file for details.
## Dependencies
You may need to run the following services along with this app:
* A **Redis cache** server: [redis.io](https://redis.io)
* (Optional) a **PostgreSQL database:** [postgresql.org](https://www.postgresql.org/)
The website can also run out of a local SQLite database which is convenient
for local development. The production server runs on PostgreSQL and the
web app is primarily designed for that.
## Building the App
2022-08-26 05:03:39 +00:00
This app is written in Go: [go.dev](https://go.dev). You can probably
get it from your package manager, e.g.
* macOS: `brew install golang` with homebrew: [brew.sh](https://brew.sh)
* Linux: it's in your package manager, e.g. `apt install golang`
Use the Makefile (with GNU `make` or similar):
* `make setup`: install Go dependencies
2022-08-26 04:21:46 +00:00
* `make build`: builds the program to ./nonshy
* `make run`: run the app from Go sources in debug mode
2022-08-26 05:03:39 +00:00
Or read the Makefile to see what the underlying `go` commands are,
e.g. `go run cmd/nonshy/main.go web`
## Configuring
On first run it will generate a `settings.json` file in the current
working directory (which is intended to be the root of the git clone,
with the ./web folder). Edit it to configure mail settings or choose
a database.
For simple local development, just set `"UseSQLite": true` and the
app will run with a SQLite database.
## Usage
2022-08-26 04:21:46 +00:00
The `nonshy` binary has sub-commands to either run the web server
or perform maintenance tasks such as creating admin user accounts.
2022-08-26 04:21:46 +00:00
Run `nonshy --help` for its documentation.
2022-08-26 04:21:46 +00:00
Run `nonshy web` to start the web server.
## Create Admin User Accounts
2022-08-26 04:21:46 +00:00
Use the `nonshy user add` command like so:
```bash
2022-08-26 04:21:46 +00:00
$ nonshy user add --admin \
--email name@domain.com \
--password secret \
--username admin
```
Shorthand options `-e`, `-p` and `-u` can work in place of the longer
options `--email`, `--password` and `--username` respectively.
## License
2022-08-26 04:21:46 +00:00
GPLv3.