bigbluebutton / greenlight

A really simple end-user interface for your BigBlueButton server.
GNU Lesser General Public License v3.0
788 stars 3.8k forks source link

Greenlight Landing Page Edits #234

Closed alexnya closed 6 years ago

alexnya commented 6 years ago

Hi,

I'm new to Ruby on Rails so I'm not sure I know where to find what I need to edit. I know I have to fork over the v1 branch of the Greenlight repository to my GitHub account (which I did) but I'm not sure what to do from there. Here is what I need to edit on the Greenlight landing page:

1) Changing the browser title and logo on the tab (where it shows the BigBlueButton logo and the Greenlight text). 2) Changing the landing page background (the one of the pen and book). 3) Changing the "connect in real-time with others" text on top of the white text box. 4) Changing the YouTube video on the bottom to display a bunch of URLs instead. 5) Changing the BigBlueButton logo on the top left of the page. 6) Getting rid of the "Powered by BigBlueButton" text on the bottom of the page.

Basically I would like to completely customize the Greenlight landing page. I would like detailed instructions on how to complete each of these steps. I asked before about this and was directed to the greenlight/app/views/landing/index.html.erb file but I'm not seeing where each of these six elements are located (with the exception of the YouTube video).

I was told that I have to run Greenlight from source without Docker (http://docs.bigbluebutton.org/greenlight-v1.html#installing-greenlight-without-docker) but I would like to know if it is possible to do these with Docker still included? If I still have to run Greenlight without Docker, could you please explain the part in step 4 where it says "move the dotenv-rails gem outside of the test/development block".

Finally, I have been having an issue where if I put www.mydomainname.com for BBB (just as an example), it doesn't redirect me to mydomainname.com. Rather it goes to www.mydomainname.com which is unsecure and I want it to go to mydomainname.com which is secure and has a SSL certificate installed. How do I resolve this?

joshua-arts commented 6 years ago

Hey @alexnya,

Thanks for taking interest in Greenlight and BigBlueButton!

Are you using v1 for any specific reason? Continuing to use v1 is perfectly fine, but v2 is currently under active development and fixes a lot of the flaws in v1. We highly suggest upgrading.

It is definitely possible to customise Greenlight and still run it with Docker. To do this, you'll want to build your own custom Greenlight image from source. You can make the necessary changes to your fork, then build your new image by running:

docker build -t alexnya/greenlight .

After this, you should be able to run Greenlight just as you would the standard image, but with your own customised image. Just make sure to replace bigbluebutton/greenlight with your new image.

Regarding customising Greenlight, the landing page is located at greenlight/app/views/landing/index.html.erb. The reason you only see the Youtube stuff is because this page renders other partials (think of these like page chunks). If you see something like <%= render 'shared/signup' %>, that is replaced by the greenlight/app/views/shared/_signup.html.erb when the page renders.

That said, pieces like the header and footer aren't landing specific, so they are included in greenlight/app/views/layouts/application.html.erb, which is the base of every page.

Editing will be a bit of trial and error if you're not overly familiar with Rails, but the documentation is great so I highly suggest checking it out!

The background image can be changed manually, or you can using the environment option that Greenlight v1 supports.

Lastly, about the SSL configuration, try adding ENABLE_FORCE_SSL=true to your env file and recreate your Greenlight container. This should forward all http requests to https.

Hopefully this points you in the right direction, and let me know if you have any further questions/issues!

alexnya commented 6 years ago

Ok I have a few questions from what you said (sorry I'm still kind of confused):

1) This is a dumb question but do I have follow the steps in http://docs.bigbluebutton.org/greenlight-v1.html#installing-greenlight-without-docker if I want to run it from source. Because it says installing Greenlight without Docker and I already have Greenlight installed. Couldn't I just remove the container and rebuild it using this: http://docs.bigbluebutton.org/greenlight-v1.html#applying-env-file-changes?

2) I just want to review with you where I found each of the elements that I want to change (so far):

a) I went to application.html.erb under layouts to find this Greenlight (line 19) for changing the browser title. I'm not sure how to change the favicon, specifically the BBB logo to something else, but I read that you have to add this: <%= favicon_link_tag 'favicon.ico' %>. Correct me if I'm wrong. I also went to lines 70 and 72 for changing the BBB logo in the top left corner of the page. I can change the bbb-logo.png to the image I want correct?

