bug: Cannot Create Account (EMAILFAILED) #69

Closed
opened 2026-02-16 12:51:19 -05:00 by yindo · 2 comments
Owner

Originally created by @OregonPacifist on GitHub (Aug 23, 2024).

What happened?

Hello. I am currently running a self-hosted Revolt instance from my computer running Linux Mint. The site loads with no issues and existing accounts can log in with no issues. The account I made for myself when I first started and the instance was local only can log in just fine.

The issue comes with trying to create an account. After typing in the email address and password, it generates the error: EMAILFAILED.

I would also like to add that when I navigate to local.revolt.chat to use the instance locally from the hosting computer, I get the same error message when trying to create an account.

I get the same error when I try to reset the password for my account which already exists.

Here's a screenshot of the error:
error-email

The problem seems to do with my local configuration. Here is the browser console log:
Screenshot 2024-08-25 at 4 23 26 PM

Here are my .env, docker-compose.yml and Revolt.toml configurations (mydomain.com is used as a placeholder for my actual domain):

.env:

HOSTNAME=:80
REVOLT_APP_URL=https://mydomain.com
REVOLT_PUBLIC_URL=https://mydomain.com/api
VITE_API_URL=https://mydomain.com/api
REVOLT_EXTERNAL_WS_URL=wss://mydomain.com/ws
AUTUMN_PUBLIC_URL=https://mydomain.com/autumn
JANUARY_PUBLIC_URL=https://mydomain.com/january

docker-compose.yml:

version: "3.8"

services:

MongoDB database

database:
image: mongo
restart: always
volumes:
- ./data/db:/data/db

Redis server

redis:
image: eqalpha/keydb
restart: always

S3-compatible storage server

minio:
image: minio/minio
command: server /data
env_file: .env
volumes:
- ./data/minio:/data
restart: always

Caddy web server

caddy:
image: caddy
restart: always
env_file: .env
ports:
- "80:80"
- "443:443"
- "587:587"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./data/caddy-data:/data
- ./data/caddy-config:/config

API server (delta)

api:
image: ghcr.io/revoltchat/server:latest
env_file: .env
depends_on:
- database
- redis
- caddy
restart: always
volumes:
- type: bind
source: ./Revolt.toml
target: /Revolt.toml

Events service (quark)

events:
image: ghcr.io/revoltchat/bonfire:latest
env_file: .env
depends_on:
- database
- redis
- caddy
restart: always
volumes:
- type: bind
source: ./Revolt.toml
target: /Revolt.toml

Web App (revite)

web:
image: ghcr.io/revoltchat/client:master
env_file: .env
depends_on:
- caddy
restart: always

File server (autumn)

autumn:
image: ghcr.io/revoltchat/autumn:latest
env_file: .env
depends_on:
- database
- createbuckets
- caddy
environment:
- AUTUMN_MONGO_URI=mongodb://database
restart: always

Metadata and image proxy (january)

january:
image: ghcr.io/revoltchat/january:latest
depends_on:
- caddy
restart: always

Create buckets for minio.

createbuckets:
image: minio/mc
depends_on:
- minio
env_file: .env
entrypoint: >
/bin/sh -c "
/usr/bin/mc config host add minio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD;
while ! /usr/bin/mc ready minio; do echo 'Waiting minio...' && sleep 1; done;
/usr/bin/mc mb minio/attachments;
/usr/bin/mc mb minio/avatars;
/usr/bin/mc mb minio/backgrounds;
/usr/bin/mc mb minio/icons;
/usr/bin/mc mb minio/banners;
/usr/bin/mc mb minio/emojis;
exit 0;
"

Revolt.toml:

[database]
mongodb = "mongodb://database"
redis = "redis://redis/"

[hosts]
app = "https://mydomain.com"
api = "https://mydomain.com/api"
events = "wss://mydomain.com/ws"
autumn = "https://mydomain.com/autumn"
january = "https://mydomain.com/january"
voso_legacy = ""
voso_legacy_ws = ""

[api]

[api.registration]
invite_only = false

[api.smtp]
host = "....."
username = "...."
password = "...."
from_address = "...."

reply_to = "...."

port = 587

use_tls = true

[api.vapid]
private_key = "......"
public_key = "......"

[api.fcm]
api_key = ""

[api.apn]
sandbox = false
pkcs8 = ""
key_id = ""
team_id = ""

[api.security]
authifier_shield_key = ""
voso_legacy_token = ""
trust_cloudflare = false

