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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions