How to Set Up a Docker Container (Advanced)
If you have prior experience with setting up containers, here you may found the mere details on getting Sendent for MS Teams running.
Docker Compose file
version: '3.9'services: sendent.msteams: image: rg.nl-ams.scw.cloud/sendent-public/sendent-msteams:latest build: context: ../ dockerfile: ./Dockerfile restart: on-failure environment: - BASE_URL=<YOURDOMAIN> - MSAPP_TYPE= - MSAPP_ID= - MSAPP_PASSWORD= - MSAPP_TENANT_ID= - DEFAULT_NEXTCLOUD_URL=<YOURNEXTCLOUDDOMAIN> - PROXY_ALLOWLIST=<YOURNEXTCLOUDDOMAIN> ports: - "4200:4200" volumes: - ./docker-config:/usr/src/app/docker-config networks: - node_networknetworks: node_network:
The following table explains the environment variables.
Name | Description | Example |
BASE_URL | This should be the FQDN referencing to your publicly available docker image through reverse proxy. | https://msteams.sendent.dev |
MSAPP_TYPE | Default: SingleTenant | SingleTenant |
MSAPP_ID | This is the Azure Bot’s app-id. | 20d67bc1-6f95-4c2d-a49c-e8463163e30d |
MSAPP_PASSWORD | This is the Azure Bot’s password | Example_password_123! |
MSAPP_TENANT_ID | Your Azure Tenant ID | 92785bec-a2fa-434b-9105-9325e5cb721c |
DEFAULT_NEXTCLOUD_URL | Your Nextcloud server FQDN. | https://nextcloud.sendent.dev |
PROXY_ALLOWLIST | The Nextcloud servers the container may forward requests to, separated by commas. Optional: if empty, only the |
Proxy allowlist
From 3.0.0, the container only forwards requests to the hosts in PROXY_ALLOWLIST. It takes comma-separated hostnames or URLs, and only the hostname is compared. If it is not set, the container falls back to the hostname of DEFAULT_NEXTCLOUD_URL. If neither is set, it forwards to any host and logs a warning.
Changes apply when the container restarts. The Teams app package does not change. Details: How to configure the proxy allowlist.
Reverse proxy
Please ensure that either if NGINX or APACHE is used the maximum body size is increased.
NGINX:
client_max_body_size 250M;(this sets the maximum file upload size to 250 MB).APACHE:
LimitRequestBody 262144000(this sets the maximum file upload size to roughly 250 MB).
Updating to 3.0.0
Add every Nextcloud server your users sign in to to
PROXY_ALLOWLIST, unless theDEFAULT_NEXTCLOUD_URLserver is the only one. Sign-in to any other server fails with "Forbidden: Target URL is not in the allowlist".Upload a new app package with the
manifest.jsonfromhttps://<YOURDOMAIN>/manifest.jsonand the 3.0.0 icons, see How to download and modify your manifest.json file. It renames the app to Nextcloud for MS Teams. Its version is already 3.0.0. The old package keeps working without the new name and icons.