{"id":23498054,"url":"https://github.com/freedomben/gimme-dat-canvas","last_synced_at":"2025-04-22T19:29:23.854Z","repository":{"id":69605006,"uuid":"48205382","full_name":"FreedomBen/gimme-dat-canvas","owner":"FreedomBen","description":"A stupid-easy Canvas Appliance, dockerized no less","archived":false,"fork":false,"pushed_at":"2016-06-24T01:54:44.000Z","size":17,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-16T15:14:44.201Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FreedomBen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-18T00:23:53.000Z","updated_at":"2016-06-14T04:41:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"a9aaf9a9-77a9-4ed9-8e0e-5afbe1fa0cf1","html_url":"https://github.com/FreedomBen/gimme-dat-canvas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreedomBen%2Fgimme-dat-canvas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreedomBen%2Fgimme-dat-canvas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreedomBen%2Fgimme-dat-canvas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreedomBen%2Fgimme-dat-canvas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FreedomBen","download_url":"https://codeload.github.com/FreedomBen/gimme-dat-canvas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250307906,"owners_count":21409172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-25T05:18:10.324Z","updated_at":"2025-04-22T19:29:23.838Z","avatar_url":"https://github.com/FreedomBen.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gimme-dat-canvas\n\nBy far the easiest way \u0026trade; to get a running canvas as a docker appliance.  This is useful for developing things like LTI tools which require a working canvas, but you are not developing Canvas itself.  *This is not a production ready canvas.  There's a lot more to do if you want a production ready image*.\n\n**Note**:  *I highly recommend pairing this with either [dory](https://github.com/FreedomBen/dory)\n(on Linux) or [dinghy](https://github.com/codekitchen/dinghy) (on OS X).  There's a lot of\nservices here, and using a reverse proxy will make your life better.*\n\n## How do I get dat canvas?\n\n### Run it stand-alone\n\nIf you clone this repo, there's a script called `run-dat-container.sh` that you can run\nand it'll do it all for you using the provided `docker-compose.yml` file.  The script\nwill not build a new image; it will pull the published image down from docker hub.\n\nHowever, you probably will want to integrate this into your own\nproject as an appliance (see next section).\n\n### Add it to your project's docker-compose.yml\n\nThe easiest way is to use the image published on docker hub (which was created with this tool).\nYou'll probably want to just add this to your current project's `docker-compose.yml` file\nso you can set links and stuff.  You'll want something like this:\n\n```yaml\ncanvas-postgres:\n  image: postgres:9.3\n  volumes:\n    - \"./pg_data:/var/lib/postgresql/data\"\n\ncanvas-redis:\n  image: redis:2.6\n\ncanvas-consul:\n  image: gliderlabs/consul-server:0.5\n  command: -node canvas-consul -bootstrap\n  environment:\n    GOMAXPROCS: \"2\"\n\ncanvas-kinesis:\n  image: instructure/kinesalite\n  environment:\n    VIRTUAL_HOST: kinesis.docker\n    VIRTUAL_PORT: 4567\n\ncanvas-web: \u0026WEB\n  image: freedomben/canvas-lms\n  links:\n    - canvas-consul\n    - canvas-postgres\n    - canvas-redis\n    - canvas-kinesis\n  environment:\n    RACK_ENV: development\n    VIRTUAL_HOST: canvas.docker\n\ncanvas-jobs:\n  \u003c\u003c: *WEB\n  command: bundle exec script/delayed_job run\n```\n\nGreat!  Now before running it for the first time you need to setup the database.  You can run the provided script:\n\n```\ndocker-compose run --rm canvas-web /usr/src/app/setup-db.sh\n```\n\n*NOTE:  If you get an error, you might need to bring up the postgres container first to let it initialize itself before attempting to setup the database.*\n\nYou should now be able to log in as `andy.reid@example.com` with password `password`\n\n### Build your own image\n\nClone this repo:\n\n```\ngit clone \n```\n\nRun the script to build a canvas image!\n\n```\n./build-dat-image.sh\n```\n\nThen run the image with the script (or manually)\n\n```\n./run-dat-container.sh\n```\n\n## What does this do for me that regular dockerized canvas doesn't?\n\nGood question. This setup will:\n\n1.  Build assets inside the container, instead of sharing a volume with the host system.\n1.  Mount the postgres database externally, so your data doesn't all live in a docker container.\n1.  Handle the initial setup stuff.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreedomben%2Fgimme-dat-canvas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreedomben%2Fgimme-dat-canvas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreedomben%2Fgimme-dat-canvas/lists"}