Issue Description
Can’t log in after fresh install
Expected Behavior
Login
Actual Behavior
{“type”:“about:blank”,“status”:404,“title”:“Not Found”,“detail”:“The requested resource does not exist on this server.”}
Reproduction Steps
Install and setup wizard complete
Relevant Log Output
{“type”:“about:blank”,“status”:404,“title”:“Not Found”,“detail”:“The requested resource does not exist on this server.”}
Stalwart Version
v0.16.x
Installation Method
Binary (Linux)
Database Backend
FoundationDB
Blob Storage
S3-compatible
Search Engine
Internal
Directory Backend
Internal
Additional Context
Fresh install. Rocky 10. Foundationsdb flag used. Running foundation 7.4 or higher
Latest binary
Setup wizard all went well
DNS Automatically managed selected, hosted by CloudFlare
When I goto https:// mysite.ca/admin I get the error
{“type”:“about:blank”,“status”:404,“title”:“Not Found”,“detail”:“The requested resource does not exist on this server.”}
Second time doing a full fresh format reinstall
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
on
The 404 on /admin almost certainly means the WebUI bundle was never downloaded. Here is what happens and how to fix it:
Root cause: The WebUI is not bundled into the binary. On first start, Stalwart fetches it from https://github.com/stalwartlabs/webui/releases/latest/. If that outbound HTTPS connection fails (firewall rule, Rocky 10 default policy, SELinux, or GitHub being unreachable), the bundle is never unpacked and every /admin route returns 404.
Steps to resolve:
-
Check outbound connectivity from the server to github.com and objects.githubusercontent.com on TCP 443:
curl -I https://github.com/stalwartlabs/webui/releases/latest/
If this fails, a firewall or SELinux rule is blocking it.
-
Check SELinux (very common on Rocky Linux). Either set the boolean to allow network connections for the service, or put SELinux into permissive mode temporarily to confirm:
setsebool -P httpd_can_network_connect 1
# or
setenforce 0 # temporary test only
-
Restart Stalwart after confirming connectivity so it retries the download:
systemctl restart stalwart-mail
-
Once the bundle downloads successfully, go to https://yourhostname/admin. If TLS is not yet working, you can also try http://<server-ip>:8080/admin (port 8080 is exempt from the hostname/TLS check) while you sort out certificates.
Note: If DNS/TLS for your hostname is not yet propagated, always use http://<host>:8080/admin first to verify the admin panel is working, then switch to the HTTPS URL.
Reference: FAQ - Why does /admin return 404 Not Found?
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.
None of that worked. Tried it all
Check your logs after a restart for details.
talwart.service: Consumed 4.697s CPU time, 155.1M memory peak.
Jun 20 17:43:03 systemd[1]: Started stalwart.service - Stalwart.
That’s all I get with sudo journalctl -u stalwart -n 200
I tried to go to /var/log/stalwart but I get access denied. Run with sudo nothing happens
open your cockpit or firewall and make sure https allowed
i running stalwart with docker compose behind traefik in rocky linux 10 and all is fine