Kota Nakagawa 5e297f3879
feat(rtcstats): add rtcstats support (#2116)
* feat(rtcstats): add rtcstats support

* chore(rtcstats): update users.json to use placeholder password

* chore(rtcstats): update RTCSTATS_STORE_LOGS in env.example

* chore(rtcstats): add expose ports

* feat(rtcstats): add mongodb support

* docs(rtcstats): add readme for mongodb integration

* chore(rtcstats): fix readme

* feat(rtcstats): add grafana dashboard for prometheus metrics

* chore(rtcstats): update readme

* chore(rtcstats): fix readme

* chore(rtcstats): add troubleshooting to localstack readme

* fix(rtcstats): improve accuracy of dashboard graphs

* fix(rtcstats): fix typo in dashboard display name

* fix(rtcstats): simplify and clean up localstack configuration

* docs(rtcstats): improve localstack readme

---------

Co-authored-by: Andrei Gavrilescu <51706180+andrei-gavrilescu@users.noreply.github.com>
2026-03-16 23:34:22 +02:00
..

Using Localstack

This section describes how to use Localstack to test and verify your rtcstats setup. Localstack simulates AWS cloud services (like S3) on your local machine, allowing you to confirm that statistics are being saved correctly without needing an actual AWS account.

Setup

  1. Configure Network Alias for Custom S3 Bucket

    If you are using a custom S3 bucket name, you must add it as a network alias in localstack.yml. This allows the rtcstats-server and rtc-visualizer to resolve the bucket's address to the Localstack container.

    Edit the networks section for the localstack service in rtcstats/localstack/localstack.yml:

    services:
    
      localstack:
        # ... (other settings)
        networks:
          meet.jitsi:
            aliases:
              # - jitsi-micros-rtcstats-server.s3.localstack # Default example
              - YOUR_RTCSTATS_S3_BUCKET.s3.localstack
    

    Note: Replace YOUR_RTCSTATS_S3_BUCKET with the actual bucket name you defined in your environment variables.

    To enable the AWS SDK to make Virtual-Hosted-Style requests to S3, you need to also configure the endpoints in rtcstats/.env as follows:

    RTCSTATS_S3_ENDPOINT=http://s3.localstack:4566
    RTCSTATS_DYNAMODB_ENDPOINT=http://localstack:4566
    
  2. Run Docker Compose with Localstack

    From your docker-jitsi-meet directory, run the following command to start all services, including Jitsi Meet, rtcstats, and Localstack.

    docker compose -f docker-compose.yml -f rtcstats.yml -f ./rtcstats/localstack/localstack.yml up -d
    

Troubleshooting

  • 502 Bad Gateway on RTC Visualizer

    If you encounter a 502 Bad Gateway error when accessing the RTC Visualizer, you may need to restart the jitsi/web container.

    Run the following command from your docker-jitsi-meet directory to resolve the issue:

    docker compose restart web