The source code of the main nonshy.com website. https://www.nonshy.com
Go to file
2022-08-26 20:04:48 -07:00
cmd/nonshy Rename the module 2022-08-25 21:21:46 -07:00
pkg Small tweaks 2022-08-26 20:04:48 -07:00
web Small tweaks 2022-08-26 20:04:48 -07:00
.gitignore Rename the module 2022-08-25 21:21:46 -07:00
CONTRIBUTING.md Rename the module 2022-08-25 21:21:46 -07:00
go.mod Rename the module 2022-08-25 21:21:46 -07:00
go.sum Rename the module 2022-08-25 21:21:46 -07:00
LICENSE Rename the module 2022-08-25 21:21:46 -07:00
Makefile Rename the module 2022-08-25 21:21:46 -07:00
README.md Polish up open source release 2022-08-25 22:03:39 -07:00

nonshy website

This is the source code to the main 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 code.nonshy.com server. See the CONTRIBUTING.md file for details.

Dependencies

You may need to run the following services along with this app:

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

This app is written in Go: go.dev. You can probably get it from your package manager, e.g.

  • macOS: brew install golang with homebrew: 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
  • make build: builds the program to ./nonshy
  • make run: run the app from Go sources in debug mode

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

The nonshy binary has sub-commands to either run the web server or perform maintenance tasks such as creating admin user accounts.

Run nonshy --help for its documentation.

Run nonshy web to start the web server.

Create Admin User Accounts

Use the nonshy user add command like so:

$ 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

GPLv3.