# ビデオ会議システム Jitsi Meet on Docker (+ Podman Pods)

**URL:** https://forum.ficusonline.com/t/topic/381
**Category:** Server
**Created:** [2020 年 7 月 31 日午前 9:30 UTC](https://forum.ficusonline.com/t/topic/381 "2020-07-31T09:30:00Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)
#### Post date: [2025 年 3 月 13 日午前 5:29 UTC](https://forum.ficusonline.com/t/topic/381/2 "2025-03-13T05:29:23Z")

</div>

## 最新安定版の導入

省略していたSIPゲートウェイJigasiコンテナを追加（音声のみ対応）し、最新安定版として再構築。

 ![docker-compose-jitsi](https://forum.ficusonline.com/uploads/default/original/2X/4/49612e494855575e0400102986660f98e56ffcb5.png)

#### 最新安定版10078-1

> **[Release stable-10078-1 · jitsi/docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet/releases/tag/stable-10078-1)**
>
> What's Changed
> 
> fix(web) fix generated config syntax by @saghul in #2038
> 
> Full Changelog: stable-10078...stable-10078-1

#### Jitsi Docker導入ガイド

> **[Self-Hosting Guide - Docker | Jitsi Meet](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/)**
>
> Quick start

最新版のダウンロード

```auto
$ wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)

```

展開

```auto
$ unzip stable-10078-1

```

環境変数ファイルの作成

```auto
$ cp env.example .env

```

各コンテナ起動時に必要なセキュリティパスワードを.envに設定するスクリプトを実行

```auto
$ ./gen-passwords.sh

```

各コンテナの設定ファイルディレクトリを、展開したディレクトリ内に作成

```auto
$ mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

```

**注）** このディレクトリを `.env` 内で `CONFIG=./.jitsi-meet-cfg` として指定。

構成ディレクトリ・ファイル一覧

```bash
$ tree -aL 1 ../jitsi-docker-jitsi-meet-10078-1
../jitsi-docker-jitsi-meet-10078-1
├── .env
├── .env.bak
├── .github
├── .gitignore
├── .jitsi-meet-cfg
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── base
├── base-java
├── docker-compose.yml
├── env.example
├── etherpad.yml
├── examples
├── gen-passwords.sh
├── grafana.yml
├── jibri
├── jibri.yml
├── jicofo
├── jigasi
├── jigasi.yml
├── jvb
├── log-analyser
├── log-analyser.yml
├── nginx
├── prometheus
├── prometheus.yml
├── prosody
├── release.sh
├── resources
├── transcriber.yml
├── web
└── whiteboard.yml

```

* * *

### 構成コンテナイメージとポートの確認

- **base** : Debian stable base image with the [S6 Overlay](https://github.com/just-containers/s6-overlay) for process control and the [Jitsi repositories](https://jitsi.org/downloads/) enabled. All other images are based on this one.
- **base-java** : Same as the above, plus Java (OpenJDK).
- **web** : Jitsi Meet web UI, served with nginx.
- **prosody** : [Prosody](https://prosody.im/), the XMPP server.
- **jicofo** : [Jicofo](https://github.com/jitsi/jicofo), the XMPP focus component.
- **jvb** : [Jitsi Videobridge](https://github.com/jitsi/jitsi-videobridge), the video router.
- **jigasi** : [Jigasi](https://github.com/jitsi/jigasi), the SIP (audio only) gateway.
- **jibri** : [Jibri](https://github.com/jitsi/jibri), the broadcasting infrastructure.

* * *

### Prosody

> **[Welcome – Prosody IM](https://prosody.im/)**
>
> Prosody is a Jabber/XMPP server
> written in Lua

[https://prosody.im/doc/ports](https://prosody.im/doc/ports)

| port | interfaces | service |
| --- | --- | --- |
| 5000/tcp | public | [File transfer proxy](https://prosody.im/doc/modules/mod_proxy65) |
| 5222/tcp | public | [Client connections](https://prosody.im/doc/modules/mod_c2s) |
| 5269/tcp | public | [Server-to-server connections](https://prosody.im/doc/modules/mod_s2s) |
| 5280/tcp | private[1](https://prosody.im/doc/ports#fn1) | [HTTP](https://prosody.im/doc/http) |
| 5281/tcp | public | [HTTPS](https://prosody.im/doc/http) |
| 5347/tcp | private | [External components](https://prosody.im/doc/components) |
| 5582/tcp | private | [Telnet console](https://prosody.im/doc/console) |

* * *

### Nginxリバースプロキシ経由の設定

> **[Running behind a reverse proxy​ - Self-Hosting Guide - Docker | Jitsi Meet](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/#running-behind-a-reverse-proxy)**
>
> In order to quickly run Jitsi Meet on a machine running Docker and Docker Compose, follow these steps: | Quick start

リバースプロキシでTLS認証を取得するため、WEBコンテナの以下の設定を無効とします。

`.env`

```auto
DISABLE_HTTPS=1
ENABLE_HTTP_REDIRECT=0
ENABLE_LETS_ENCRYPT=0

```

他にも.env内で以下の必要な設定をして下さい。

`.env`

```ini
#
# Basic configuration options
#

# Directory where all configuration will be stored
CONFIG=./.jitsi-meet-cfg

# Exposed HTTP port (will redirect to HTTPS port)
HTTP_PORT=8000

# Exposed HTTPS port
HTTPS_PORT=8443

# System time zone
TZ=JST

# Public URL for the web service (required)
# Keep in mind that if you use a non-standard HTTPS port, it has to appear in the public URL
#PUBLIC_URL=https://test.ficusonline.com:${HTTPS_PORT}
PUBLIC_URL=https://test.ficusonline.com

# Media IP addresses to advertise by the JVB
# This setting deprecates DOCKER_HOST_ADDRESS, and supports a comma separated list of IPs
# See the "Running behind NAT or on a LAN environment" section in the Handbook:
# https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker#running-behind-nat-or-on-a-lan-environment
JVB_ADVERTISE_IPS=192.168.1.1,1.2.3.4

# Enable authentication (will ask for login and password to join the meeting)
ENABLE_AUTH=1

# Enable guest access (if authentication is enabled, this allows for users to be held in lobby until registered user lets them in)
ENABLE_GUESTS=1

# Select authentication type: internal, jwt, ldap or matrix
AUTH_TYPE=internal

```

リバースプロキシ経由での接続の場合、WEBコンテナへの接続がHTTPとなるため、ウェブソケット(wss)接続エラーが発生します。コンテナ内ではウェブソケットをws接続とするため、以下Nginxの設定 `location /xmpp-websocket, location /colibri-ws` を追加。

`nginx/default.conf`

```ini
server {
    server_name test.ficusonline.com;

    server_tokens off;
    # access_log /var/log/nginx/test.ficusonline.com.access.log;
    # error_log /var/log/nginx/test.ficusonline.com.error.log error;

	location / {
		proxy_pass http://web:80;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
	}
    
	location /xmpp-websocket {
		proxy_pass http://prosody:5280/xmpp-websocket;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
	}

	location /colibri-ws {
		proxy_pass http://jvb:8080/colibri-ws;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
	}

    listen 443 ssl; # managed by Certbot
    listen [::]:443 ssl;
    ssl_certificate /etc/letsencrypt/live/ficusonline.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ficusonline.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

}
server {
    if ($host = test.ficusonline.com) {
        return 301 https://$host$request_uri;
    } 

    server_name test.ficusonline.com;
    listen [::]:80;
    listen 80;
    return 404; 
}

```

* * *

Nginx専用のdocker-compose-nginx.ymlを作成

`docker-compose-nginx.yml`

```auto
    nginx:
        container_name: nginx
        image: nginx:alpine
        tty: true
        ports:
            - "8080:80"
            - "8443:443"
        volumes:
            # nginx config
            - ./nginx:/etc/nginx/conf.d
            - /etc/letsencrypt:/etc/letsencrypt
        restart: always
        networks:
            meet.jitsi:

```

jitsi,nginxのdocker-composeファイルを指定して起動

```auto
$ docker compose -f docker-compose.yml -f docker-compose-nginx.yml up -d

```

* * *

### 管理ユーザの登録

ミーティングの管理ユーザの登録はProsodyコンテナ内で行います。

```auto
$ docker compose exec prosody bash
# prosodyctl --config /config/prosody.cfg.lua register USER_NAME meet.jitsi PASSWORD

```

登録ユーザの確認

```auto
# find /config/data/meet%2ejitsi/accounts -type f -exec basename {} .dat \;

```

Jitsiメイン画面

 ![Screenshot from 2025-03-16 11-33-19](https://forum.ficusonline.com/uploads/default/original/2X/7/7d7df38cb4d08e9d79e825a0d1385c2bfd420bb7.png)

ミーティング画面

 ![Screenshot from 2025-03-16 11-31-00](https://forum.ficusonline.com/uploads/default/original/2X/5/5b37c0e2d976f7c0d9ae1cb5891a3e4db346d4ed.png)

---

_[View the full topic](https://forum.ficusonline.com/t/topic/381)._
