Managoat is the hosted Fountain. Fountain is the open-source engine, and its name is on the CLI, the API, the SDK and this manual. Everything here applies to Managoat unless a page says it is for a self-hosted server.
Nobody can log in
This guide walks the chain from the most common cause to the least.
Note the symptom, because it misleads. Fountain accepts the password and the session is real, but the user never leaves the "check your email" page. That reads as a broken app, and not as a refused login.
1. Did the verification email go anywhere?
An instance with EMAIL_DELIVERY=none sends nothing, and that is the compose
default.
Verify an account by hand.
docker compose exec app bin/fountain_server eval \
'Fountain.Release.verify_email("[email protected]")'
If that unblocks the account, the problem is mail. Read Configure email.
2. You configured mail, and nothing arrives
The provider accepts mail from a domain that nobody verified. SPF, DKIM and DMARC then fail downstream, and the receiver rejects the message or files it as spam. Read the mail integration guide.
3. OAuth still works when mail does not
A GitHub sign-in arrives already verified, so it is a way back in while mail fails.
The reverse also holds. A GitHub outage breaks the button and nothing else. Password auth still works.
4. A password reset needs mail that works
With EMAIL_DELIVERY=none, a locked-out password account has no self-serve
route back. That is the trade the mode's boot notice warns you about, and the
one route left is a release task.
5. 429 responses
The API rate limit is 600 requests each minute, for each IP.
If Fountain rate-limits everyone at once behind a proxy, TRUSTED_PROXIES
is unset. Each client then shares the proxy's bucket. Read
Put it on the internet.
Related
- Configure email.
- Run a release task, for
verify_email/1andpromote_admin/1. - Mail integration guide.