Found this content helpful? Log in or sign up to leave a like!
Issue with canvas docker setup, only seeing dinghy proxy placeholder page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I had an issue with my existing canvas deployment which had some missing database fields which prevented me from doing some work, to address this I decided to go ahead with a clean install. The previous install following these same steps was otherwise working.
I am running into a persistent issue when I try and rebuild canvas on docker with many of the recent branches marked as stable or release. Im getting all the way to the end of the bash script, but it’s only ever showing the Dinghy proxy welcome page.
If I run
``` docker logs canvas-lms-web-1 -f```
I get the following output
```
[ N 2025-07-03 01:07:17.3466 13/T1 age/Wat/WatchdogMain.cpp:1365 ]: Starting Passenger watchdog...
[ N 2025-07-03 01:07:17.3607 17/T1 age/Cor/CoreMain.cpp:1283 ]: Starting Passenger core...
[ N 2025-07-03 01:07:17.3611 17/T1 age/Cor/CoreMain.cpp:244 ]: Passenger core running in multi-application mode.
[ N 2025-07-03 01:07:17.4083 17/T1 age/Cor/CoreMain.cpp:961 ]: Passenger core online, PID 17
Error: The application encountered the following error:
[!] There was an error parsing `Gemfile`: bundler-multilock plugin is not installed. Bundler cannot continue.
# from /usr/src/app/Gemfile:21
# -------------------------------------------
# # and is also fixed by the same PR
> raise GemNotFound, "bundler-multilock plugin is not installed" if !is_a?(Bundler::Plugin::DSL) && !Plugin.installed?("bundler-multilock")
# return unless Plugin.installed?("bundler-multilock")
# -------------------------------------------
(Bundler::Dsl::DSLError)
/usr/src/app/Gemfile:21:in 'block in Bundler::Dsl#eval_gemfile'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/dsl.rb:47:in 'BasicObject#instance_eval'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/dsl.rb:47:in 'block in Bundler::Dsl#eval_gemfile'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/dsl.rb:309:in 'Bundler::Dsl#with_gemfile'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/dsl.rb:45:in 'Bundler::Dsl#eval_gemfile'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/dsl.rb:12:in 'Bundler::Dsl.evaluate'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/definition.rb:39:in 'Bundler::Definition.build'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler.rb:237:in 'Bundler.definition'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler.rb:161:in 'Bundler.setup'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/setup.rb:32:in 'block in <top (required)>'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/ui/shell.rb:173:in 'Bundler::UI::Shell#with_level'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/ui/shell.rb:119:in 'Bundler::UI::Shell#silence'
/var/lib/gems/3.4.0/gems/bundler-2.6.3/lib/bundler/setup.rb:32:in '<top (required)>'
<internal:/usr/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
<internal:/usr/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:382:in 'PhusionPassenger::LoaderSharedHelpers#activate_gem'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:221:in 'block in PhusionPassenger::LoaderSharedHelpers#run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:554:in 'PhusionPassenger::LoaderSharedHelpers#running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:220:in 'PhusionPassenger::LoaderSharedHelpers#run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:91:in 'PhusionPassenger::App.preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:189:in 'block in <module:App>'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:399:in 'PhusionPassenger::LoaderSharedHelpers#run_block_and_record_step_progress'
/usr/share/passenger/helper-scripts/rack-preloader.rb:188:in '<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in '<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in '<main>'
[ E 2025-07-03 01:07:19.6944 17/Tw age/Cor/App/Implementation.cpp:218 ]: Could not spawn process for application /usr/src/app: The application encountered the following error:
[!] There was an error parsing `Gemfile`: bundler-multilock plugin is not installed. Bundler cannot continue.
# from /usr/src/app/Gemfile:21
# -------------------------------------------
# # and is also fixed by the same PR
> raise GemNotFound, "bundler-multilock plugin is not installed" if !is_a?(Bundler::Plugin::DSL) && !Plugin.installed?("bundler-multilock")
# return unless Plugin.installed?("bundler-multilock")
# -------------------------------------------
(Bundler::Dsl::DSLError)
Error ID: ec348ad4
Error details saved to: /tmp/passenger-error-1sLCls.html
[ E 2025-07-03 01:07:19.6978 17/T9 age/Cor/Con/CheckoutSession.cpp:368 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is ec348ad4. Please see earlier logs for details about the error.
127.0.0.1 - - [03/Jul/2025:01:07:19 +0000] "HEAD / HTTP/1.1" 500 0 "-" "Passenger Prespawn Script"
[ N 2025-07-03 01:07:21.4882 17/T6 age/Cor/SecurityUpdateChecker.h:518 ]: Security update check: no update found (next check in 24 hours)
```
seemingly, its never starting rails, if I try to manually start rails with
```
bundle exec rails s -b 0.0.0.0 -p 80
```
it doesnt work either.
Ive even tried exposing port 3000 to the host machine via the docker-compose override and running rails on port 3000 and going straight to the container via its IP or localhost, in those cases it just hangs.
Ive tried going into the container and manually installing the missing plugin and restarting, but the same issue of just seeing the landing page persists.
Steps to reproduce
1. Going nuclear on my existing docker config, removing containers, images, volumes, and networks
2. Checking out a recent stable branch ```git checkout stable/2025-07-02 && git pull```
3. Run setup script ```/bin/bash script/docker_dev_setup.sh ```
4. Copy canvas docker config: y
5. Reset default docker config: y
6. Finds existing DB (curious…) create new or migrate? DROP
7. Fill in admin details.
8. Success \o/
9. Run ```docker compose up -d```
10. Run ```open http://canvas.docker```
Any help appreciated.
Also posted as an issue on GitHub: https://github.com/instructure/canvas-lms/issues/2520