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

SMTP no reaction #311

Open
groetg opened this issue Jan 1, 2025 · 6 comments
Open

SMTP no reaction #311

groetg opened this issue Jan 1, 2025 · 6 comments

Comments

@groetg
Copy link

groetg commented Jan 1, 2025

Hello,

I have got Solidtime on Unraid working on Docker, but cant register any accounts, I tried several SMTP accounts, where can I find the activation link in what kind of log file?

I want to use the log mailer. I have MAIL_MAILER="log" in mij .env file. But in which log file or in wich docker should I see the verification link I should expect?

@groetg
Copy link
Author

groetg commented Jan 1, 2025

I found the link at last, but when I folow the link I get an 403 Invalid signature. Error.

@groetg
Copy link
Author

groetg commented Jan 2, 2025

Health-check:

{"ip_address":"89.205.139.138","url":"https://solidtime.groet-infra.nl/health-check/debug","path":"health-check/debug","hostname":"solidtime.groet-infra.nl","timestamp":1735812236,"date_time_utc":"2025-01-02 10:03:56","date_time_app":"2025-01-02 10:03:56","timezone":"Etc/UTC","secure":true,"is_trusted_proxy":true,"app_debug":true,"app_url":"https://solidtime.groet-infra.nl","app_env":"production","app_timezone":"UTC","app_force_https":true,"trusted_proxies":["0.0.0.0/0","2000:0:0:0:0:0:0:0/3"],"headers":{"host":["solidtime.groet-infra.nl"],"sec-fetch-dest":["document"],"sec-fetch-mode":["navigate"],"sec-gpc":["1"],"accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8"],"accept-language":["nl-NL,nl;q=0.6"],"cf-connecting-ip":["89.205.139.138"],"cf-ipcountry":["NL"],"sec-ch-ua-mobile":["?0"],"upgrade-insecure-requests":["1"],"cf-visitor":["{"scheme":"https"}"],"x-forwarded-for":["89.205.139.138"],"priority":["u=0, i"],"sec-fetch-user":["?1"],"accept-encoding":["gzip, br"],"cdn-loop":["cloudflare; loops=1"],"cf-ray":["8fb9ec0c5f6c6637-AMS"],"connection":["keep-alive"],"cookie":"***","sec-fetch-site":["none"],"x-forwarded-proto":["https"],"user-agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"],"cf-warp-tag-id":["503ad2d1-1e7a-4aed-9ce7-836e4487d202"],"sec-ch-ua":[""Brave";v="131", "Chromium";v="131", "Not_A Brand";v="24""],"sec-ch-ua-platform":[""Windows""]}}

Docker yml
`services:
app:
restart: always
image: "solidtime/solidtime:${SOLIDTIME_IMAGE_TAG:-latest}"
user: "1000:1000"
ports:
- '${FORWARD_APP_PORT:-8000}:8000'
networks:
- internal
volumes:
- "app-storage:/mnt/user/appdata/solidtime/storage"
- "./logs:/mnt/user/appdata/solidtimestorage/logs"
- "./app-storage:/mnt/user/appdata/solidtime/storage/app"
environment:
CONTAINER_MODE: http
AUTO_DB_MIGRATE: "true"
healthcheck:
test: [ "CMD-SHELL", "curl --fail http://localhost:8000/health-check/up || exit 1" ]
env_file:
- .env
depends_on:
- database
scheduler:
restart: always
image: "solidtime/solidtime:${SOLIDTIME_IMAGE_TAG:-latest}"
user: "1000:1000"
networks:
- internal
volumes:
- "app-storage:/mnt/user/appdata/solidtime/storage"
- "./logs:/mnt/user/appdata/solidtimestorage/logs"
- "./app-storage:/mnt/user/appdata/solidtime/storage/app"
environment:
CONTAINER_MODE: scheduler
healthcheck:
test: [ "CMD-SHELL", "supervisorctl status scheduler:scheduler_00" ]
env_file:
- .env
depends_on:
- database
queue:
restart: always
image: "solidtime/solidtime:${SOLIDTIME_IMAGE_TAG:-latest}"
user: "1000:1000"
networks:
- internal
volumes:
- "app-storage:/mnt/user/appdata/solidtime/storage"
- "./logs:/mnt/user/appdata/solidtimestorage/logs"
- "./app-storage:/mnt/user/appdata/solidtime/storage/app"
environment:
CONTAINER_MODE: worker
WORKER_COMMAND: "php /var/www/html/artisan queue:work"
healthcheck:
test: [ "CMD-SHELL", "supervisorctl status worker:worker_00" ]
env_file:
- .env
depends_on:
- database
database:
restart: always
image: 'postgres:15'

ports:

- '${FORWARD_DB_PORT:-5432}:5432'

environment:
  PGPASSWORD: '${DB_PASSWORD:-secret}'
  POSTGRES_DB: '${DB_DATABASE}'
  POSTGRES_USER: '${DB_USERNAME}'
  POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
volumes:
  - 'database-storage:/var/lib/postgresql/data'
networks:
  - internal
healthcheck:
  test:
    - CMD
    - pg_isready
    - '-q'
    - '-d'
    - '${DB_DATABASE}'
    - '-U'
    - '${DB_USERNAME}'
  retries: 3
  timeout: 5s

networks:
internal:
volumes:
database-storage:
app-storage:`

