IQSS / dataverse

Open source research data repository software
http://dataverse.org
Other
878 stars 485 forks source link

When setting up a dev environment, I don't want to be blocked by not having a mail server #7236

Closed pdurbin closed 4 years ago

pdurbin commented 4 years ago

I'm running the installer and got blocked by this:

Administrator email address for this Dataverse:
(please enter a valid email address!)[] dataverse@mailinator.com
SMTP (mail) server (and port) to relay notification messages: [localhost] 
failed to connect, error [Errno 61] Connection refused
Enter a valid SMTP (mail) server:
(Or ctrl-C to exit the installer): 

This is basically the same issue as #3424 but we never addressed it.

In the past, devs at IQSS could count on a mail server on campus but now we're all working remote.

When someone is first setting up a dev environment I don't think we should make them think hard about setting up a mail server. They can always circle back to this if they need to work on email related stuff.

Running nc -l 25 (let netcat pretend to be a mail server) temporarily seems to be a good workaround so I'm planning on putting that into the commit I'm working on.

djbrooke commented 4 years ago

@pdurbin - any relation to #5328?

poikilotherm commented 4 years ago

FWIW I'm using https://mailcatcher.me for my local deployments. No more headaches...

See also https://dataverse-k8s.readthedocs.io/en/v4.19/development/mail.html

pdurbin commented 4 years ago

@poikilotherm MailCatcher seems interesting but when I see gem install I can only think "this isn't something I want to add to an already long page on setting up a Dataverse dev environment.

Along the same lines, FakeSMTP seems to be written in Java at least. I was reminded about it from https://github.com/IQSS/dataverse/issues/5328#issuecomment-442619629 (thanks @djbrooke for mentioning that very similar issue).

In the end, rather than installing anything, I just ran nc -l 25 like I said. Here's the commit in pull request #7242 I just made: https://github.com/IQSS/dataverse/pull/7242/commits/91b835edac53a1b255fd6f8d641d1ace6aa01924

I have that pull request marked to close this issue. I'm not sure what to do with the other one. Obviously it's a source of frustration for developers trying to set up a dev environment that they have to have access to a working mail server.

poikilotherm commented 4 years ago

@pdurbin you may run it as a simple container instead of installing it via Ruby.

pdurbin commented 4 years ago

@poikilotherm that's cool. I may well try that once I have Docker installed. But I already have Dataverse running without Docker. That's how I'd like to keep the "setup your dev environment" section of the dev guide for now: no explicit dependency on Docker (or Ruby, or a lot of other things). 😄

Anyway, reviews are welcome on pull request #7242.