Password recovery

Should I have used docker-compose up --force-recreate then?

No, your commands are looking good to me. docker-compose down would remove your container and docker-compose up would already have re-created and re-started it, so no need for additional commands here.

Unfortunately I have no idea why emails can’t be sent from your instance. Perhaps you can share a full docker-compose.yml file (with all confidential values redacted, of course) using which this problem can be reproduced?

That didn’t do anything, even though I managed to successfully reset the database.

I wonder if there is a chance it was executed with the wrong user account and has instead reset the default SQLite database for that user rather than your actual Postgres database.

When using the n8n standard docker image, n8n runs as user node. So after logging into your docker container as described by @Shirobachi, try running su-exec node n8n user-management:reset (this should execute the command as user node). Make sure to restart your n8n container afterwards.