I ran into several issues getting set up and creating an account. To
make it easier on the next developer, I introduced a few changes to
make account creation possible out of the box.
The biggest change is introducing mailhog to catch any emails that are
produced in development. If the developer doesn't have a valid SMTP
server to communicate with, registration fails and produces an
error. I've added mailhog to the containers created by docker-compose
and adjusted the example env file to use that information. Mailhog
doesn't support TLS and uses a non-standard port, so I had to
introduce the ability to control those things through environment
variables.
One issue is this causes the docker-compose configuration to drift a
bit from what will be in production. Since we're not in production
right now, though, I think it's better to have something people can
work on and solve the deployment problem down the road.
Another problem I ran into was last_login_ip and current_login_ip
weren't wide enough to support the addresses my computer was
providing. When I googled those columns, which are part of
flask_security, other people were using 45 instead of 25 so I resized
the columns to that.
I ran into several issues getting set up and creating an account. To make it easier on the next developer, I introduced a few changes to make account creation possible out of the box.
The biggest change is introducing mailhog to catch any emails that are produced in development. If the developer doesn't have a valid SMTP server to communicate with, registration fails and produces an error. I've added mailhog to the containers created by docker-compose and adjusted the example env file to use that information. Mailhog doesn't support TLS and uses a non-standard port, so I had to introduce the ability to control those things through environment variables.
One issue is this causes the docker-compose configuration to drift a bit from what will be in production. Since we're not in production right now, though, I think it's better to have something people can work on and solve the deployment problem down the road.
Another problem I ran into was
last_login_ip
andcurrent_login_ip
weren't wide enough to support the addresses my computer was providing. When I googled those columns, which are part of flask_security, other people were using 45 instead of 25 so I resized the columns to that.