more config doc

This commit is contained in:
Your Name 2024-06-17 16:37:37 -04:00 committed by Henri Dickson
parent f6229c7b31
commit 250f13eb5a

View file

@ -1,28 +1,56 @@
# Configuration
## Settings you may want to change
## Important settings you may want to change first
absolutely set these before start the instance for the first time:
absolutely set these in `.env` before start the instance for the first time:
- NEODB_SECRET_KEY - 50 characters of random string, no white space
- NEODB_SITE_NAME - the name of your site
- NEODB_SITE_DOMAIN - the domain name of your site
- `NEODB_SECRET_KEY` - 50 characters of random string, no white space
- `NEODB_SITE_NAME` - the name of your site
- `NEODB_SITE_DOMAIN` - the domain name of your site
`NEODB_SECRET_KEY` and `NEODB_SITE_DOMAIN` must not be changed later.
**`NEODB_SECRET_KEY` and `NEODB_SITE_DOMAIN` must not be changed later.**
if you are doing debug or development:
- NEODB_DEBUG - True will turn on debug for both neodb and takahe, turn off relay, and reveal self as debug mode in nodeinfo (so peers won't try to run fedi search on you)
- NEODB_IMAGE - the docker image to use, `neodb/neodb:edge` for the main branch
- `NEODB_DEBUG` - True will turn on debug for both neodb and takahe, turn off relay, and reveal self as debug mode in nodeinfo (so peers won't try to run fedi search on this node)
- `NEODB_IMAGE` - the docker image to use, `neodb/neodb:edge` for the main branch
## Settings for Federating
## Settings for customization
- `DISABLE_DEFAULT_RELAY` is set to `False` by default, the server will send and receive public posts from `relay.neodb.net`. `relay.neodb.net` is [open sourced](https://github.com/neodb-social/neodb-relay) and operated by NeoDB developers, it works like most ActivityPub relays except it only relays between NeoDB instances, it helps public information like catalogs and trends flow between NeoDB instances. You may set it to `True` if you don't want to relay public posts with other NeoDB instances.
- `NEODB_SITE_LOGO`
- `NEODB_SITE_ICON`
- `NEODB_USER_ICON`
- `NEODB_SITE_INTRO`
- `NEODB_SITE_HEAD`
- `NEODB_SITE_DESCRIPTION`
- `NEODB_SITE_LINKS`
- `NEODB_INVITE_ONLY` - `False` by default, set to `True` to require invite code(generated by `neodb-manage invite --create`) to register
- `NEODB_ENABLE_LOCAL_ONLY` - `False` by default, set to `True` to allow user to post marks as "local public"
- `NEODB_LOGIN_MASTODON_WHITELIST` - a list of Mastodon instances to allow login from, comma separated
- `NEODB_ADMIN_USERNAMES` - a list of usernames to be admin, comma separated, server restart is required to apply this setting after these users are registered.
- `NEODB_EMAIL_FROM` - the email address to send email from
- `NEODB_EMAIL_URL` - email sender configuration, e.g.
- `smtp://<username>:<password>@<host>:<port>`
- `smtp+tls://<username>:<password>@<host>:<port>`
- `smtp+ssl://<username>:<password>@<host>:<port>`
- `anymail://<anymail_backend_name>?<anymail_args>`, to send email via email service providers, see [anymail doc](https://anymail.dev/)
- `DISCORD_WEBHOOKS` - Discord channel to send notification about user submitted suggestion and changes, e.g. `suggest=https://discord.com/api/webhooks/123/abc,audit=https://discord.com/api/webhooks/123/def`
## Settings for Scrapers
TBA
## Settings for Federation
- `DISABLE_DEFAULT_RELAY` is set to `False` by default, the server will send and receive public posts from `relay.neodb.net`.
`relay.neodb.net` is [open sourced](https://github.com/neodb-social/neodb-relay) and operated by NeoDB developers, it works like most ActivityPub relays except it only relays between NeoDB instances, it helps public information like catalogs and trends flow between NeoDB instances. You may set it to `True` if you don't want to relay public posts with other NeoDB instances.
## Settings for external item sources
- `SPOTIFY_API_KEY` - base64('CLIENT_ID:SECRET'), see [spotify doc](https://developer.spotify.com/documentation/web-api/tutorials/client-credentials-flow)
- `TMDB_API_V3_KEY` - API v3 key from [TMDB](https://developer.themoviedb.org/)
- `GOOGLE_API_KEY` - API key for [Google Books](https://developers.google.com/books/docs/v1/using)
- `DISCOGS_API_KEY` - personal access token from [Discogs](https://www.discogs.com/settings/developers)
- `IGDB_API_CLIENT_ID`, `IGDB_API_CLIENT_SECRET` - IGDB [keys](https://api-docs.igdb.com/)
## Other maintenance tasks
@ -33,16 +61,9 @@ Add alias to your shell for easier access
alias neodb-manage='docker-compose --profile production run shell neodb-manage'
```
Enable Developer Console
```
neodb-manage createapplication --client-id NEODB_DEVELOPER_CONSOLE --skip-authorization --name 'NeoDB Developer Console' --redirect-uris 'https://example.org/lol' confidential authorization-code
```
## Multiple instances on one server
It's possible to run multiple clusters in one host server, as long as `NEODB_SITE_DOMAIN`, `NEODB_PORT` and `NEODB_DATA` are different.
It's possible to run multiple clusters in one host server with docker compose, as long as `NEODB_SITE_DOMAIN`, `NEODB_PORT` and `NEODB_DATA` are different.
## Scaling up