Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No Login Menu #173

Open
ivanzgroot opened this issue Jan 26, 2025 · 5 comments
Open

No Login Menu #173

ivanzgroot opened this issue Jan 26, 2025 · 5 comments

Comments

@ivanzgroot
Copy link

ivanzgroot commented Jan 26, 2025

First of all I find the project amazing and would like to thank the creator for the great work. Now to the problem I am encountering:
I have setup SplitPro via docker-compose like so:

name: split-pro-prod

services:
postgres:
image: postgres:16
container_name: splitpro-db-prod
restart: always
environment:
- POSTGRES_USER=${POSTGRES_USER:?err}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?err}
- POSTGRES_DB=${POSTGRES_DB:?err}
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER}']
interval: 10s
timeout: 5s
retries: 5
# ports:
# - "5432:5432"
volumes:
- database:/var/lib/postgresql/data

splitpro:
image: ossapps/splitpro:latest
container_name: splitpro
restart: always
ports:
- ${PORT:-3000}:${PORT:-3000}
environment:
- PORT=${PORT:-3000}
- DATABASE_URL=${DATABASE_URL:?err}
- NEXTAUTH_URL=${NEXTAUTH_URL:?err}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET:?err}
- ENABLE_SENDING_INVITES=${ENABLE_SENDING_INVITES:?err}
- FROM_EMAIL=${FROM_EMAIL}
- EMAIL_SERVER_HOST=${EMAIL_SERVER_HOST}
- EMAIL_SERVER_PORT=${EMAIL_SERVER_PORT}
- EMAIL_SERVER_USER=${EMAIL_SERVER_USER}
- EMAIL_SERVER_PASSWORD=${EMAIL_SERVER_PASSWORD}
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
- AUTHENTIK_ID=${AUTHENTIK_ID}
- AUTHENTIK_SECRET=${AUTHENTIK_SECRET}
- AUTHENTIK_ISSUER=${AUTHENTIK_ISSUER}
- R2_ACCESS_KEY=${R2_ACCESS_KEY}
- R2_SECRET_KEY=${R2_SECRET_KEY}
- R2_BUCKET=${R2_BUCKET}
- R2_URL=${R2_URL}
- R2_PUBLIC_URL=${R2_PUBLIC_URL}
- WEB_PUSH_PRIVATE_KEY=${WEB_PUSH_PRIVATE_KEY}
- WEB_PUSH_PUBLIC_KEY=${WEB_PUSH_PUBLIC_KEY}
- WEB_PUSH_EMAIL=${WEB_PUSH_EMAIL}
- FEEDBACK_EMAIL=${FEEDBACK_EMAIL}
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
depends_on:
postgres:
condition: service_healthy

volumes:
database:

I would like to be able to access only via E-Mail and not using any OAuth Providers so I have setup following variables:

POSTGRES_USER="dbuser"
POSTGRES_PASSWORD="censoredpw"
POSTGRES_DB="splitprodb"
DATABASE_URL="postgresql://dbuser:censoredpw@splitpro-db-prod:5432/splitprodb"
NEXTAUTH_SECRET="censored secret"
NEXTAUTH_URL="http://localhost:3000"
ENABLE_SENDING_INVITES=true
FROM_EMAIL=cernsoredemail
EMAIL_SERVER_HOST=smtp.gmail.com
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER=censoredemail
EMAIL_SERVER_PASSWORD=censoredemailapppw

strangely everything runs when I start the stack via portainer but I don't get a login menu:

Image

My first idea was to try and see if I can curl the login so I ran following command:

curl http\://localhost\:3000/api/auth/providers

and this was the output:

{"email":{"id":"email","name":"Email","type":"email","signinUrl":"http://localhost:3000/api/auth/signin/email","callbackUrl":"http://localhost:3000/api/auth/callback/email"}}

I tried interpreting the curl output and I think it hints that the email provider is configured correctly in the NextAuth setup. So I am a little confused at the moment and don't now what else to try.

Any help would be appreciated. Thank you in advance.

@ivanzgroot
Copy link
Author

So the Problem solved itself as soon as I setup a Cloudflare tunnel and modified NEXTAUTH_URL to "https://myurl.com/"
I then added :
NEXTAUTH_URL_INTERNAL="http://localhost:3000/"
and it started working.
I was able to use the magic link function for my account and got the token via e-mail.
Now is where the other problem started:
I tried adding two friends via the add new expense tab and everything seemed ok, also the logs showed email sent. But they never get the email. If I log out and back in from my account I receive the token no problem so it shouldn't be SMTP.
The new users show in the Postgress database but there is no verification date.

@ivanzgroot
Copy link
Author

I haven't setup any OAuth methods just the SMTP server so that Magic Links are the only way to login.
All variables that aren't required and aren't related to SMTP have been uncommented in my .env file

@KMKoushik
Copy link
Member

@ivanzgroot so you have smtp working right. if the log shows mail sent and user did not recieve it, it might be end up in spam.

can you try testing sending invites to your email itself? [email protected] like this

@ivanzgroot
Copy link
Author

The E-mail isn't ending in spam, this is the first thing we all checked. I explained how we got it to work on #172. But I can't understand what the problem was. The logs always showed the email as sent.

@imnotjames
Copy link
Contributor

The E-mail isn't ending in spam, this is the first thing we all checked. I explained how we got it to work on #172. But I can't understand what the problem was. The logs always showed the email as sent.

If you're using Google SMTP does it show as sent from the account you sent from?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants