DeekSeek R1

Here's a step-by-step guide to set up Jitsi for voice chat using Docker Compose and Nginx Proxy Manager (NPM):


1. Prerequisites

  • A server with Docker and Docker Compose installed
  • Nginx Proxy Manager (NPM) already running
  • A domain name pointing to your server
  • Ports 80, 443, and UDP 10000 open in your firewall

2. Clone Jitsi Docker Repository

git clone https://github.com/jitsi/docker-jitsi-meet
cd docker-jitsi-meet

3. Configure Environment Variables

Create a .env file and configure settings:

cp env.example .env

Edit .env:

# Basic settings
CONFIG=~/.jitsi-meet-cfg
HTTP_PORT=8000
HTTPS_PORT=8443
DOCKER_HOST_ADDRESS=your_server_ip  # Replace with your server IP

# Domain settings
PUBLIC_URL=https://meet.your-domain.com  # Your domain
XMPP_DOMAIN=meet.your-domain.com

# Disable features for voice chat
ENABLE_AUDIO_ONLY=1  # Enable audio-only mode
ENABLE_VIDEO=0       # Disable video
ENABLE_RECORDING=0   # Disable recording

# Security (generate strong passwords!)
JICOFO_COMPONENT_SECRET=your_jicofo_secret
JVB_AUTH_PASSWORD=your_jvb_password
JIGASI_XMPP_PASSWORD=your_jigasi_password
JIBRI_RECORDER_PASSWORD=your_jibri_password
JIBRI_XMPP_PASSWORD=your_jibri_password

Generate passwords using openssl rand -hex 32.


4. Modify Docker Compose

Edit docker-compose.yml:

version: '3'

services:
  # Core services
  web:
    image: jitsi/web:latest
    networks:
      - jitsi-network
      - npm-network  # Connect to NPM's network
    environment:
      - ENABLE_AUDIO_ONLY=1
      - DISABLE_VIDEO_BACKGROUND=1
      - TOOLBAR_BUTTONS=microphone,hangup,desktop
    volumes:
      - ${CONFIG}/web:/config
    ports:
      - "${HTTP_PORT}:80"
      - "${HTTPS_PORT}:443"
      - "3478:3478/udp"

  prosody:
    image: jitsi/prosody:latest
    networks:
      - jitsi-network

  jicofo:
    image: jitsi/jicofo:latest
    networks:
      - jitsi-network

  jvb:
    image: jitsi/jvb:latest
    networks:
      - jitsi-network
    ports:
      - "10000:10000/udp"

networks:
  jitsi-network:
  npm-network:
    external: true  # Use NPM's existing network

5. Create Required Networks

docker network create jitsi-network
docker network create npm-network  # Skip if already exists for NPM

6. Start Jitsi

docker-compose up -d

7. Configure Nginx Proxy Manager

  1. Log in to NPM
  2. Add a Proxy Host:
    • Domain: meet.your-domain.com
    • Forward to: jitsi-web:8000 (Docker service name)
    • Enable SSL via Let's Encrypt
    • Add these Custom Locations:
      location /xmpp-websocket {
          proxy_pass http://jitsi-web:8000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
      }
    • Add these Advanced Settings:
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host $host;

8. Verify Setup

Visit https://meet.your-domain.com and:

  1. Start a voice-only meeting
  2. Test microphone/speaker functionality

Troubleshooting Tips

  1. Check Docker Logs:
    docker-compose logs -f web
  2. Verify Network Connectivity: Ensure Jitsi services and NPM share the npm-network.
  3. Check UDP Port: Confirm UDP port 10000 is open for media traffic.
  4. Update DNS: Ensure your domain has proper A/AAAA records pointing to the server.

This setup minimizes video-related components and focuses on voice chat while leveraging NPM for SSL termination and reverse proxying. Adjust the TOOLBAR_BUTTONS or interface configuration for further UI simplifications.


This page was last edited on 2025-03-10 06:42

Powered by Wiki|Docs

This page was last edited on 2025-03-10 06:42

Mac
To whom it may concern

Powered by Wiki|Docs