Skip to content

Getting async error #2

@frob

Description

@frob

I have canvas up and running and I am trying to add the RCE. Everything in canvas is working (seemingly) fine, but when I attempt to use RCE linking features I am getting this error in my browsers js console.

Failed to load http://rce.docker:3001/api/wikiPages?contextType=course&contextId=1: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://canvas.docker:3000' is therefore not allowed access. The response had HTTP status code 502. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I don't think this is a cors issue because I am getting this output form the RCE log.

canvas-rce_1  | App 39 output: [89892936-4cbb-4ad9-8169-787a675c1279] 127.0.0.1 - - [02/Oct/2018:21:06:43 +0000] "OPTIONS /api/wikiPages?contextType=course&contextId=1 HTTP/1.1" 204 - "http://canvas.docker:3000/courses/1/assignments/1/edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
canvas-rce_1  | 172.23.0.1 - - [02/Oct/2018:21:06:43 +0000] "OPTIONS /api/wikiPages?contextType=course&contextId=1 HTTP/1.1" 204 0 "http://canvas.docker:3000/courses/1/assignments/1/edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
canvas-rce_1  | App 39 output: (node:39) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'link' of undefined
canvas-rce_1  | App 39 output:     at parseBookmark (/usr/src/app/app/api/canvasProxy.js:32:35)
canvas-rce_1  | App 39 output:     at <anonymous>
canvas-rce_1  | App 39 output:     at process._tickCallback (internal/process/next_tick.js:188:7)
canvas-rce_1  | App 39 output: (node:39) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)

I probably have something misconfigured somewhere as I am just starting to get this settup, but I cannot determine from the above error what the missconfiguration is.

I am running the latest (as of 2nd Oct, 2018) RCE docker image. I am running everything locally with the intent of eventually running this in production. My docker-compose.yml is as follows.

version: '3'

services:
  # TODO use a custom redis based image that is a bit more hardedned.
  redis:
    image: redis:4.0-alpine
  # TODO use a custom postgres image that is a bit more hardened.
  db:
    image: postgres:9.5-alpine
    volumes:
      - ./tmp/db:/var/lib/postgresql/data
    # configure database access based on environment variables
    environment:
      - POSTGRES_USER=canvas
      - POSTGRES_PASSWORD=your_password
      - POSTGRES_DB=canvas,canvas_development,canvas_production,canvas_test

  canvas-lms: &LMS
    build:
      context: ./dockerfiles/canvas-lms
    command: bundle exec rails s -p 3000 -b '0.0.0.0'

    # which port should be accessible from the outside?
    ports:
      - "3000:3000"

    # start container once `db` service is up
    depends_on:
      - db
      - redis

    # `db` and `node` should be able to communicate
    links:
      - db
      - redis
      - canvas-rce

  # Delayed jobs
  jobs:
    <<: *LMS
    command: bundle exec script/delayed_job run
    links:
      - db
      - redis

    ports: []

  canvas-rce:
    image: instructure/canvas-rce-api:latest
    environment:
      - ECOSYSTEM_KEY
      - ECOSYSTEM_SECRET
      - FLICKR_API_KEY
      - YOUTUBE_API_KEY

    expose:
     - "80"

    ports:
      - "3001:80"

My canvas-lms dockerfile is simple enough, it sets up a production environment according to the prod documentation and copies in some custom configuration files. While it isn't based on the canvas-lms official docker image is accomplishes much the same thing.

I am running chrome, macos 10.13.6, Docker CE stable Version 18.06.1-ce-mac73 (26764)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions