Skip to main content
Notifuse knows its public address through API_ENDPOINT, set as an environment variable or saved by the Setup Wizard; the environment variable wins when both exist. The console sends every request to that address, and it is written into emails, invitations, webhooks registered with your email providers and the SSO redirect URI. Moving an instance to a new domain means changing API_ENDPOINT, then updating the places that copied it.
Keep the old domain pointing at Notifuse, or redirecting to the new one with the path and query string intact, for as long as people may open emails you have already sent. Their tracking, unsubscribe and notification center links carry the old address, and nothing can update an email that has been delivered.

Switching to the new domain

  1. Route the new domain to Notifuse in your reverse proxy, with a TLS certificate, and keep the old domain routed as well.
  2. Change API_ENDPOINT:
    • Set as an environment variable: change it and restart Notifuse.
    • Saved by the Setup Wizard: sign in as root on the old domain, open System Settings (the button above the workspace list), change API Endpoint and save. Saving restarts Notifuse: the process exits and your container or service manager starts it again, which the provided Docker Compose file does with restart: unless-stopped. The field is disabled when the environment variable is set, since the environment variable would override it.
  3. Sign in again on the new domain. Sessions are kept per address, so a session opened on the old domain does not carry over.
  4. Work through the list below.
Locked out after the move? If the old domain no longer reaches Notifuse, the console on the new domain cannot reach its API either, and the sign-in page says which address it tried. Set API_ENDPOINT to the new address as an environment variable and restart: it takes precedence over the value the Setup Wizard saved.

What else uses the address

Email provider webhooks

Notifuse registers its webhook with your email provider when you create the integration, using the address at that time, and never updates it on its own. Re-register sends the new address:
  • Mailgun and SendGrid replace the old address.
  • Postmark, SparkPost, Mailjet and Amazon SES add the new address next to the old one. Delete the old webhook in the provider’s dashboard, or for Amazon SES the old SNS subscription, so events are not delivered twice.
An integration can show as registered while its webhook still points at the old domain. Hover over an endpoint in Settings → Integrations to see the address it uses. Amazon SES confirms the new SNS subscription automatically, which only succeeds once AWS can reach Notifuse on the new domain.

Opening the console on a workspace custom domain

A workspace’s Custom Endpoint URL also serves the console: if a workspace uses https://news.example.com, its members can sign in at https://news.example.com/console. The console and notification center opened there send their requests to API_ENDPOINT, from the custom domain’s origin.
  • With the default CORS_ALLOW_ORIGIN (*) there is nothing to configure.
  • If you restrict CORS_ALLOW_ORIGIN, list every workspace custom domain, separated by commas: CORS_ALLOW_ORIGIN=https://news.example.com,https://mail.other-brand.com. A domain left out cannot sign in to the console, and its notification center cannot load preferences.
  • Sessions are kept per address: signing in on a custom domain does not sign you in on the main domain, and the other way round.
  • Single sign-on and invitation links finish on the API_ENDPOINT address, not on the custom domain.