[api.security.captcha]
hcaptcha_key = ""
hcaptcha_sitekey = ""

[api.workers]
max_concurrent_connections = 50

[features]
webhooks_enabled = false

[features.limits]

[features.limits.global]
group_size = 100
message_embeds = 5
message_replies = 5
message_reactions = 20
server_emoji = 100
server_roles = 200
server_channels = 200

new_user_days = 3

[features.limits.new_user]
outgoing_friend_requests = 5

bots = 2
message_length = 2000
message_attachments = 5
servers = 100

attachment_size = 20000000
avatar_size = 4000000
background_size = 6000000
icon_size = 2500000
banner_size = 6000000
emoji_size = 500000

[features.limits.default]
outgoing_friend_requests = 10

bots = 5
message_length = 2000
message_attachments = 5
servers = 100

attachment_size = 20000000
avatar_size = 4000000
background_size = 6000000
icon_size = 2500000
banner_size = 6000000
emoji_size = 500000

[sentry]
api = ""
events = ""

Originally created by @OregonPacifist on GitHub (Aug 23, 2024). ### What happened? Hello. I am currently running a self-hosted Revolt instance from my computer running Linux Mint. The site loads with no issues and existing accounts can log in with no issues. The account I made for myself when I first started and the instance was local only can log in just fine. The issue comes with trying to create an account. After typing in the email address and password, it generates the error: EMAILFAILED. I would also like to add that when I navigate to local.revolt.chat to use the instance locally from the hosting computer, I get the same error message when trying to create an account. I get the same error when I try to reset the password for my account which already exists. Here's a screenshot of the error: ![error-email](https://github.com/user-attachments/assets/24429c1d-f6ff-414f-986c-e0ab1d4186c7) The problem seems to do with my local configuration. Here is the browser console log: <img width="576" alt="Screenshot 2024-08-25 at 4 23 26 PM" src="https://github.com/user-attachments/assets/ed2bb586-2fa9-4f59-a24d-27b7bf80be46"> Here are my .env, docker-compose.yml and Revolt.toml configurations (mydomain.com is used as a placeholder for my actual domain): .env: > HOSTNAME=:80 > REVOLT_APP_URL=https://mydomain.com > REVOLT_PUBLIC_URL=https://mydomain.com/api > VITE_API_URL=https://mydomain.com/api > REVOLT_EXTERNAL_WS_URL=wss://mydomain.com/ws > AUTUMN_PUBLIC_URL=https://mydomain.com/autumn > JANUARY_PUBLIC_URL=https://mydomain.com/january docker-compose.yml: > version: "3.8" > > services: > # MongoDB database > database: > image: mongo > restart: always > volumes: > - ./data/db:/data/db > > # Redis server > redis: > image: eqalpha/keydb > restart: always > > # S3-compatible storage server > minio: > image: minio/minio > command: server /data > env_file: .env > volumes: > - ./data/minio:/data > restart: always > > # Caddy web server > caddy: > image: caddy > restart: always > env_file: .env > ports: > - "80:80" > - "443:443" > - "587:587" > volumes: > - ./Caddyfile:/etc/caddy/Caddyfile > - ./data/caddy-data:/data > - ./data/caddy-config:/config > > # API server (delta) > api: > image: ghcr.io/revoltchat/server:latest > env_file: .env > depends_on: > - database > - redis > - caddy > restart: always > volumes: > - type: bind > source: ./Revolt.toml > target: /Revolt.toml > > # Events service (quark) > events: > image: ghcr.io/revoltchat/bonfire:latest > env_file: .env > depends_on: > - database > - redis > - caddy > restart: always > volumes: > - type: bind > source: ./Revolt.toml > target: /Revolt.toml > > # Web App (revite) > web: > image: ghcr.io/revoltchat/client:master > env_file: .env > depends_on: > - caddy > restart: always > > # File server (autumn) > autumn: > image: ghcr.io/revoltchat/autumn:latest > env_file: .env > depends_on: > - database > - createbuckets > - caddy > environment: > - AUTUMN_MONGO_URI=mongodb://database > restart: always > > # Metadata and image proxy (january) > january: > image: ghcr.io/revoltchat/january:latest > depends_on: > - caddy > restart: always > > # Create buckets for minio. > createbuckets: > image: minio/mc > depends_on: > - minio > env_file: .env > entrypoint: > > /bin/sh -c " > /usr/bin/mc config host add minio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD; > while ! /usr/bin/mc ready minio; do echo 'Waiting minio...' && sleep 1; done; > /usr/bin/mc mb minio/attachments; > /usr/bin/mc mb minio/avatars; > /usr/bin/mc mb minio/backgrounds; > /usr/bin/mc mb minio/icons; > /usr/bin/mc mb minio/banners; > /usr/bin/mc mb minio/emojis; > exit 0; > " Revolt.toml: > [database] > mongodb = "mongodb://database" > redis = "redis://redis/" > > [hosts] > app = "https://mydomain.com" > api = "https://mydomain.com/api" > events = "wss://mydomain.com/ws" > autumn = "https://mydomain.com/autumn" > january = "https://mydomain.com/january" > voso_legacy = "" > voso_legacy_ws = "" > > [api] > > [api.registration] > invite_only = false > > [api.smtp] > host = "....." > username = "...." > password = "...." > from_address = "...." > # reply_to = "...." > # port = 587 > # use_tls = true > > [api.vapid] > private_key = "......" > public_key = "......" > > [api.fcm] > api_key = "" > > [api.apn] > sandbox = false > pkcs8 = "" > key_id = "" > team_id = "" > > [api.security] > authifier_shield_key = "" > voso_legacy_token = "" > trust_cloudflare = false > > [api.security.captcha] > hcaptcha_key = "" > hcaptcha_sitekey = "" > > [api.workers] > max_concurrent_connections = 50 > > [features] > webhooks_enabled = false > > [features.limits] > > [features.limits.global] > group_size = 100 > message_embeds = 5 > message_replies = 5 > message_reactions = 20 > server_emoji = 100 > server_roles = 200 > server_channels = 200 > > new_user_days = 3 > > [features.limits.new_user] > outgoing_friend_requests = 5 > > bots = 2 > message_length = 2000 > message_attachments = 5 > servers = 100 > > attachment_size = 20000000 > avatar_size = 4000000 > background_size = 6000000 > icon_size = 2500000 > banner_size = 6000000 > emoji_size = 500000 > > [features.limits.default] > outgoing_friend_requests = 10 > > bots = 5 > message_length = 2000 > message_attachments = 5 > servers = 100 > > attachment_size = 20000000 > avatar_size = 4000000 > background_size = 6000000 > icon_size = 2500000 > banner_size = 6000000 > emoji_size = 500000 > > [sentry] > api = "" > events = ""
yindo added the bug label 2026-02-16 12:51:19 -05:00
yindo closed this issue 2026-02-16 12:51:19 -05:00
Author
Owner

