Documentation for Docker/RTCD/NGINX reverse proxy Screen Sharing and Calls

For feature requests, please see: https://mattermost.com/suggestions/.

For troubleshooting questions, please post in the following format:

#1 Configuration Settings when running as a Docker container- what should they be?
I have read the manual - Calls self-hosted deployment and Plugins configuration settings

Many settings refer to the port. Which value should be used when running as a Docker container & NGINX serving as a reverse proxy? The exposed port or the internal container port or what is defined in nginx.conf? The documentation assumes standard ports which might not always work in a Docker implementation.
IE - docker compose file

version: "3"

networks:
  mattermost:        

services:
  postgres:
    image: gsil-docker1.idm.example.org:5000/postgresql:${POSTGRES_IMAGE_TAG}
    restart: ${RESTART_POLICY}
    security_opt:
      - no-new-privileges:true
    pids_limit: 100
    read_only: true
    tmpfs:
      - /tmp
      - /var/run/postgresql:uid=1001,gid=1001
    volumes:
            - ${POSTGRES_DATA_PATH}:/var/lib/postgresql/data
    environment:
      # timezone inside container
      - TZ
      # necessary Postgres options/variables
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
    networks:
      - mattermost        

  mattermost:
    depends_on:
      - postgres
    image: gsil-docker1.idm.example.org:5000/${MATTERMOST_IMAGE}:${MATTERMOST_IMAGE_TAG}
    hostname: mattermost.example.org
    restart: ${RESTART_POLICY}
    security_opt:
      - no-new-privileges:true
    pids_limit: 200
    read_only: ${MATTERMOST_CONTAINER_READONLY}
    tmpfs:
      - /tmp
    volumes:
      - ${MATTERMOST_CONFIG_PATH}:/mattermost/config:rw
      - ${MATTERMOST_DATA_PATH}:/mattermost/data:rw
      - ${MATTERMOST_LOGS_PATH}:/mattermost/logs:rw
      - ${MATTERMOST_PLUGINS_PATH}:/mattermost/plugins:rw
      - ${MATTERMOST_CLIENT_PLUGINS_PATH}:/mattermost/client/plugins:rw
      - ${MATTERMOST_BLEVE_INDEXES_PATH}:/mattermost/bleve-indexes:rw
      # When you want to use SSO with GitLab, you have to add the cert pki chain of GitLab inside Alpine
      # to avoid Token request failed: certificate signed by unknown authority 
      # (link: https://github.com/mattermost/mattermost-server/issues/13059 and https://github.com/mattermost/docker/issues/34)
      # - ${GITLAB_PKI_CHAIN_PATH}:/etc/ssl/certs/pki_chain.pem:ro
    environment:
      # timezone inside container
      - TZ

      # necessary Mattermost options/variables (see env.example)
      - MM_SQLSETTINGS_DRIVERNAME
      - MM_SQLSETTINGS_DATASOURCE

      # necessary for bleve
      - MM_BLEVESETTINGS_INDEXDIR

      # additional settings
      - MM_SERVICESETTINGS_SITEURL
      - MM_SERVICESETTINGS_LICENSEFILELOCATION
    networks:
      - mattermost
    ports:
      - ${APP_PORT}:8065
  rtcd:
    image: gsil-docker1.idm.example.org:5000/rtcd:v0.11.3
    environment:
      - RTCD_LOGGER_ENABLEFILE=false
      - RTCD_API_SECURITY_ALLOWSELFREGISTRATION=true
    ports:
    - "8444:8443"    
    - "8045:8045"

#2 Do I need to add an rtcd entry to nginx.conf?

events {
  worker_connections  4096;  ## Default: 1024
}
pid        /var/cache/nginx/nginx.pid;
http {
    server {
        listen 443 ssl;
        server_name mattermost.idm.example.org;
        ssl_certificate             /etc/nginx/gsil-docker1-chain.crt;
        ssl_certificate_key         /etc/nginx/gsil-docker1.key;
        location / {
            proxy_pass http://gsil-docker1.idm.example.org:8065;
            proxy_set_header Host $host;
            proxy_set_header CLIENT_HOST $remote_addr;
            proxy_set_header Origin "";
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $server_name;
        }
    }
}

Steps to reproduce
How can we reproduce the issue (what version are you using?)

Expected behavior
Describe your issue in detail

Observed behavior
What did you see happen? Please include relevant error messages and/or screenshots.