Coder Social home page Coder Social logo

Comments (8)

lbjay avatar lbjay commented on July 19, 2024

Can you elaborate on why you're creating users? I'm guessing it's part of testing some process or workflow, but just want to confirm. I never intended this to be a full featured instance that would be used for anything more than testing/dev. Is there perhaps some way to construct the necessary confirmation url manually by looking in the database?

from canvas-docker.

pfgray avatar pfgray commented on July 19, 2024

I'm testing an LTI application in canvas, so I was creating a few users that I could use to test launches (a few students & one instructor).

With any integration testing, it's handy to have a docker image that you can stand up to test against locally.

I was able to inspect the logs to obtain the special registration url that users need (since canvas logs the html sent out in emails), but I don't want to have to go through those steps anytime I want to create a new user.

from canvas-docker.

djcp avatar djcp commented on July 19, 2024

You can configure your SMTP settings in $CANVAS_ROOT/config/outgoing_mail.yml, according to the canvas defaults. Adding another service to this docker image seems a bit much.

You can probably just set "delivery_method" to "test" for every environment. I'm pretty sure that means it'll only send outgoing emails to the logs.

from canvas-docker.

lbjay avatar lbjay commented on July 19, 2024

So the image doesn't yet have any hooks for modifying outgoing_mail.yml, but that's something I could add through an ENTRYPOINT script. You would then be able to specify your smtp service via one or more env vars. Something like Mailgun or Mandrill would be a good fit.

from canvas-docker.

djcp avatar djcp commented on July 19, 2024

right, maybe give all environments a default of:

development: 
    delivery_method: test

test: 
    delivery_method: test

production: 
    delivery_method: test

and then add the hook to configure beyond that. This'll at least keep actions that send emails from erroring out.

from canvas-docker.

lbjay avatar lbjay commented on July 19, 2024

Paul, can you take a look at #9 and confirm that would solve your use case?

from canvas-docker.

pfgray avatar pfgray commented on July 19, 2024

It would, the only issue I have is that I'd need a separate smtp service running, which seems like too much overhead. My use case is basically: "Get a (low-frills) instance of canvas running with the least amount of keystrokes possible."

If you think that it's too much to add postfix, don't feel that you have to support my use case, I simply thought I'd make it work for me and contribute something back in the process (though I'm not sure what would be 'bad' about running another service).

Thanks for your help!

from canvas-docker.

lbjay avatar lbjay commented on July 19, 2024

Hi Paul,

I appreciate the effort. It's true that the image does already break the convention of 1-container:1-service by including postgres and redis, but those are pretty much essential to standing up a functional instance in as short amount of time as possible. I'd prefer to keep the image bloat minimized if alternatives are available. Mandrill, for instance, is free for < 1250 msg/month. It's a one-time setup and you can use it for whatever other purposes you might also have. You can even put those extra vars in a file and reference using docker run --env-file=... to save keystrokes at runtime.

It's a good use case that I'll probably run across myself at some point, so thanks for the prompting.

from canvas-docker.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.