b) I went to index.html.erb under landing for changing the YouTube video. Now can I replace (line 49) with this:

Aquada Web Site ----> Click here.

IDMANN Institute Web Site ----> Click here.

Aquada Sales Web Site ----> Click here.

IDMANN Institute Store ----> Click here.

Need Help? support@aquada.com support@idmanninstitute.com

c) The only ones I don't know where to find are number 3 and 6 from my first post. I think 6 is this: <%= t('footer_html', bbb_link: link_to('BigBlueButton', 'http://bigbluebutton.org/', target: "_blank")) %>.

(line 82 in application.html.erb) but I'm not sure.

joshua-arts commented 6 years ago

This is a dumb question but do I have follow the steps in http://docs.bigbluebutton.org/greenlight-v1.html#installing-greenlight-without-docker if I want to run it from source.

No such thing as a dumb question! You probably shouldn't be using those steps at all. These are rough steps, but your process will probably look something like so:

1) Fork the Greenlight repo and clone it to your local machine. 2) Get Greenlight running locally in development mode. To do this, change into the directory you cloned and run bundle (install bundler if you don't have it, gem install bundler). 3) Setup the development database using rake db:setup. 4) Start the Rails server with rails server, and access Greenlight at http://localhost:3000. 5) Make the desired UI changes and push them to your fork. 6) In the Greenlight directory, run docker build -t alexnya/greenlight . and ensure the image builds. 7) Push the image to a registry or just copy it to your BigBlueButton server, and run as you would the bigbluebutton/greenlight image on your BigBlueButton server.

I'm not sure how to change the favicon, specifically the BBB logo to something else, but I read that you have to add this: <%= favicon_link_tag 'favicon.ico' %>.

I don't believe you need the favicon_link_tag. The BigBlueButton favicon is located at greenlight/public/favicon.ico. Changing this to a different favicon.ico file should change it.

I also went to lines 70 and 72 for changing the BBB logo in the top left corner of the page. I can change the bbb-logo.png to the image I want correct?

This should work fine, just make sure to change the image name on line 70 and 72 if it's called something other than bbb-logo.png.

I went to index.html.erb under landing for changing the YouTube video. Now can I replace (line 49) with this.

You can do whatever you want here, it doesn't necessarily have to be a Youtube video.

The only ones I don't know where to find are number 3 and 6 from my first post. I think 6 is this: <%= t('footer_html', bbb_link: link_to('BigBlueButton', 'http://bigbluebutton.org/', target: "_blank")) %>.

The footer is there, correct. The actual text is pulled from the footer_html locale in greenlight/config/locales/. You can either edit that or just add your own content in the html.erb file.

The "Connect in real-time with others" is also a locale. This line grabs a random landing title and assigns it. You can just manually change the content of the h2 tag to whatever you want.

alexnya commented 6 years ago

Thank you so much for your help! I think I have an idea on how to handle all the cosmetic changes I need for the Greenlight landing page. I just need clarification on steps 4, 5, and 7 of the procedure you listed. Specifically,

4) I'm working remotely on this project so how would I access Greenlight once I start the rails server?

5) How do I push the changes to my fork? I forgot to mention that I'm totally new to GitHub. I know there is forking, committing, pulling requests, merging, etc. but I don't understand the concepts.

7) How do I push the image to a registry or copy it to my BigBlueButton server?

I want to be sure I completely understand what to do before I actually attempt to go ahead and make changes to my Greenlight page.

joshua-arts commented 6 years ago

Thank you so much for your help!

No problem!

I'm working remotely on this project so how would I access Greenlight once I start the rails server?

If you're cloning the fork to the BigBlueButton server, you can do all your work there and just build and run the image to test your changes.

How do I push the changes to my fork? I forgot to mention that I'm totally new to GitHub. I know there is forking, committing, pulling requests, merging, etc. but I don't understand the concepts.

The ideal flow is that you make changes and you push them to your fork so that they are backed up and under version control. There are plenty of great tutorials on using git out there!

How do I push the image to a registry or copy it to my BigBlueButton server?

My bad, you really don't need to do this. Once you have your changes on your BigBlueButton server (either because you made them there, or because you made them locally, pushed to Github then pulled them there), just build the image there and you can run it.

