Noah Petherbridge
2a8a1df6ab
* 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)
46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
$ 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. |