The source code of the main nonshy.com website. https://www.nonshy.com
Go to file
Noah dd1e6c2918 Initial commit
* Initial codebase (lot of work!)
* Uses vanilla Go net/http and implements by hand: session cookies
  backed by Redis; log in/out; CSRF protection; email verification flow;
  initial database models (User table)
2022-08-09 22:32:19 -07:00
cmd/gosocial Initial commit 2022-08-09 22:32:19 -07:00
pkg Initial commit 2022-08-09 22:32:19 -07:00
web Initial commit 2022-08-09 22:32:19 -07:00
.gitignore Initial commit 2022-08-09 22:32:19 -07:00
go.mod Initial commit 2022-08-09 22:32:19 -07:00
go.sum Initial commit 2022-08-09 22:32:19 -07:00
Makefile Initial commit 2022-08-09 22:32:19 -07:00
README.md Initial commit 2022-08-09 22:32:19 -07:00

gosocial

Building

Use the Makefile:

  • make setup: install Go dependencies
  • make build: builds the program to ./gosocial
  • make run: run the app from Go sources in debug mode

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 gosocial binary has sub-commands to either run the web server or perform maintenance tasks such as creating admin user accounts.

Run gosocial --help for its documentation.

Run gosocial web to start the web server.

Create Admin User Accounts

Use the gosocial user add command like so:

$ gosocial 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

GPLv2.