forked from External/greenlight
		
	Merge branch 'master' of https://github.com/bigbluebutton/greenlight2
This commit is contained in:
		@@ -14,7 +14,7 @@ tmp
 | 
			
		||||
/db/**/*.sqlite3-journal
 | 
			
		||||
/db/production
 | 
			
		||||
public/assets
 | 
			
		||||
public/gl
 | 
			
		||||
public/b
 | 
			
		||||
coverage/
 | 
			
		||||
spec/tmp
 | 
			
		||||
.rvmrc
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -14,7 +14,7 @@
 | 
			
		||||
# Ignore static assets.
 | 
			
		||||
/public/system/**
 | 
			
		||||
/public/assets/**
 | 
			
		||||
/public/gl/**
 | 
			
		||||
/public/b/**
 | 
			
		||||
 | 
			
		||||
# Ignore production paths.
 | 
			
		||||
/db/production
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								.ruby-version
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.ruby-version
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
2.5.1
 | 
			
		||||
@@ -25,8 +25,8 @@ RUN bundle install --without development test --deployment --clean
 | 
			
		||||
RUN bundle exec rake assets:clean
 | 
			
		||||
RUN bundle exec rake assets:precompile
 | 
			
		||||
 | 
			
		||||
# Expose port 3000.
 | 
			
		||||
EXPOSE 3000
 | 
			
		||||
# Expose port 80.
 | 
			
		||||
EXPOSE 80
 | 
			
		||||
 | 
			
		||||
# Start the application.
 | 
			
		||||
CMD ["bin/start"]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							@@ -1,5 +1,7 @@
 | 
			
		||||
# Greenlight
 | 
			
		||||
 | 
			
		||||
Greenlight is currently on version 2.0. If you are still running Greenlight 1.0 we suggest [upgrading to 2.0](http://docs.bigbluebutton.org/install/greenlight-v2.html#upgrading-from-greenlight-10).
 | 
			
		||||
 | 
			
		||||
Greenlight is a simple front-end interface for your BigBlueButton server. At it's heart, Greenlight provides a minimalistic web-based application that allows users to:
 | 
			
		||||
 | 
			
		||||
  * Signup/Login with Twitter, Google, or through the application itself.
 | 
			
		||||
@@ -8,9 +10,13 @@ Greenlight is a simple front-end interface for your BigBlueButton server. At it'
 | 
			
		||||
  * Invite others to your room using a simple URL.
 | 
			
		||||
  * View recordings and share them with others.
 | 
			
		||||
 | 
			
		||||
Furthermore, Greenlight is completely configurable. This means you can turn on/off features to make Greenlight fit your specific use case. For more information on Greenlight and it's features, see our [documentation](http://docs.bigbluebutton.org/install/greenlight.html).
 | 
			
		||||
Interested? Try Greenlight out on our [demo server](https://demo.bigbluebutton.org/gl)!
 | 
			
		||||
 | 
			
		||||
For a overview of how GreenLight works, checkout our [Introduction to Greenlight Video](https://youtu.be/yGX3JCv7OVM).
 | 
			
		||||
Greenlight is also completely configurable. This means you can turn on/off features to make Greenlight fit your specific use case. For more information on Greenlight and its features, see our [documentation](http://docs.bigbluebutton.org/install/greenlight-v2.html).
 | 
			
		||||
 | 
			
		||||
For a overview of how Greenlight works, checkout our Introduction to Greenlight Video:
 | 
			
		||||
 | 
			
		||||
[](https://youtu.be/Hso8yLzkqj8)
 | 
			
		||||
 | 
			
		||||
## Installation on a BigBlueButton Server
 | 
			
		||||
 | 
			
		||||
@@ -20,7 +26,7 @@ For information on installing Greenlight, checkout our [Installing Greenlight on
 | 
			
		||||
 | 
			
		||||
## Source Code & Contributing
 | 
			
		||||
 | 
			
		||||
GreenLight is built using Ruby on Rails. Many developers already know Rails well, and we wanted to create both a full front-end to BigBlueButton but also a reference implementation of how to fully leverage the [BigBlueButton API](http://docs.bigbluebutton.org/dev/api.html).
 | 
			
		||||
Greenlight is built using Ruby on Rails. Many developers already know Rails well, and we wanted to create both a full front-end to BigBlueButton but also a reference implementation of how to fully leverage the [BigBlueButton API](http://docs.bigbluebutton.org/dev/api.html).
 | 
			
		||||
 | 
			
		||||
We invite you to build upon GreenLight and help make it better. See [Contributing to BigBlueButton](http://docs.bigbluebutton.org/support/faq.html#contributing-to-bigbluebutton).
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,3 +21,18 @@
 | 
			
		||||
  transform: translateY(-50%);
 | 
			
		||||
  margin-top: 50%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.or-line {
 | 
			
		||||
  div {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 16px;
 | 
			
		||||
    border-bottom: 1px solid #d3d3d3;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    span {
 | 
			
		||||
      font-size: 120%;
 | 
			
		||||
      background-color: #ffffff;
 | 
			
		||||
      padding: 0 10px;
 | 
			
		||||
      color: #d3d3d3
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.thumbnail {
 | 
			
		||||
  height: 40% !important;
 | 
			
		||||
  height: 60px !important;
 | 
			
		||||
  width: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -22,3 +22,7 @@
 | 
			
		||||
.home-indicator {
 | 
			
		||||
  font-size: 22px !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.btn-del-room {
 | 
			
		||||
  width: 70% !important;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,13 @@ require 'bigbluebutton_api'
 | 
			
		||||
class ApplicationController < ActionController::Base
 | 
			
		||||
  include SessionsHelper
 | 
			
		||||
 | 
			
		||||
  before_action :migration_error?
 | 
			
		||||
 | 
			
		||||
  # Show an information page when migration fails and there is a version error.
 | 
			
		||||
  def migration_error?
 | 
			
		||||
    render :migration_error unless ENV["DB_MIGRATE_FAILED"].blank?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  MEETING_NAME_LIMIT = 90
 | 
			
		||||
@@ -56,7 +63,7 @@ class ApplicationController < ActionController::Base
 | 
			
		||||
      user_is_moderator: false,
 | 
			
		||||
      meeting_logout_url: request.base_url + logout_room_path(@room),
 | 
			
		||||
      meeting_recorded: true,
 | 
			
		||||
      moderator_message: "#{invite_msg}\n\n #{request.base_url + relative_root + room_path(@room)}",
 | 
			
		||||
      moderator_message: "#{invite_msg}\n\n #{request.base_url + room_path(@room)}",
 | 
			
		||||
    }
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
@@ -65,8 +65,9 @@ class RoomsController < ApplicationController
 | 
			
		||||
 | 
			
		||||
  # DELETE /:room_uid
 | 
			
		||||
  def destroy
 | 
			
		||||
    p @room
 | 
			
		||||
    # Don't delete the users home room.
 | 
			
		||||
    @room.destroy if @room != current_user.main_room
 | 
			
		||||
    @room.destroy if @room.owned_by?(current_user) && @room != current_user.main_room
 | 
			
		||||
 | 
			
		||||
    redirect_to current_user.main_room
 | 
			
		||||
  end
 | 
			
		||||
@@ -90,14 +91,6 @@ class RoomsController < ApplicationController
 | 
			
		||||
    redirect_to @room
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # POST /:room_uid/home
 | 
			
		||||
  def home
 | 
			
		||||
    current_user.main_room = @room
 | 
			
		||||
    current_user.save
 | 
			
		||||
 | 
			
		||||
    redirect_to @room
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # POST /:room_uid/:record_id
 | 
			
		||||
  def update_recording
 | 
			
		||||
    meta = {
 | 
			
		||||
 
 | 
			
		||||
@@ -19,18 +19,6 @@ class SessionsController < ApplicationController
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # POST /launch
 | 
			
		||||
  def launch
 | 
			
		||||
    # This will recieve a encoded POST from a launcher that
 | 
			
		||||
    # contains the provider, and all user information. The
 | 
			
		||||
    # launcher is what does the authentication, so we know
 | 
			
		||||
    # that the user is who they say they are. We just need
 | 
			
		||||
    # to use our secret to decode it and then log them in
 | 
			
		||||
    # to GreenLight (or sign them up).
 | 
			
		||||
 | 
			
		||||
    # User.from_launch()
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # GET/POST /auth/:provider/callback
 | 
			
		||||
  def omniauth
 | 
			
		||||
    user = User.from_omniauth(request.env['omniauth.auth'])
 | 
			
		||||
 
 | 
			
		||||
@@ -23,8 +23,8 @@ class User < ApplicationRecord
 | 
			
		||||
    # Generates a user from omniauth.
 | 
			
		||||
    def from_omniauth(auth)
 | 
			
		||||
      find_or_initialize_by(social_uid: auth['uid'], provider: auth['provider']).tap do |u|
 | 
			
		||||
        u.name = send("#{auth['provider']}_name", auth)
 | 
			
		||||
        u.username = send("#{auth['provider']}_username", auth)
 | 
			
		||||
        u.name = send("#{auth['provider']}_name", auth) unless u.name
 | 
			
		||||
        u.username = send("#{auth['provider']}_username", auth) unless u.username
 | 
			
		||||
        u.email = send("#{auth['provider']}_email", auth)
 | 
			
		||||
        u.image = send("#{auth['provider']}_image", auth)
 | 
			
		||||
        u.save!
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								app/views/application/migration_error.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								app/views/application/migration_error.html.erb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
<div class="page mt-0">
 | 
			
		||||
  <div class="page-content mt-0">
 | 
			
		||||
    <div class="container text-center">
 | 
			
		||||
      <i class="fas fa-database fa-6x mb-4"></i>
 | 
			
		||||
      <h1 class="h3 mb-2">Greenlight encountered a database migration error.<br>This may be because you haven't updated to Greenlight 2.0.</h1>
 | 
			
		||||
      <p class="h4 text-muted font-weight-normal mb-7">If you are not an administrator, please contact one.</p>
 | 
			
		||||
      <h1 class="h3 mb-3">We've released a new version of Greenlight, but your database isn't compatible.</h1>
 | 
			
		||||
      <a class="btn btn-success mt-3 mx-3" href="http://docs.bigbluebutton.org/install/greenlight-v2.html#upgrading-from-greenlight-10" target="_blank">
 | 
			
		||||
        <i class="far fa-star mr-2"></i>Show me how to upgrade to 2.0!
 | 
			
		||||
      </a>
 | 
			
		||||
      <a class="btn btn-info mt-3 mx-3 w-20" href="http://docs.bigbluebutton.org/install/greenlight-v2.html#remaining-on-greenlight-10" target="_blank">
 | 
			
		||||
        <i class="far fa-hand-paper mr-2"></i>I'd like to stay using 1.0.
 | 
			
		||||
      </a>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
      <h1 id="main-text" class="font-weight-400 responsive-header">Welcome to Greenlight.</h1>
 | 
			
		||||
      <h4 class="text-muted">A simple front end for your BigBlueButton Open Source Web Conferencing Server.</h4>
 | 
			
		||||
 | 
			
		||||
      <%= link_to "https://www.youtube.com/watch?v=yGX3JCv7OVM&feature=youtu.be", class: "p-3", target: "_blank" do %>
 | 
			
		||||
      <%= link_to "https://youtu.be/Hso8yLzkqj8", class: "p-3", target: "_blank" do %>
 | 
			
		||||
        <h4>Watch a tutorial on using Greenlight <i class="far fa-play-circle"></i></h4>
 | 
			
		||||
      <% end %>
 | 
			
		||||
    </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -48,6 +48,7 @@
 | 
			
		||||
              <%= render "shared/components/room_block", room: room %>
 | 
			
		||||
            <% end %>
 | 
			
		||||
          </div>
 | 
			
		||||
          <%= render "shared/modals/delete_room_modal", room: room %>
 | 
			
		||||
        <% end %>
 | 
			
		||||
      <% end %>
 | 
			
		||||
    </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@
 | 
			
		||||
								<i class="dropdown-icon fas fa-cog"></i> Settings
 | 
			
		||||
							<% end %>
 | 
			
		||||
							<div class="dropdown-divider"></div>
 | 
			
		||||
							<a class="dropdown-item" href="http://docs.bigbluebutton.org/support/faq.html">
 | 
			
		||||
							<a class="dropdown-item" href="http://docs.bigbluebutton.org/install/greenlight.html" target="_blank">
 | 
			
		||||
								<i class="dropdown-icon far fa-question-circle"></i> Need help?
 | 
			
		||||
							</a>
 | 
			
		||||
							<%= link_to logout_path, class: "dropdown-item" do %>
 | 
			
		||||
 
 | 
			
		||||
@@ -22,22 +22,21 @@
 | 
			
		||||
          </div>
 | 
			
		||||
        </td>
 | 
			
		||||
        <td class="text-right">
 | 
			
		||||
          <div class="item-action dropdown">
 | 
			
		||||
            <a href="javascript:void(0)" data-toggle="dropdown" class="icon"><i class="fas fa-ellipsis-v"></i></a>
 | 
			
		||||
            <div class="dropdown-menu dropdown-menu-right">
 | 
			
		||||
              <%= link_to room, class: "dropdown-item" do %>
 | 
			
		||||
                <i class="dropdown-icon fas fa-cog"></i> Room Settings
 | 
			
		||||
              <% end %>
 | 
			
		||||
              <% if room != current_user.main_room %>
 | 
			
		||||
                <%= button_to make_home_path(room), class: "dropdown-item" do %>
 | 
			
		||||
                  <i class="dropdown-icon fas fa-home"></i> Make Home Room
 | 
			
		||||
          <% if room != current_user.main_room %>
 | 
			
		||||
            <div class="item-action dropdown">
 | 
			
		||||
              <a href="javascript:void(0)" data-toggle="dropdown" class="icon"><i class="fas fa-ellipsis-v"></i></a>
 | 
			
		||||
              <div class="dropdown-menu">
 | 
			
		||||
                <!--
 | 
			
		||||
                <%= link_to room, class: "dropdown-item" do %>
 | 
			
		||||
                  <i class="dropdown-icon fas fa-cog"></i> Room Settings
 | 
			
		||||
                <% end %>
 | 
			
		||||
                <%= button_to room, method: :delete, data: { confirm: 'Are you sure?' }, class: "dropdown-item" do %>
 | 
			
		||||
                -->
 | 
			
		||||
                <a href="" data-toggle="modal" data-target="#deleteRoomModal_<%= room.uid %>"class="dropdown-item">
 | 
			
		||||
                  <i class="dropdown-icon far fa-trash-alt"></i> Delete
 | 
			
		||||
                <% end %>
 | 
			
		||||
              <% end %>
 | 
			
		||||
                </a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <% end %>
 | 
			
		||||
        </td>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@
 | 
			
		||||
              <div class="invalid-feedback text-left">Room name cannot be blank.</div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <label class="custom-switch mt-5 mb-5 float-left">
 | 
			
		||||
              <%= f.check_box :auto_join, class: "custom-switch-input", checked: true %>
 | 
			
		||||
              <%= f.check_box :auto_join, class: "custom-switch-input", checked: false %>
 | 
			
		||||
              <span class="custom-switch-indicator"></span>
 | 
			
		||||
              <span class="custom-switch-description">Automatically join me into the room.</span>
 | 
			
		||||
            </label>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								app/views/shared/modals/_delete_room_modal.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								app/views/shared/modals/_delete_room_modal.html.erb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
<div class="modal fade" id="deleteRoomModal_<%= room.uid %>" tabindex="-1" role="dialog">
 | 
			
		||||
  <div class="modal-dialog modal-dialog-centered" role="document">
 | 
			
		||||
    <div class="modal-content text-center">
 | 
			
		||||
      <div class="modal-body">
 | 
			
		||||
        <div class="card-body p-6">
 | 
			
		||||
          <div class="card-title">
 | 
			
		||||
            <h3>Are you sure you want to delete <%= room.name %>?</h3>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <button type="button" class="btn btn-pill btn-info my-1 btn-del-room" data-dismiss="modal">
 | 
			
		||||
            On second thought, I'll keep it.
 | 
			
		||||
          </button>
 | 
			
		||||
 | 
			
		||||
          <%= button_to room, method: :delete, id: "delete-confirm", class: "btn btn-pill btn-danger my-1 btn-del-room" do %>
 | 
			
		||||
            I'm sure, delete this room.
 | 
			
		||||
          <% end %>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="card-footer">
 | 
			
		||||
          <p>You will <b>not</b> be able to recover this room or any of its associated recordings.</p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
@@ -7,13 +7,17 @@
 | 
			
		||||
            <h3>Login</h3>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <% configured_providers.each do |provider| %>
 | 
			
		||||
            <%= link_to omniauth_login_url(provider), class: "btn btn-pill btn-#{provider} btn-block" do %>
 | 
			
		||||
               <i class="fab fa-<%= provider %>"></i> <%= "Login with #{provider.capitalize}" %>
 | 
			
		||||
          <% unless configured_providers.length.zero? %>
 | 
			
		||||
            <% configured_providers.each do |provider| %>
 | 
			
		||||
              <%= link_to omniauth_login_url(provider), class: "btn btn-pill btn-#{provider} btn-block" do %>
 | 
			
		||||
                <i class="fab fa-<%= provider %>"></i> <%= "Login with #{provider.capitalize}" %>
 | 
			
		||||
              <% end %>
 | 
			
		||||
            <% end %>
 | 
			
		||||
          <% end %>
 | 
			
		||||
 | 
			
		||||
          <hr>
 | 
			
		||||
            <div class="or-line my-6">
 | 
			
		||||
              <div><span class="text-uppercase">or</span></div>
 | 
			
		||||
            </div>
 | 
			
		||||
          <% end %>
 | 
			
		||||
 | 
			
		||||
          <%= form_for(:session, url: create_session_path) do |f| %>
 | 
			
		||||
            <div class="form-group">
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <br>
 | 
			
		||||
    <%= f.label "Provider", class: "form-label" %>
 | 
			
		||||
    <%= f.text_field :provider, class: "form-control", value: @user.provider.capitalize, readonly: "" %>
 | 
			
		||||
    <%= f.text_field :provider, class: "form-control", readonly: "" %>
 | 
			
		||||
 | 
			
		||||
    <%= f.label "Image", class: "form-label mt-5" %>
 | 
			
		||||
    <div class="row">
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,8 @@
 | 
			
		||||
              <div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:password_confirmation).first %></div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="card-footer">
 | 
			
		||||
              <%= f.submit "Sign up", class: "btn btn-primary float-right" %>
 | 
			
		||||
              <%= f.submit "Sign up", class: "btn btn-primary float-right ml-2" %>
 | 
			
		||||
              <%= link_to "Cancel", root_path, class: "btn btn-danger float-right ml-2" %>
 | 
			
		||||
            </div>
 | 
			
		||||
          <% end %>
 | 
			
		||||
        </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,8 @@ do
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
bundle exec rake db:create
 | 
			
		||||
bundle exec rake db:migrate
 | 
			
		||||
if ! bundle exec rake db:migrate ; then
 | 
			
		||||
  export DB_MIGRATE_FAILED=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
exec bundle exec puma -C config/puma.rb
 | 
			
		||||
 
 | 
			
		||||
@@ -87,6 +87,7 @@ Rails.application.configure do
 | 
			
		||||
  config.active_record.dump_schema_after_migration = false
 | 
			
		||||
 | 
			
		||||
  # Set the relative url root for deployment to a subdirectory.
 | 
			
		||||
  config.relative_url_root = "/"
 | 
			
		||||
  config.relative_url_root = ENV['RELATIVE_URL_ROOT'] if ENV['RELATIVE_URL_ROOT'].present?
 | 
			
		||||
  if ENV['RELATIVE_URL_ROOT'] != "/"
 | 
			
		||||
    config.relative_url_root = ENV['RELATIVE_URL_ROOT'] || "/b"
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ threads threads_count, threads_count
 | 
			
		||||
 | 
			
		||||
# Specifies the `port` that Puma will listen on to receive requests, default is 3000.
 | 
			
		||||
#
 | 
			
		||||
port        ENV.fetch("PORT") { 3000 }
 | 
			
		||||
port        ENV.fetch("PORT") { 80 }
 | 
			
		||||
 | 
			
		||||
# Specifies the `environment` that Puma will run in.
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
@@ -24,9 +24,6 @@ Rails.application.routes.draw do
 | 
			
		||||
    patch '/:user_uid/edit', to: 'users#update', as: :update_user
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # Handles launches from a trusted launcher.
 | 
			
		||||
  post '/launch', to: 'sessions#launch'
 | 
			
		||||
 | 
			
		||||
  # Handles Omniauth authentication.
 | 
			
		||||
  match '/auth/:provider/callback', to: 'sessions#omniauth', via: [:get, :post], as: :omniauth_session
 | 
			
		||||
  get '/auth/failure', to: 'sessions#fail'
 | 
			
		||||
@@ -39,7 +36,6 @@ Rails.application.routes.draw do
 | 
			
		||||
    post '/', to: 'rooms#join'
 | 
			
		||||
    post '/start', to: 'rooms#start', as: :start_room
 | 
			
		||||
    get '/logout', to: 'rooms#logout', as: :logout_room
 | 
			
		||||
    post '/home', to: 'rooms#home', as: :make_home
 | 
			
		||||
 | 
			
		||||
    # Mange recordings.
 | 
			
		||||
    scope '/:record_id' do
 | 
			
		||||
 
 | 
			
		||||
@@ -3,12 +3,12 @@ version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    entrypoint: [bin/start]
 | 
			
		||||
    image: joshblind/greenlight:latest
 | 
			
		||||
    container_name: greenlight-web
 | 
			
		||||
    image: bigbluebutton/greenlight:v2
 | 
			
		||||
    container_name: greenlight-v2
 | 
			
		||||
    env_file: env
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
      - 6000:3000
 | 
			
		||||
      - 5000:80
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./db/production:/usr/src/app/db/production
 | 
			
		||||
      - ./log:/usr/src/app/log
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,18 @@
 | 
			
		||||
# Routes requests to Greenlight based on the '/gl' prefix.
 | 
			
		||||
# Use this file to route '/gl' paths on your BigBlueButton server
 | 
			
		||||
# Routes requests to Greenlight based on the '/b' prefix.
 | 
			
		||||
# Use this file to route '/b' paths on your BigBlueButton server
 | 
			
		||||
# to the Greenlight application. If you are using a different
 | 
			
		||||
# subpath, you should change it here.
 | 
			
		||||
 | 
			
		||||
location /gl {
 | 
			
		||||
  proxy_pass          http://127.0.0.1:6000;
 | 
			
		||||
location /b {
 | 
			
		||||
  proxy_pass          http://127.0.0.1:5000;
 | 
			
		||||
  proxy_set_header    Host              $host;
 | 
			
		||||
  proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
 | 
			
		||||
  proxy_set_header    X-Forwarded-Proto $scheme;
 | 
			
		||||
  proxy_http_version  1.1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
location /gl/cable {
 | 
			
		||||
  proxy_pass          http://127.0.0.1:6000;
 | 
			
		||||
location /b/cable {
 | 
			
		||||
  proxy_pass          http://127.0.0.1:5000;
 | 
			
		||||
  proxy_set_header    Host              $host;
 | 
			
		||||
  proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
 | 
			
		||||
  proxy_set_header    X-Forwarded-Proto $scheme;
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
# You can generate a secure one through the Greenlight docker image
 | 
			
		||||
# with with the command.
 | 
			
		||||
#
 | 
			
		||||
#   docker run --rm bigbluebutton/greenlight bundle exec rake secret
 | 
			
		||||
#   docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
 | 
			
		||||
#
 | 
			
		||||
SECRET_KEY_BASE=
 | 
			
		||||
 | 
			
		||||
@@ -50,6 +50,6 @@ ALLOW_GREENLIGHT_ACCOUNTS=true
 | 
			
		||||
# if deploying on a BigBlueButton server. Keep in mind that if you change this, you'll
 | 
			
		||||
# have to update your authentication callback URL's to reflect this change.
 | 
			
		||||
#
 | 
			
		||||
#   The recommended prefix is "/gl".
 | 
			
		||||
#   The recommended prefix is "/b".
 | 
			
		||||
#
 | 
			
		||||
RELATIVE_URL_ROOT=/gl
 | 
			
		||||
RELATIVE_URL_ROOT=/b
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user