Installing Sametime Meetings with Docker

Before you begin

To install Sametime Meetings, you must have HCL Sametime Community 11.0 FP2 server deployed.
Note:
  • Currently, the recording feature is not supported for Windows/Mac system via docker deployment. Use Sametime Meetings on Linux to user this feature.
  • Commands require root or sudo privileges. Examples assume you are running as root, if not , preface the commands with "sudo".
  • HCL Sametime Meetings Pre-Release 11.5 uses the following Google public STUN servers by default:
    stun.l.google.com:19302
    stun1.l.google.com:19302
    stun2.l.google.com:19302

    These addresses must be reachable by the container. If they are not, there may be issues joining meetings.

    To change the default STUN server see, Configuring alternate STUN servers.

About this task

To deploy Sametime meetings on docker:

Procedure

  1. To install docker-compose, follow the steps and commands provided in the Install Docker Compose documentation.
  2. Install the latest stable build of Docker Community Edition (CE) 19.x for your OS.

    See Install Docker Engine on CentOS for more information on CentOs documentation.

    Note: Docker install uses UDP Port 10000 for Media Streams.
  3. Once install is complete, check to confirm docker is not running with the following Linux shell command:
    > docker info
  4. Start the Docker service:
    > service docker start

    Additional Docker commands for awareness.

    To stop the Docker service:
    > service docker stop
    To check if docker is installed properly:
    > docker version

    This command will give you the info about the docker version:

    > docker version
    Client: Docker Engine - Community
    Version: 19.03.12
    API version: 1.40
    Go version: go1.13.10
    Git commit: 48a66213fe
    Built: Mon Jun 22 15:46:54 2020
    OS/Arch: linux/amd64
    Experimental: false
    
    Server: Docker Engine - Community
    Engine:
    Version: 19.03.12
    API version: 1.40 (minimum version 1.12)
    Go version: go1.13.10
    Git commit: 48a66213fe
    Built: Mon Jun 22 15:45:28 2020
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.2.13
    GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
    runc:
    Version: 1.0.0-rc10
    GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
    docker-init:
    Version: 0.18.0
    GitCommit: fec3683
    

    You can also run a demo application (hello-world):

    > docker run hello-world
  5. Download HCL Sametime Meetings pre-release 11.5 file from Flexnet.
  6. Extract the zip file to any directory.
  7. Update custom.env file.
    Rules to update the custom.env file:
    • Each line in an env file to be in VAR=VAL format.
    • Lines beginning with "#" are processed as comments and ignored.
    • Blank lines are ignored.
    • There is no special handling of quotation marks. This means that they are part of the VAL.

    Provided is the contents of default custom.env file, specifying the required parameters.

    # Mandatory configuration before running meeting server.

    # Host name or IP address of the Sametime Proxy v11.5 host.

    SAMETIME_PROXY_HOST=webchat.company.com 

    # Port of the Sametime Proxy v11.5 host. Default is 443.

    SAMETIME_PROXY_PORT=443  

    # This should be defined as the fully qualified host name of the system as you would expect users to access via a web browser. Do not add http or https before the name. Default is meetings.company.com

    REACT_APP_MEETING_SERVER_HOSTNAME=meetings.company.com

    # Configure these two values as you would expect to have single-sign-on with your Sametime Proxy server.

    For example, if the proxy is "webchat.company.com" and the meetings server is "meetings.company.com" then you should use "company.com" for these two fields so that cookies can be shared between the two deployments.

    If you do not have single-sign-on concerns, you should set the value exactly to the value set in the REACT_APP_MEETING_SERVER_HOSTNAME so that access cookies are sent by the browser only to the meeting server.
    • JWT_ACCESS_COOKIE_DOMAIN=company.com
    • JWT_REFRESH_COOKIE_DOMAIN=company.com 

    # If SAML is used for authentication, this is the IDP URL defined in that configuration. Default is empty.

    IDP_URL=

    # IP address of the Docker host. Check LAN configuration of the system. If the host has multiple interfaces, choose the one which is considered the routable IP for the host.

    DOCKER_HOST_ADDRESS=
    Note: DOCKER_HOST_ADDRESS should be commented out for most environments

    # These are the number of days a meeting recording will be available for download/playback. Default is 3.

    EXPIRES_IN_DAYS=3
         

    # Public URL for the web service. Add http or https followed by meeting server host name. If you have configured "meetings.company.com" as your host name then your PUBLIC_URL will as below.

    PUBLIC_URL=https://meetings.company.com
  8. Optional: In the .env file the default system time zone is:
    # System time zone.
    TZ=America/New_York

    If desired, update to the local time zone. By setting to the local time zone, the logging time stamps will be accurate to the host system time.

  9. Change to the directory where you have extracted the zip file and run the below command to load and initialize the docker images.
    > ./install.sh
      
    Note: Before running ./install.sh edit permissions to install.sh by running chmod 777 install.sh
    The install.sh script will load and run the following list of docker images.
    • meetings-auth.node
    • meetings-recordings.node
    • meetings-web
    • meetings-prosody
    • meetings-jicofo
    • meetings-jvb
    • meetings-jigasi
    • meetings-jibri




  10. Run the below commands to check if meetings server is running.
    Show all the loaded docker images
    >docker images


    List all running containers in docker engine
    $docker ps


    Optional: To enable Docker for auto start, run the following commands.

    > systemctl daemon-reload
                
    > systemctl enable docker
                
    > systemctl restart docker

Results

The contact is added to the group that you selected.

What to do next

Enable Sametime Community for Meetings.