alexnya commented 6 years ago

Ok so I decided to clone the repository into my local machine (I'll just push them to Github and then pull it to the BBB server). I'm currently on step 2 of the procedure you wrote and I'm trying to install bundler but I'm getting this message: bash: gem: command not found I'm in the Greenlight directory that I cloned. I have ruby (using rubyinstaller) and rubygems installed on my local machine but when I type ruby -v I get the following message: bash: ruby: command not found

alexnya commented 6 years ago

I restarted my machine and I seem to be able to run bundle. I'm on step 4 right now and I have an issue where I can't access localhost:3000. I get the unable to connect message on my browser. This is what I get when I run rails server:

$ rails server Please add the following to your Gemfile to avoid polling for changes: gem 'wdm', '>= 0.1.0' if Gem.win_platform? Please add the following to your Gemfile to avoid polling for changes: gem 'wdm', '>= 0.1.0' if Gem.win_platform? => Booting Puma => Rails 5.0.7 application starting in development on http://localhost:3000 => Run rails server -h for more startup options SIGUSR2 not implemented, signal based restart unavailable! SIGUSR1 not implemented, signal based restart unavailable! *** SIGHUP not implemented, signal based logs reopening unavailable! Puma starting in single mode...

Also when I go to just localhost I'm getting a 500 Internal Server Error.

joshua-arts commented 6 years ago

The steps I provided are rough and untested. They are meant to hopefully lead you in the right direction, but to get it running with your current setup you'll have to do some research.

Looks like it's asking you to install wdm, have you done this? Also, Greenlight is built on ruby 2.5.1, so I recommend upgrading your Ruby version. The best way to do this is to use a version manager such as RVM.

It does look like the Rails server is running though. When you go to http://localhost:3000, is anything printed in the console?

alexnya commented 6 years ago

I'm using git bash by the way not the Windows CMD. I tried using ruby 2.5.1 before but one of the gems wouldn't install properly so that's why I downgraded. No nothing shows up when I go to localhost:3000 but when I go to localhost this shows up:

Started GET "/" for 127.0.0.1 at 2018-08-08 11:31:20 -0400 ActiveRecord::SchemaMigration Load (1.0ms) SELECT "schema_migrations".* FROM "schema_migrations" Processing by MainController#index as HTML Rendering main/index.html.erb within layouts/application Rendered main/index.html.erb within layouts/application (5403.2ms) Completed 500 Internal Server Error in 5422ms (ActiveRecord: 0.0ms)

ActionView::Template::Error (Current ExecJS runtime does't support ES5. Please install node.js.): 32: <% end %> 33:

34:
35: <%= image_tag("landing/world.png", class: "active") %> 36: <%= image_tag("landing/bbb.png") %> 37: <%= image_tag("landing/mobile.png") %> 38:

app/views/main/index.html.erb:35:in `_app_views_main_index_html_erb__561361565_73090580' Processing by ErrorsController#internal_error as HTML Rendering errors/internal_error.html.erb within layouts/application Rendered errors/internal_error.html.erb within layouts/application (1.0ms) Completed 500 Internal Server Error in 4954ms (ActiveRecord: 0.0ms)

Error during failsafe response: Current ExecJS runtime does't support ES5. Please install node.js. E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/autoprefixer-rails-8.6.4/lib/autoprefixer-rails/processor.rb:149:in runtime' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/autoprefixer-rails-8.6.4/lib/autoprefixer-rails/processor.rb:37:inprocess' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/autoprefixer-rails-8.6.4/lib/autoprefixer-rails/sprockets.rb:20:in run' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/autoprefixer-rails-8.6.4/lib/autoprefixer-rails/sprockets.rb:14:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:75:in call_processor' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:57:inblock in call_processors' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:in reverse_each' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:incall_processors' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:134:in load_from_unloaded' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:60:inblock in load' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:317:in fetch_asset_from_dependency_cache' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:44:inload' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:20:in block in initialize' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:47:inload' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/bundle.rb:23:in block in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/utils.rb:200:indfs' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/bundle.rb:24:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:75:incall_processor' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:57:in block in call_processors' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:inreverse_each' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:in call_processors' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:134:inload_from_unloaded' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:60:in block in load' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:317:infetch_asset_from_dependency_cache' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:44:in load' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:20:inblock in initialize' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:47:in load' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/base.rb:66:infind_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-3.7.2/lib/sprockets/base.rb:92:in []' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:355:infind_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:347:in find_debug_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:229:inblock in lookup_debug_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:242:in block in resolve_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:241:ineach' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:241:in detect' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:241:inresolve_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:228:in lookup_debug_asset' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:170:inblock in stylesheet_link_tag' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:169:in map' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:169:instylesheet_link_tag' E:/Git/greenlight/app/views/layouts/application.html.erb:31:in _app_views_layouts_application_html_erb__348393050_73176140' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/template.rb:159:inblock in render' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/notifications.rb:166:in instrument' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/template.rb:354:ininstrument' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/template.rb:157:in render' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/renderer/template_renderer.rb:66:inrender_with_layout' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/renderer/template_renderer.rb:52:in render_template' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/renderer/template_renderer.rb:14:inrender' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/renderer/renderer.rb:42:in render_template' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/renderer/renderer.rb:23:inrender' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/rendering.rb:104:in _render_template' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/streaming.rb:217:in_render_template' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/rendering.rb:83:in render_to_body' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/rendering.rb:52:inrender_to_body' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/renderers.rb:142:in render_to_body' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/abstract_controller/rendering.rb:26:inrender' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/rendering.rb:36:in render' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/instrumentation.rb:44:inblock (2 levels) in render' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/core_ext/benchmark.rb:12:in block in ms' E:/Ruby24-x64/lib/ruby/2.4.0/benchmark.rb:308:inrealtime' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/core_ext/benchmark.rb:12:in ms' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/instrumentation.rb:44:inblock in render' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/instrumentation.rb:87:in cleanup_view_runtime' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activerecord-5.0.7/lib/active_record/railties/controller_runtime.rb:25:incleanup_view_runtime' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/instrumentation.rb:43:in render' E:/Git/greenlight/app/controllers/errors_controller.rb:29:ininternal_error' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/basic_implicit_render.rb:4:in send_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/abstract_controller/base.rb:188:inprocess_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/rendering.rb:30:in process_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/abstract_controller/callbacks.rb:20:inblock in process_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/callbacks.rb:126:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/callbacks.rb:506:inblock (2 levels) in compile' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/callbacks.rb:455:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/callbacks.rb:101:in__run_callbacks__' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/callbacks.rb:750:in _run_process_action_callbacks' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/callbacks.rb:90:inrun_callbacks' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/abstract_controller/callbacks.rb:19:in process_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/rescue.rb:20:inprocess_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/instrumentation.rb:32:in block in process_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/notifications.rb:164:inblock in instrument' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/notifications/instrumenter.rb:21:in instrument' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/notifications.rb:164:ininstrument' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/instrumentation.rb:30:in process_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal/params_wrapper.rb:248:inprocess_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activerecord-5.0.7/lib/active_record/railties/controller_runtime.rb:18:in process_action' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/abstract_controller/base.rb:126:inprocess' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionview-5.0.7/lib/action_view/rendering.rb:30:in process' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal.rb:190:indispatch' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_controller/metal.rb:262:in dispatch' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/routing/route_set.rb:50:indispatch' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/routing/route_set.rb:32:in serve' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/journey/router.rb:39:inblock in serve' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/journey/router.rb:26:in each' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/journey/router.rb:26:inserve' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/routing/route_set.rb:727:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/middleware/show_exceptions.rb:49:inrender_exception' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/middleware/show_exceptions.rb:34:in rescue in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/middleware/show_exceptions.rb:29:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/rack/logger.rb:36:in call_app' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/rack/logger.rb:24:inblock in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/tagged_logging.rb:69:in block in tagged' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/tagged_logging.rb:26:intagged' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/tagged_logging.rb:69:in tagged' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/rack/logger.rb:24:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/middleware/request_id.rb:24:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.5/lib/rack/method_override.rb:22:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.5/lib/rack/runtime.rb:22:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/middleware/executor.rb:12:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/actionpack-5.0.7/lib/action_dispatch/middleware/static.rb:136:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.5/lib/rack/sendfile.rb:111:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:522:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.5/lib/rack/urlmap.rb:68:inblock in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.5/lib/rack/urlmap.rb:53:in each' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.5/lib/rack/urlmap.rb:53:incall' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.11.4/lib/puma/configuration.rb:225:in call' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.11.4/lib/puma/server.rb:632:inhandle_request' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.11.4/lib/puma/server.rb:446:in process_client' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.11.4/lib/puma/server.rb:306:inblock in run' E:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.11.4/lib/puma/thread_pool.rb:120:in `block in spawn_thread'

joshua-arts commented 6 years ago

Current ExecJS runtime does't support ES5. Please install node.js.

You need a JS runtime that supports ES5.

alexnya commented 6 years ago

Thanks installing node.js seems to did the trick!

Now I made most of my edits with the exception of two things: the favicon and landing background doesn't change when I make my changes. For the first one, I simply replaced the bbb favicon with the favicon I want (I made sure to convert the jpg file to an ico file) but it's still showing the BBB logo. For the second one, I used the environment option you mentioned earlier in the sample.env file and put a URL there but its still showing the same default background. I tried restarting the server.

joshua-arts commented 6 years ago

For the favicon.ico, it could be cached. Perhaps try clearing your browser cache?

In order for the background to take effect, you need to stop, remove and recreate the container since it is an environment setting. Are you sure your container has the correct environment variable set and it can access the image?

Alternatively, you could just manually change the source to use the image you want, which may be the best bet.

alexnya commented 6 years ago

Where can I find the source for the landing background image?

joshua-arts commented 6 years ago

https://github.com/bigbluebutton/greenlight/blob/637ff5d4859d9618a98f27dae63e61c75937d469/app/views/layouts/application.html.erb#L51

You should be able to just change image_path(landing_background) to your image, for example:

image_path("my_background.png")

Just make sure you add it to app/assets/images/.

alexnya commented 6 years ago

Thank you so much Joshua! I was able to make all the edits I need. Now all I have to do is to run git push on my local machine and then docker build -t alexnya/greenlight on the remote server, right? That should be it?

joshua-arts commented 6 years ago

No problem, glad I could help!

Just remember after you push your changes to Github, you'll need to pull them on your BigBlueButton server before building the docker image, otherwise you won't have your changes!

Also, if you're copy the run command from the docs, make sure to run your newly built image instead of bigbluebutton/greenlight.

alexnya commented 6 years ago

One more question: I already have a greenlight directory (not a git repository) in my BBB server. Should I remove it and then pull my customized greenlight repository to my BBB server?

joshua-arts commented 6 years ago

No, that directory contains the configuration for your deployment. You should be fine to rename it if you want, just make sure you are running your image from within that directory.

Alternatively, you can just clone your fork under a directory other than greenlight by adding a new directory name to the end of the command.

alexnya commented 6 years ago

I'm running into a problem when I try to use the following command to run docker (correct me if I'm wrong):

docker run -p 80:80/tcp -p 1935:1935/tcp -p 5066:5066/tcp -p 32730-32768:32730-32768/udp -p 2202:2202 --cap-add=NET_ADMIN --name bigbluebutton alexnya/greenlight -h mediaroom.smallbusinessopenmarket.com

I get the following error: docker: Error response from daemon: driver failed programming external connectivity on endpoint bigbluebutton (de4f3dcc370bb288ac402541ba56f2a24d84ae57069f6dbae9f9cbaabf65feb1): Error starting userland proxy: listen tcp 0.0.0.0:5066: listen: address already in use. ERRO[0003] error waiting for container: context canceled

I already used netstat and killed the process using port 5066 (which was freeswitch) but I'm still getting the same error.

joshua-arts commented 6 years ago

That is the command to run the BigBlueButton server docker image. You should have a server with BigBlueButton already installed and working, then you run the Greenlight docker image on that server.

Checkout the Running Greenlight Server install step, but instead of running bigbluebutton/greenlight:v1, use your image.

alexnya commented 6 years ago

It was working for a while but now I'm getting a 404 Not Found message when I go to the URL. When I try re-running docker using the command from the link you sent to me it seems to run fine. Even when I try running using bigbluebutton/greenlight, I'm getting the same 404 page.

joshua-arts commented 6 years ago

I'm getting a 404 Not Found message when I go to the URL.

Which URL?

When I try re-running docker using the command from the link you sent to me it seems to run fine.

You're using the command from the docs, but with your custom image right?

Even when I try running using bigbluebutton/greenlight, I'm getting the same 404 page.

If you want to run bigbluebutton/greenlight, and your ~/greenlight configuration is setup for v1, you need to specify the v1 tag like so: bigbluebutton/greenlight:v1.

If this doesn't help, perhaps see if you can run it attached and see what the logs say. You can do this by removing the -d from the docker run command.

alexnya commented 6 years ago

The URL is the one of my BigBlueButton website (www.mediaroom.smallbusinessopenmarket.com). Yes I am using the command from the docs with alexnya/greenlight replacing bigbluebutton/greenlight:v1. Do you know where I can find the logs?

joshua-arts commented 6 years ago

Are you sure your nginx configuration is setup correctly, did you follow the steps here?

Try running it in attached mode, I think what might be happening is your custom container is erroring and immediately exiting. After you run docker run you should be able to run docker ps and see that it is running.

If all else fails, checkout out the docs on extracting logs.

Also, would you mind showing the exact docker run command that you are running?

alexnya commented 6 years ago

I run the following commands when I'm in the greenlight directory:

docker stop greenlight docker rm greenlight docker run -d -p 5000:80 -v $(pwd)/db/production:/usr/src/app/db/production --env-file env --name greenlight alexnya/greenlight

No I didn't follow the steps regarding nginx I'll try running the following command: docker run --rm alexnya/greenlight cat ./scripts/greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx

alexnya commented 6 years ago

When I run it attached that is using the command docker run -p 5000:80 -v $(pwd)/db/production:/usr/src/app/db/production --env-file env --name greenlight alexnya/greenlight I get the following result:

rake aborted! Faraday::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:78:in perform_request' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:38:inblock in call' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:85:in with_net_http_connection' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:33:incall' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/request/url_encoded.rb:15:in call' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/rack_builder.rb:141:inbuild_response' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/connection.rb:386:in run_request' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/connection.rb:149:inget' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday.rb:100:in method_missing' /usr/src/app/config/initializers/html5_client.rb:18:in<top (required)>' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:in load' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:inblock in load' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:259:in load_dependency' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:inload' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:648:in block in load_config_initializer' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/notifications.rb:166:ininstrument' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:647:in load_config_initializer' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:612:inblock (2 levels) in ' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:611:in each' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:611:inblock in ' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:30:in instance_exec' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:30:inrun' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:55:in block in run_initializers' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:44:ineach' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:44:in tsort_each_child' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:54:inrun_initializers' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:352:in initialize!' /usr/src/app/config/environment.rb:21:in<top (required)>' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:328:in require' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:328:inrequire_environment!' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:448:in block in run_tasks_blocks' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/rake-12.3.1/exe/rake:27:in<top (required)>'

Caused by: OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:78:in perform_request' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:38:inblock in call' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:85:in with_net_http_connection' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/adapter/net_http.rb:33:incall' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/request/url_encoded.rb:15:in call' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/rack_builder.rb:141:inbuild_response' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/connection.rb:386:in run_request' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday/connection.rb:149:inget' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/faraday-0.12.2/lib/faraday.rb:100:in method_missing' /usr/src/app/config/initializers/html5_client.rb:18:in<top (required)>' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:in load' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:inblock in load' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:259:in load_dependency' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:inload' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:648:in block in load_config_initializer' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.7/lib/active_support/notifications.rb:166:ininstrument' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:647:in load_config_initializer' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:612:inblock (2 levels) in ' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:611:in each' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/engine.rb:611:inblock in ' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:30:in instance_exec' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:30:inrun' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:55:in block in run_initializers' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:44:ineach' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:44:in tsort_each_child' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/initializable.rb:54:inrun_initializers' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:352:in initialize!' /usr/src/app/config/environment.rb:21:in<top (required)>' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:328:in require' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:328:inrequire_environment!' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.7/lib/rails/application.rb:448:in block in run_tasks_blocks' /usr/src/app/vendor/bundle/ruby/2.4.0/gems/rake-12.3.1/exe/rake:27:in<top (required)>' Tasks: TOP => db:migrate => environment (See full trace by running task with --trace) Puma starting in single mode...

joshua-arts commented 6 years ago

I noticed in your Gemfile you've changed to have ruby '2.4.4'. Greenlight v1 uses ruby 2.4.0, so I recommend changing this back and rebuilding your image. Make sure you are using ruby 2.4.0.

Also, do you have a valid SSL cert on your server?

alexnya commented 6 years ago

How do I check if I have a vaild SSL cert? I used an SSL checker and it said my certificate is valid (I got it from Let's Encrypt). Plus I see the green lock when I go the URL so doesn't that mean it's valid?

I updated the Gemfile and rebuild the image. When I try running docker I get this now (if you go to the URL it shows something different now):

Database 'db/production/production.sqlite3' already exists rake aborted! StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: table "users" already exists: CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "room_id" integer, "provider" varchar, "uid" varchar, "name" varchar, "username" varchar, "email" varchar, "social_uid" varchar, "image" varchar, "password_digest" varchar, "accepted_terms" boolean DEFAULT 'f', "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in initialize' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:innew' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in prepare' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:inexecute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/sqlite3_adapter.rb:232:in block in execute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract_adapter.rb:590:inblock in log' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.0.7/lib/active_support/notifications/instrumenter.rb:21:in instrument' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract_adapter.rb:583:inlog' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/sqlite3_adapter.rb:232:in execute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/schema_statements.rb:278:increate_table' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:846:in block in method_missing' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:815:inblock in say_with_time' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:815:in say_with_time' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:835:inmethod_missing' /usr/src/app/db/migrate/20180504131648_create_users.rb:21:in change' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:789:inexec_migration' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:773:in block (2 levels) in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:772:inblock in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in with_connection' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:771:inmigrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:951:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1232:inblock in execute_migration_in_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1300:in block in ddl_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:232:inblock in transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:189:in within_new_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:232:intransaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/transactions.rb:211:in transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1300:inddl_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1231:in execute_migration_in_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1203:inblock in migrate_without_lock' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1202:in each' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1202:inmigrate_without_lock' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1152:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1006:inup' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:984:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/tasks/database_tasks.rb:163:inmigrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/railties/databases.rake:58:in block (2 levels) in <top (required)>' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/rake-12.3.1/exe/rake:27:in<top (required)>' /usr/local/bin/bundle:23:in load' /usr/local/bin/bundle:23:in

'

Caused by: ActiveRecord::StatementInvalid: SQLite3::SQLException: table "users" already exists: CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "room_id" integer, "provider" varchar, "uid" varchar, "name" varchar, "username" varchar, "email" varchar, "social_uid" varchar, "image" varchar, "password_digest" varchar, "accepted_terms" boolean DEFAULT 'f', "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in initialize' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:innew' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in prepare' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:inexecute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/sqlite3_adapter.rb:232:in block in execute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract_adapter.rb:590:inblock in log' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.0.7/lib/active_support/notifications/instrumenter.rb:21:in instrument' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract_adapter.rb:583:inlog' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/sqlite3_adapter.rb:232:in execute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/schema_statements.rb:278:increate_table' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:846:in block in method_missing' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:815:inblock in say_with_time' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:815:in say_with_time' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:835:inmethod_missing' /usr/src/app/db/migrate/20180504131648_create_users.rb:21:in change' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:789:inexec_migration' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:773:in block (2 levels) in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:772:inblock in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in with_connection' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:771:inmigrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:951:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1232:inblock in execute_migration_in_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1300:in block in ddl_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:232:inblock in transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:189:in within_new_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:232:intransaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/transactions.rb:211:in transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1300:inddl_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1231:in execute_migration_in_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1203:inblock in migrate_without_lock' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1202:in each' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1202:inmigrate_without_lock' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1152:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1006:inup' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:984:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/tasks/database_tasks.rb:163:inmigrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/railties/databases.rake:58:in block (2 levels) in <top (required)>' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/rake-12.3.1/exe/rake:27:in<top (required)>' /usr/local/bin/bundle:23:in load' /usr/local/bin/bundle:23:in

'

Caused by: SQLite3::SQLException: table "users" already exists /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in initialize' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:innew' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in prepare' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:inexecute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/sqlite3_adapter.rb:232:in block in execute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract_adapter.rb:590:inblock in log' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.0.7/lib/active_support/notifications/instrumenter.rb:21:in instrument' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract_adapter.rb:583:inlog' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/sqlite3_adapter.rb:232:in execute' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/schema_statements.rb:278:increate_table' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:846:in block in method_missing' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:815:inblock in say_with_time' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:815:in say_with_time' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:835:inmethod_missing' /usr/src/app/db/migrate/20180504131648_create_users.rb:21:in change' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:789:inexec_migration' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:773:in block (2 levels) in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:772:inblock in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in with_connection' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:771:inmigrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:951:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1232:inblock in execute_migration_in_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1300:in block in ddl_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:232:inblock in transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:189:in within_new_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:232:intransaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/transactions.rb:211:in transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1300:inddl_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1231:in execute_migration_in_transaction' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1203:inblock in migrate_without_lock' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1202:in each' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1202:inmigrate_without_lock' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1152:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:1006:inup' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/migration.rb:984:in migrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/tasks/database_tasks.rb:163:inmigrate' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.0.7/lib/active_record/railties/databases.rake:58:in block (2 levels) in <top (required)>' /usr/src/app/vendor/bundle/ruby/2.5.0/gems/rake-12.3.1/exe/rake:27:in<top (required)>' /usr/local/bin/bundle:23:in load' /usr/local/bin/bundle:23:in

' Tasks: TOP => db:migrate (See full trace by running task with --trace) == 20180504131648 CreateUsers: migrating ====================================== -- create_table(:users) Puma starting in single mode...

  • Version 3.11.4 (ruby 2.5.1-p57), codename: Love Song
  • Min threads: 5, max threads: 5
  • Environment: production
  • Listening on tcp://0.0.0.0:80
joshua-arts commented 6 years ago

The error that your getting there is because you're running a Greenlight v2 image with a Greenlight v1 configuration. Is is possible when you rebuilt the image that you were not on the v1 branch and accidentally built v2? Is it possible you used the wrong image in your command?

alexnya commented 6 years ago

I think when I built it before I was using the master branch which I was why I was getting that error. I used git checkout v1 to switch to that branch before rebuilding the image. Now when I run docker run -p 5000:80 -v $(pwd)/db/production:/usr/src/app/db/production --env-file env --name greenlight alexnya/greenlight I get the same error I got before the last one (with the certificate verify failed error).

How do I check if I have a vaild SSL cert? I used an SSL checker and it said my certificate is valid (I got it from Let's Encrypt). Plus I see the green lock when I go the URL so doesn't that mean it's valid?

joshua-arts commented 6 years ago

I tried to reproduce the problem but I couldn't seem to.

Make sure your BIGBLUEBUTTON_ENDPOINT URL is using https.

If that doesn't work, you might be able fix it by removing the Faraday get. So this:

https://github.com/bigbluebutton/greenlight/blob/637ff5d4859d9618a98f27dae63e61c75937d469/config/initializers/html5_client.rb#L18-L19

Would be removed and just changed to:

Rails.application.config.html5_enabled = false

Keep in mind the v1 is outdated and no longer supported. v2 fixes a lot of the old problems that v1 has, so like I mentioned in my first comment, I highly suggest upgrading. The process to customise is very similar.

alexnya commented 6 years ago

Ok it works now but I can't join a meeting. When I click Join it does nothing. Is that because of the change I made (removing the Faraday get)?

At this point I'm thinking of rolling back the server to a previous snapshot I took of the server before I made the changes.

joshua-arts commented 6 years ago

That might not be a bad idea. Making changes is always dodgy when you're not entirely familiar with the application. We hope to add more customization features is v2 in the future. In the meantime, as I stated above, I would highly suggest switching over to the latest version.

alexnya commented 6 years ago

Ok I rolled back the server and redid the steps for building and running the new Docker image. It's been a couple of days but it seems to work now. Once again thank you so much for your help Josh. If anything comes up I'll make a new post about it. I think you can re-close this issue.

mcy260 commented 5 years ago

did you fix it? I was able to customize greenlight :)

BUT

once i restart the server... i got 404 Not Found

How do i set to start with this config always?

ffdixon commented 5 years ago

Hi there,

Please don't post in a closed issue. You have already asked this question in our forums and we are helping you there: https://groups.google.com/d/msg/bigbluebutton-setup/OuvXRNrvNBk/J4irDDUHCwAJ.