Skip to content

BBB Docker works on Windows/WSL2: here's how #385

@Teyk0o

Description

@Teyk0o

Context

The README currently states:

Linux (it will not work under Windows/WSL)

We got BigBlueButton 3.0 Docker (v3.0.19) running successfully on Windows 11 + WSL2 + Docker Desktop with full functionality (Greenlight, API, conferences, audio, video).

Issues encountered and fixes applied

1. Nginx port binding fails (can't bind on 10.7.7.1)

The deprecated backward-compatible port bindings on 10.7.7.1 and the duplicate 127.0.0.1 entries cause failures on WSL2, where the Docker bridge subnet IPs are not routable from the host.

Fix: Replace both sets of bindings with a single 0.0.0.0 binding in docker-compose.tmpl.yml:

# Before (fails on WSL2)
- "127.0.0.1:48082:48082"
- "10.7.7.1:48082:48082"

# After
- "0.0.0.0:48082:48082"

2. PostgreSQL could not change permissions on data directory

The bind mount ./data/postgres:/var/lib/postgresql/data lands on an NTFS filesystem (via /mnt/d/), which does not support POSIX permissions.

Fix: Use a Docker named volume instead:

volumes:
  - postgres-data:/var/lib/postgresql/data

volumes:
  postgres-data:

3. bbb-web cannot download default.pdf (Connection refused)

The bbb-web container tries to reach https:///default.pdf but cannot resolve the domain name from inside the Docker network.

Fix: Add an extra_hosts entry to the bbb-web service pointing the domain to haproxy:

extra_hosts:
  - "${DOMAIN}:10.7.7.35"

4. Let's Encrypt fails for local development

When running locally, certbot cannot complete the ACME challenge. Using https://github.com/FiloSottile/mkcert with a custom certificate volume for haproxy and IGNORE_TLS_CERT_ERRORS=true solves this.

Fix: Mount a certs directory into haproxy:

volumes:
  - ./data/haproxy/certs:/etc/haproxy/certs

Environment

  • Windows 11
  • WSL2 (kernel 6.6.87.2)
  • Docker Desktop with WSL2 backend
  • BBB Docker v3.0.19

Suggestion

These fixes are minimal and non-breaking for Linux hosts. Would you consider:

  1. Replacing the deprecated 10.7.7.1 / 127.0.0.1 duplicate port bindings with 0.0.0.0?
  2. Using a named volume for PostgreSQL data by default?
  3. Adding the extra_hosts entry for domain resolution in bbb-web?

This would make BBB Docker compatible with WSL2 out of the box.

Note: I used AI to translate my issue, im French 🇫🇷
If you want to customize your BigBlueButton with a lot of feature take a look at flowlyweb.com !

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions