Docs: document Gmail SMTP setup for email
Add a Gmail App Password walkthrough to the README and note in CLAUDE.md that production email is configured, including the Unraid-template persistence caveat. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e1fc1f9a2b
commit
bc025d901b
@@ -45,6 +45,11 @@ Container defaults `WishNinja__DataPath=/data` and listens on `:8080`. Key vars:
|
|||||||
email links), `WishNinja__Smtp__*` (optional; if unset, emails are logged and invite links show in
|
email links), `WishNinja__Smtp__*` (optional; if unset, emails are logged and invite links show in
|
||||||
the admin UI). Full table in the README.
|
the admin UI). Full table in the README.
|
||||||
|
|
||||||
|
**Production email is configured** via a Gmail **App Password** (`smtp.gmail.com:587` STARTTLS),
|
||||||
|
stored in the Unraid template (masked). Invites + password resets both use it. See the README
|
||||||
|
"Email (Gmail example)" section. Reminder: SMTP vars must live in the Unraid *template*, not just
|
||||||
|
the running container, or a Force Update wipes them.
|
||||||
|
|
||||||
## Deployment (production)
|
## Deployment (production)
|
||||||
- **Repo:** `https://git.basso.land/jim/WishNinja` (Gitea). Push to `main` → Gitea Actions runs
|
- **Repo:** `https://git.basso.land/jim/WishNinja` (Gitea). Push to `main` → Gitea Actions runs
|
||||||
tests, builds the Docker image, pushes `git.basso.land/jim/wishninja:latest` + a SHA tag.
|
tests, builds the Docker image, pushes `git.basso.land/jim/wishninja:latest` + a SHA tag.
|
||||||
|
|||||||
@@ -54,6 +54,32 @@ All settings are environment variables (double-underscore maps to nested config)
|
|||||||
|
|
||||||
The container listens on **port 8080** over plain HTTP — terminate TLS at your reverse proxy.
|
The container listens on **port 8080** over plain HTTP — terminate TLS at your reverse proxy.
|
||||||
|
|
||||||
|
### Email (Gmail example)
|
||||||
|
|
||||||
|
Invites and password resets need SMTP. Gmail works via an **App Password** (not your account
|
||||||
|
password):
|
||||||
|
|
||||||
|
1. Enable **2-Step Verification** on the Google account, then create an App Password at
|
||||||
|
<https://myaccount.google.com/apppasswords>. You get a 16-character password — use it **without
|
||||||
|
spaces**.
|
||||||
|
2. Set the SMTP variables:
|
||||||
|
|
||||||
|
| Variable | Value |
|
||||||
|
|---|---|
|
||||||
|
| `WishNinja__Smtp__Host` | `smtp.gmail.com` |
|
||||||
|
| `WishNinja__Smtp__Port` | `587` |
|
||||||
|
| `WishNinja__Smtp__UseStartTls` | `true` |
|
||||||
|
| `WishNinja__Smtp__User` | your full Gmail address |
|
||||||
|
| `WishNinja__Smtp__Password` | the 16-char app password (no spaces) |
|
||||||
|
| `WishNinja__Smtp__FromAddress` | same Gmail address (Gmail requires From = authenticated user) |
|
||||||
|
| `WishNinja__Smtp__FromName` | e.g. `WishNinja` |
|
||||||
|
|
||||||
|
Other providers work the same way — just swap Host/Port/User/Password. Leave `Smtp__Host` empty to
|
||||||
|
disable email entirely (invite links still appear in the admin UI).
|
||||||
|
|
||||||
|
> **Unraid note:** set these as container variables via the template so they persist across
|
||||||
|
> *Force Update* redeploys — variables added only to a running container are lost on recreate.
|
||||||
|
|
||||||
## Running on Unraid
|
## Running on Unraid
|
||||||
|
|
||||||
1. **Build & publish the image.** Push to your Gitea repo; the included
|
1. **Build & publish the image.** Push to your Gitea repo; the included
|
||||||
|
|||||||
Reference in New Issue
Block a user