Caddy
共通ネットワーク作成
docker network create localproxy
フォルダ準備
cd /home
mkdir caddy
cd caddy
・Caddyfile
vim Caddyfile
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# Jitsi Meet jitsi.●●●.com { reverse_proxy jitsi-web:80 # WebSocket対応 @websockets { header Connection *Upgrade* header Upgrade websocket } reverse_proxy @websockets jitsi-web:80 } # Mattermost (Phase 2で追加) # mattermost.●●●.com { # reverse_proxy mattermost:8065 # } # MeshCentral (Phase 2で追加・IP制限付き) # meshcentral.●●●.com { # @allowed remote_ip 許可IP # handle @allowed { # reverse_proxy meshcentral:443 # } # respond "Forbidden" 403 # } |
・docker-compose.yml
vim docker-compose.yml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
services: caddy: image: caddy:2 restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./data:/data - ./config:/config networks: - localproxy networks: localproxy: external: true |
・コンテナ起動
docker compose up -d
Jitsi Meet
フォルダ準備
cd /home
mkdir jitsi
cd jitsi
・docker-compose.yml
vim docker-compose.yml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
services: # Jitsi Web (フロントエンド) web: image: jitsi/web:stable-9823 container_name: jitsi-web restart: unless-stopped environment: - XMPP_SERVER=prosody - JICOFO_AUTH_USER=focus - XMPP_DOMAIN=meet.jitsi - XMPP_AUTH_DOMAIN=auth.meet.jitsi - XMPP_MUC_DOMAIN=muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi - XMPP_BOSH_URL_BASE=http://prosody:5280 - TZ=Asia/Tokyo - PUBLIC_URL=https://jitsi.●●●.com - ENABLE_LOBBY=1 - ENABLE_PREJOIN_PAGE=1 volumes: - ./web-config:/config - ./web-crontabs:/var/spool/cron/crontabs - ./web-transcripts:/usr/share/jitsi-meet/transcripts networks: - meet.jitsi - localproxy depends_on: - prosody # Prosody (XMPPサーバー) prosody: image: jitsi/prosody:stable-9823 restart: unless-stopped environment: - XMPP_DOMAIN=meet.jitsi - XMPP_AUTH_DOMAIN=auth.meet.jitsi - XMPP_MUC_DOMAIN=muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi - JICOFO_AUTH_USER=focus - JICOFO_AUTH_PASSWORD=●●●● - JVB_AUTH_USER=jvb - JVB_AUTH_PASSWORD=●●● - TZ=Asia/Tokyo - PUBLIC_URL=https://jitsi.●●●.com volumes: - ./prosody-config:/config - ./prosody-plugins:/prosody-plugins-custom networks: - meet.jitsi # Jicofo (会議フォーカス) jicofo: image: jitsi/jicofo:stable-9823 restart: unless-stopped environment: - XMPP_SERVER=prosody - XMPP_DOMAIN=meet.jitsi - XMPP_AUTH_DOMAIN=auth.meet.jitsi - XMPP_MUC_DOMAIN=muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi - JICOFO_AUTH_USER=focus - JICOFO_AUTH_PASSWORD=●●● - TZ=Asia/Tokyo volumes: - ./jicofo-config:/config networks: - meet.jitsi depends_on: - prosody # JVB (ビデオブリッジ) jvb: image: jitsi/jvb:stable-9823 restart: unless-stopped ports: - "10000:10000/udp" environment: - XMPP_SERVER=prosody - XMPP_DOMAIN=meet.jitsi - XMPP_AUTH_DOMAIN=auth.meet.jitsi - XMPP_MUC_DOMAIN=muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi - JVB_AUTH_USER=jvb - JVB_AUTH_PASSWORD=●●● - JVB_PORT=10000 - JVB_ADVERTISE_IPS=●●● - TZ=Asia/Tokyo - PUBLIC_URL=https://jitsi.●●●.com volumes: - ./jvb-config:/config networks: - meet.jitsi depends_on: - prosody networks: meet.jitsi: driver: bridge localproxy: external: true |
・コンテナ起動
docker compose up -d
・ufw
ufw allow 10000/udp
DNS
jitsi.●●●.comのAレコードをサーバーIPアドレスに向ける。