.ENV file:
APP_NAME="solidtime"
VITE_APP_NAME="solidtime"
APP_ENV="production"
APP_DOMAIN=groet-infra.nl
APP_DEBUG="debug"
APP_URL="https://solidtime.groet-infra.nl"
APP_FORCE_HTTPS="true"
TRUSTED_PROXIES="0.0.0.0/0,2000:0:0:0:0:0:0:0/3"

Authentication

APP_KEY="base64:ttsOnaxzC5BNLOLIMOjLTu/heMXtC3hPgwibY9bGwek="
PASSPORT_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n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\nGYBpOH4h5yIKx3Or3t4kWf/A+jcwcA==\n-----END PRIVATE KEY-----"
PASSPORT_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAs2ia0wBgt9ruFdpHx3wL\no1tDjM78dd2gJ2RsCUUiefygrWgM77E8skTbwWJCLAuGoX6fzPzBNCrgK7/2bUgj\nlkYsc3eMUqxmHi2i7MCPmAhA8/367Ks+tRQI9eP/ScF3jBJcTBFRerMg0c3AeGUQ\nbB854fEDLKr1PamaixjFc76YCMJe6wRMWzVKxB2xzztb6uvblnsoA2XKMrf+XppB\no62UdlzIV4Pk8VUHoFRQMEstZrEG9g3JMrqA2QjGvzHmQaUPSC1Vwyotqz8t529l\nejGpJgKBnK0rE36n8/1vOVwPIyQ0EdDOqFFDrpjNOonFV8l+mBoMMMVGX/I1zsiu\nQHQJAMpmF0JRD8g5arMu/A7myzCwXkaC/X6Y8gxuOwXwzFcF5f68/jLu/TsfZmoH\nQ+MDsLj0+VDUbx5pHNd8HHA2sDnqIynKGyY1EFxXRWjRU9S4H8PvaXHXBoiJUHUK\nwpROxx6fOQlKhfVZ+T8hICUEQzbq0yACJfCnGpDN8sNNllbmhyNqXgrqs6TRDiAr\nnA5EFG/pkOcqntQ9VfTZwc/HX3ezQmymnT4NMCrBy7Pe4jSvbZEP2TI0ib9MKvPD\n0da+PJJxBrW23IAmW85q9SvD7tYo/ZZ/RJFCZQIUPXWr9H59PV2tSU/ovq0EYMNs\nN0lze0rqj70euqkiONXOA5sCAwEAAQ==\n-----END PUBLIC KEY-----"
SUPER_ADMINS="[email protected]"

Logging

LOG_CHANNEL="stderr_daily"
LOG_LEVEL="debug"

Database

DB_CONNECTION="pgsql"
DB_HOST="database"
DB_PORT="5432"
DB_SSLMODE="require"
DB_DATABASE="solidtime"
DB_USERNAME="solidtime"
DB_PASSWORD="PASSWORD"

Mail

MAIL_MAILER="log"
MAIL_HOST="mail.ecloud.global "
MAIL_PORT="587"
MAIL_ENCRYPTION="tls"
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="solidtime"
MAIL_USERNAME="USER"
MAIL_PASSWORD="PASSWORD"

Queue

QUEUE_CONNECTION="database"

File storage

FILESYSTEM_DISK="local"
PUBLIC_FILESYSTEM_DISK="public"

I have no reverse proxy and use a Cloudflare Tunnel to acces https...

@korridor
Copy link
Contributor

korridor commented Jan 8, 2025

@groetg Are you running the latest or the main tag? Because the main contains a few fixes for self-hosting that might fix your problem.

If you are only using the instance for yourself it might be easier to just verify your user manually via the CLI.

Just run the following command in one of your containers: php artisan admin:user:verify [email protected]

@developersteve
Copy link

developersteve commented Jan 30, 2025

I am also having issues with this using a similar set up but with a nginx proxy

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout      300;
        proxy_connect_timeout   300;
    }

Ive pulled so many hairs and even more settings and configs debugging it

php artisan admin:user:verify [email protected] worked for me to be able to get in, but the email problem remains.

@developersteve
Copy link

Additionally this is also a problem inviting a new member to an organisation within the deployed application because it cant send a invite email to the user.

@developersteve
Copy link

developersteve commented Jan 30, 2025

I have a work around to fix the issue of not being able to invite members to a new org for a SMTP failed deployment.

SSH into the postgres database instance and activate the UUID extension using CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

Then manually insert the database records you need into the members table, for this you'll need the organization_id and id from the user table. once you have those run the following:

INSERT INTO public.members (id, organization_id, user_id, role)
VALUES
    (uuid_generate_v4(), 'org id', 'user id', 'admin');

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

No branches or pull requests

3 participants