Any good resources/Discord servers (to discuss with other devs) for troubleshooting user login/email verification issues?
I have a self-hosted instance and was able to make the admin user, but when trying to create a new test user, the user does not get the verification email.
I assume its related to this issue because I see the same issue but on login rather than sign up: https://github.com/LemmyNet/lemmy-ui/issues/1080
I am able to create the new user but get no email verification and then when I try to login the login button gets stuck with the spinner. No frontend console logs so I assume something is dying server-side and not bubbling the error.
Really just looking for some guidance/links to docs on how I can access logs to troubleshoot server-side errors (and my gut tells me maybe an email issue but I am a novice in this space so not sure).
Any help is appreciated.
Thank you.
How did you set up Lemmy? If you used Docker, you can get them from docker logs. For a native install, I’m unclear on where the logs get written or if they go through syslog; perhaps someone else can chime in.
If you’re using docker, try this:
Enter your Lemmy directory and run:
docker-compose logs --tail=10 -f lemmy
where
lemmy
is the name of the container running the lemmy backend (not the ui). With the logs tail-ing, try your registration process and look for any errors.The logs are fairly easy to parse visually, which is nice because there are quite a few backend errors that do not pop up in the UI. Keeping the logs tail-ing for the first day or so was really helpful in getting my instance up and running.
For what it’s worth, I’ve got email verification set up and working on my instance. I had some issues at first, but I had two problems, both of which gave me endless spinners in the UI:
config.hjson
file (d’oh!)tls_type
totls
.If the backend has any issue connecting to the email server, it should show up in the logs.
Nice! Thanks your mention of the
config.hjson
makes me wonder lol. I probably goofed that too.I did the ansible install which I believe just adds orchestration on top of the Docker install. I’ll ssh in and try the
docker-compose
command.Do you know, if I did goof the email config, can I just tweak the config locally and then re-run ansible? Or do I need to do some manual tweaks to the deployed solution? Or I suppose at this point it might be easier to just blow the instance away and start fresh.
I’m not clear on the ansible install, but if it’s just a layer on top of the docker deployment, you should be able to find the config file, edit it, and restart the container for the Lemmy back end.
I think that will work for testing, but I don’t know if that will get wiped out if you ever redeploy from ansible.
Cool thanks! Last thing for now, and then I’ll go do some debugging.
Dumb Q: The lemmy install includes an SMTP server correct? Like I don’t need to use an external service for that?
No, it doesn’t. You’ll need an SMTP server to plug into it. You can use any that you want, though, including Gmail, etc. Just plug in the relevant details. That will vary from provider to provider, but they all generally have setup instructions for email clients such as Thunderbird, Outlook, etc. The relevant portions of those guides are the “outgoing” configurations.
This post talks about running Postfix locally/alongside Lemmy and using Postfix to relay through SendGrid. Lemmy sends to postfix and postfix relays through SendGrid.
where are you running your environment ? I’m on DigitalOcean for example since last night, found out this morning that digitalocean blocks smtp port 25 to prevent being used for spammers. when checking the logs, also check the
postfix
container, that’s the email server. if that reads it can’t connect you probably have the same issue. see this thread for setting up sendgrid as a relay to your postfix mail serverOh snap, yes I am using Digital Ocean.
Looks like you might have forgotten to add the link, mind chucking that in when you get a chance?
Thanks, this seems like a good lead as well.
yep, same issue I had! the link :) https://lemmy.one/post/36440
after changing the docker-compose.yml file you have to destroy and up the postfix container
docker-compose stop postfix && docker-compose rm postfix docker-compose up -d
after changing your lemmy.hjson file, just restart the
lemmy
container.Noice many thanks! I’ll give it a shot.
I found this link which hopefully explains the process of coupling postfix to Sendgrid for DigitalOcean customers.
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-22-04
at the top of the article they link to this: https://marketplace.digitalocean.com/apps/sendgrid
and finally found this on SendGrid’s site: https://docs.sendgrid.com/for-developers/sending-email/postfix
I’m also working on this - thanks to this tip, I found that Hetzner also blocks port 25 by default. Apparently you can have it unblocked by going to the network tab – but it’s greyed out until you’ve paid them something.