@Rexogamer commented on GitHub (Sep 6, 2024):

just checking - did you resolve this?

@Rexogamer commented on GitHub (Sep 6, 2024): just checking - did you resolve this?
Author
Owner

@OregonPacifist commented on GitHub (Sep 6, 2024):

It’s mostly resolved. I ended up removing all SMTP email information from the Revolt.toml file. This fixes the issue but no users can ever reset their forgotten passwords 😄
Re-adding the info causes the error to return.

I’m waiting patiently for a potential fix. At least my instance actually works otherwise.

  • Adam

On Sep 6, 2024, at 3:06 PM, Sophie L @.***> wrote:



just checking - did you resolve this?


Reply to this email directly, view it on GitHubhttps://github.com/revoltchat/self-hosted/issues/95#issuecomment-2334870946, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKHD3LZVF256DH7BVNNKBWDZVIRPBAVCNFSM6AAAAABNAWXMFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZUHA3TAOJUGY.
You are receiving this because you modified the open/close state.Message ID: @.***>

@OregonPacifist commented on GitHub (Sep 6, 2024): It’s mostly resolved. I ended up removing all SMTP email information from the Revolt.toml file. This fixes the issue but no users can ever reset their forgotten passwords 😄 Re-adding the info causes the error to return. I’m waiting patiently for a potential fix. At least my instance actually works otherwise. - Adam On Sep 6, 2024, at 3:06 PM, Sophie L ***@***.***> wrote:  just checking - did you resolve this? — Reply to this email directly, view it on GitHub<https://github.com/revoltchat/self-hosted/issues/95#issuecomment-2334870946>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AKHD3LZVF256DH7BVNNKBWDZVIRPBAVCNFSM6AAAAABNAWXMFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZUHA3TAOJUGY>. You are receiving this because you modified the open/close state.Message ID: ***@***.***>
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: stoatchat/self-hosted#69