canvas-lms/doc/docker
Cody Cutrer 669c4cabac remove Cassandra support for page views
closes AE-280

[skip-stages=Flakey]

also vastly simplified the EventStream gem that no longer has to deal
with Cassandra

a pre-deploy migration is added that will migrate data from Cassandra
back to Postgres if you're currently using Cassandra. this means the
actual Cassandra gem dependencies can't be removed until that migration
is squashed

Change-Id: I0246ad9c058416e373ed4118a378bd640ace9c98
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349182
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
2024-06-05 15:15:34 +00:00
..
README.md docs: improve inst-cli instructions 2024-03-25 19:28:46 +00:00
consul.md Add rake task to populate Consul from dynamic_settings.yml 2017-09-19 18:08:39 +00:00
developing_with_docker.md remove Cassandra support for page views 2024-06-05 15:15:34 +00:00
getting_docker.md docs: improve inst-cli instructions 2024-03-25 19:28:46 +00:00
vault.md Add vault client to canvas 2020-02-03 19:00:13 +00:00

README.md

Using Docker to run Canvas

Instructure employees should use the inst CLI. Go here for more info.

Prerequisites

You need Docker. Don't have Docker yet? Go here for details on getting it setup.

Development

Just on Linux (skip this on OSX), you may want to run this to avoid a few permissions issues first by granting Canvas docker containers write access to your Canvas folder:

setfacl -Rm u:9999:rwX,g:9999:rwX .
setfacl -dRm u:9999:rwX,g:9999:rwX .
sudo addgroup --gid 9999 docker-instructure
sudo usermod -a -G docker-instructure $USER

After logging back into your system (to recognize your new group), you should be able to edit or delete any files created by Canvas docker containers. If you're using this approach to grant Canvas write access, you can also disable the default built-in usermod hack that runs Canvas containers as your host UID instead (since this has been known to cause problems). This can be done by adding this to your ~/.bash_profile:

export CANVAS_SKIP_DOCKER_USERMOD=1

For everyone now, this command should get you going:

./script/docker_dev_setup.sh

Be sure to pay attention to any Next Steps output from the script that you may need to run.

Now you can do docker-compose up -d and you should be good to go. If you're using Dinghy-http-proxy or Dory you should be able to access Canvas by going to: http://canvas.docker/

For more information checkout Developing with Docker

Known Issues

Long URL Gateway 502

If a URL is long enough, you may see a Gateway 502 error. This problem has been patched in dinghy-http-proxy#36 however until a new release is cut the follow can be done as a work around:

In ~/.dinghy/proxy.conf add the following:

proxy_buffers 8 1024k;
proxy_buffer_size 1024k;

Restart dinghy afterwards.