Office365
Getting evaluation license
Prerequisites
To run Roombelt you need a Ubuntu 20.04 server. As Roombelt is a web application it needs to be accessible from your network over a secure HTTPS connection. Setting up an HTTPS certificate is beyond the scope of this document and can be done e.g. using Apache or NGINX with Let’s Encrypt.
Roombelt is distributed as a single binary. Provisioning it (e.g. running when the Ubuntu server starts and restarting after an application crash) can be done using standard Linux mechanisms (e.g.
systemd
) and is not covered in this document.
Creating an application in Azure
- 1.Open https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade and click "New registration".
- 2.Type any name, choose "Accounts in this organizational directory only (Single tenant)" and click "Register".
- 3.Open the registered application overview page. Copy “Application (client) ID” and paste it into the roombelt.env config file as
OFFICE365_DELEGATED_CLIENT_ID
. Copy "Directory (tenant) ID" and paste it into the roombelt.env config file asOFFICE365_DELEGATED_TENANT_ID
. - 4.Go to “Certificates and secrets” and create a new client secret. Set any expiration date. Copy the client secret value and paste into the
roombelt.env
config file asOFFICE365_DELEGATED_CLIENT_SECRET
. - 5.Go to API permissions, and click “Add a permission”. Select “Microsoft Graph” and then “Application permissions”. Select:
- openid
- profile
- email
- offline_access
- Calendars.ReadWrite.Shared
- User.Read
- 6.Go to “Authentication” and click “Add a platform”. Choose “Web” and type Redirect URI in the format
https://<ROOMBELT_URL>/office365/delegated/oauth_callback
. SetOFFICE365_DELEGATED_REDIRECT_URL
in the roombelt.env configuration file to the value set above.
Roombelt configuration file
Roombelt configuration can be changed using the roombelt.env configuration file. Set the following fields:
OFFICE365_DELEGATED_CLIENT_ID
to the Application (client) ID that you’ve saved earlier.OFFICE365_DELEGATED_TENANT_ID
to the Directory (tenant) ID that you’ve saved earlier.OFFICE365_DELEGATED_CLIENT_SECRET
to the Client secret that you’ve saved earlier.OFFICE365_DELEGATED_REDIRECT_URL
to the Redirect URI that you’ve configured in Azure in the previous steps.
There are additional configuration options described in the sample roombelt.env configuration file delivered with Roombelt binary. Please review this file to see available options.
Database
By default, Roombelt uses SQLite database which is sufficient for most use cases. If an external database is preferred you can provide a database connection string using the
DATABASE_URL
variable in the roombelt.env configuration file. Supported databases include PostgreSQL and MySQL.Roombelt creates and updates the database schema automatically if the
UPDATE_DATABASE_SCHEMA
variable is set to true in the configuration file. Interrupting the database update process can break the database permanently so it’s highly recommended to:- 1.Start Roombelt for the first time with
UPDATE_DATABASE_SCHEMA=true
. - 2.Wait about a minute to ensure the database schema is created.
- 3.Kill Roombelt, set
UPDATE_DATABASE_SCHEMA=false
, and restart the application.
To manage meeting rooms in Roombelt you need to set your Office365 account as a delegate to the resource calendars. To do that:
- 2.Click on the meeting room you want to manage in Roombelt and on the side panel go to tab "Delegation".
- 3.Scroll down to the section "Read and manage (Full Access)" and add the Office365 account used to sign in to Roombelt as a delegate.
- 4.As the Office365 account used to sign in to Roombelt go to Outlook Calendar.
- 5.In Outlook Calendar click "Add calendar" and open tab "Add from directory".
- 6.Search for the meeting room you want to manage in Roombelt and add it to the list of displayed calendars.
Security
You can set
ALLOWED_EMAILS
in roombelt.env configuration file to the email address of the service account used to configure meeting room displays in your organization. This will block access to your Roombelt instance for other users from your organization.Last modified 14d ago