Not fraked, no rebuild needed. It sounds like the directory got set as the server default (“Make it the server default” in the guide). That sends admin@local to the directory too, and if the directory connection isn’t right, nobody gets in.
To get back in, put the server in recovery mode. Add these to the server’s environment (the systemd EnvironmentFile, or -e for Docker) and restart:
INBUXA_RECOVERY_MODE=1
INBUXA_RECOVERY_ADMIN=admin:<a temporary password>
In recovery mode the mail ports stay closed and only plain HTTP on port 8080 comes up. From the server itself, put sign-in back on the internal directory:
curl -u 'admin:<password>' -H 'Content-Type: application/json' http://127.0.0.1:8080/jmap/ -d '{"using":["urn:ietf:params:jmap:core","urn:inbuxa:jmap:registry"],"methodCalls":[["x:Authentication/set",{"update":{"singleton":{"directoryId":null}}},"0"]]}'
If you also moved your domain to the directory, find its id and clear that too:
curl -u 'admin:<password>' -H 'Content-Type: application/json' http://127.0.0.1:8080/jmap/ -d '{"using":["urn:ietf:params:jmap:core","urn:inbuxa:jmap:registry"],"methodCalls":[["x:Domain/get",{"properties":["name","directoryId"]},"0"]]}'
curl -u 'admin:<password>' -H 'Content-Type: application/json' http://127.0.0.1:8080/jmap/ -d '{"using":["urn:ietf:params:jmap:core","urn:inbuxa:jmap:registry"],"methodCalls":[["x:Domain/set",{"update":{"<domain id>":{"directoryId":null}}},"0"]]}'
Then take both variables out and restart. admin@local should work again, and you can test the directory connection in the guide before moving anything to it.