jitsi-meet 修改首頁相關訊息
到 /usr/share/jitsi-meet 修改以下檔案
interface_config.js
APP_NAME: 'Jitsi Meet', NATIVE_APP_NAME: 'Jitsi Meet',
libs/app.bundle.min.js
若要改首頁標題, 找到 headerTitle 修改內容即可
到 /usr/share/jitsi-meet 修改以下檔案
interface_config.js
APP_NAME: 'Jitsi Meet', NATIVE_APP_NAME: 'Jitsi Meet',
libs/app.bundle.min.js
若要改首頁標題, 找到 headerTitle 修改內容即可
drawio 相容m$ visio , 而且免費, 支援nextcloud, 達到線上繪製流程圖的功能.
雖說drawio還不是很穩定,但是一直在更新, 已經能上線讓公司同仁使用,
透過官方安裝drawio套件並且啟用後, 以下為注意事項:
複製設定檔cp resources/config/mimetypemapping.dist.json config/mimetypemapping.json
修改 config/mimetypemapping.json 加上以下設定
"drawio": ["application/x-drawio"]
然後執行更新指令
sudo -u www-data php occ maintenance:mimetype:update-js
sudo -u www-data php occ maintenance:mimetype:update-db
若是docker請執行
docker exec --user www-data nextcloud php occ maintenance:mimetype:update-js
docker exec --user www-data nextcloud php occ maintenance:mimetype:update-db
然後再到nextcloud的設定, 重新勾選drawio的相關設定
2. 若drawio檔案分享連結, 若想要讓大家直接開啟編輯畫面, 需要修改連結
https://xxx/s/YoJWBkg7EgiyXpPdd 改成 https://xxx/apps/drawio/s/YoJWBkg7EgiyXpPdd
需安裝外掛(block_quickmail)才能寄發通知, 但是官方的版本目前無法使用, 會出現”There are no users to whom you can send emails.” 或是 “There are no users you are capable of emailing“的錯誤,
請到 https://github.com/lsuits/lsu-block_quickmail 下載v2版本就能使用了.
以 主機名稱 meet.test.com 為例子, 以下只要是meet.test.com皆須改成真實的主機名字
1. 修改 /etc/prosody/conf.avail/meet.test.com.cfg.lua
VirtualHost "meet.test.com" authentication = "internal_plain" ... VirtualHost "guest.meet.test.com" authentication = "anonymous" c2s_require_encryption = false modules_enabled = { "bosh"; "pubsub"; "ping"; "speakerstats"; "turncredentials"; "conference_duration"; }
2. 安裝module storage_memory模組(optional)
apt install -y mercurial mkdir ~/temp && cd ~/temp hg clone 'https://hg.prosody.im/prosody-modules/' prosody-modules cp prosody-modules/mod_storage_memory/*.lua /usr/lib/prosody/modules/.
3. 修改 /etc/jitsi/meet/meet.test.com-config.js
var config = { … hosts: { … domain: 'meet.test.com', anonymousdomain: 'guest.meet.test.com', … }, … }
4. 修改 /etc/jitsi/jicofo/sip-communicator.properties
org.jitsi.jicofo.auth.URL=XMPP:meet.test.com
5. 新增可登入的帳號密碼
prosodyctl register william meet.test.com mypassword
6. 重開服務
systemctl restart {prosody,jicofo,jitsi-videobridge2,nginx}
這樣一來, 只有第一個登入的人需要輸入帳號密碼, 其他使用相同網址不需要密碼就可以登入(來賓帳戶guest)
有時候出現就一大堆, 最後出現too many open files , 有夠怪異, 只好讓限制 imap 與 pop3 只 listen 特定的 ip (ipv4) , 這樣就可以避掉疑似ipv6嘗試入侵的問題, 我自己是覺得可能是系統與dovecot之前某段出了狀況.
請修改 /etc/dovecot/conf.d/10-master.conf
service imap-login { inet_listener imap { address = x.x.x.x y.y.y.y #port = 143 } inet_listener imaps { address = x.x.x.x y.y.y.y #port = 993 #ssl = yes } } service pop3-login { inet_listener pop3 { address = x.x.x.x y.y.y.y #port = 110 } inet_listener pop3s { address = x.x.x.x y.y.y.y #port = 995 #ssl = yes } }
supervisord是常用的docker啟動管理程序, 通常我們都把一大堆服務寫進去supervisord.conf, 我最近弄的docker mail server (綁定AD) , 常常遇到container重啟時(docker restart) , supervisord裡面的service會出現already started字樣, 爬了文, 好像是這個參數搞的鬼, startsecs , 官網解釋如下
The total number of seconds which the program needs to stay running after a startup to consider the start successful (moving the process from the STARTING state to the RUNNING state)
也就是說這些service啟動成功後, supervisord預設會等個1秒才移除STARTING狀態, 但有可能造成service本身誤判, 誤以為已啟動,又再啟動一次, 所以service會重複跑個幾次 , 甚至有時候就再起不能了.
目前測試結果可以修改兩個參數, 一個是startsecs=0(立即更新成running狀態) , 另一個是startretries=0(重複啟動次數)
我是決定只改 startsecs=0 , 果然就沒出現already started字樣
ps. 這只是我個人測試自己docker mail server的心得, 沒有多次驗證
真的手殘, 錯誤地停用某個 mariadb database 並且刪除了 image, 還好平常有記錄當時docker 執行的指令, 設定檔案也都在, 很快地就把該container 還原起來了.
但是參考到該container也跟著無法使用, 出現以下錯誤訊息:
Cannot link to a non running container
重開這些container, 也無法解決問題, 最後重新啟動 docker service ,才如願解決這個狀況.
我想應該是重啟docker時, 系統重新規劃這些container 內部ip, 就能順利參考到了.
docker搜尋一下, 找到 bitnami 製作的moodle images , 照著做滿簡單就能架站
0. 建立網路
docker network create moodle-network
1. 下載docker compose yaml檔案
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-moodle/master/docker-compose.yml > docker-compose.yml
2. 修改yml如下
version: '2' services: mariadb: image: 'docker.io/bitnami/mariadb:10.6' hostname: mariadb environment: - ALLOW_EMPTY_PASSWORD=yes - MARIADB_USER=bn_moodle - MARIADB_DATABASE=bitnami_moodle - MARIADB_CHARACTER_SET=utf8mb4 - MARIADB_COLLATE=utf8mb4_unicode_ci volumes: - 'mariadb_data:/bitnami/mariadb' moodle: image: 'docker.io/bitnami/moodle:4.0.1' ports: - '8088:8080' - '8445:8443' environment: - MOODLE_DATABASE_HOST=mariadb - MOODLE_DATABASE_PORT_NUMBER=3306 - MOODLE_DATABASE_USER=bn_moodle - MOODLE_DATABASE_NAME=bitnami_moodle - ALLOW_EMPTY_PASSWORD=yes - MOODLE_SMTP_HOST=ip - MOODLE_SMTP_PORT=587 - MOODLE_SMTP_USER=xxx - MOODLE_SMTP_PASSWORD=yyy - MOODLE_SMTP_PROTOCOL=tls volumes: - 'moodle_data:/bitnami/moodle' - 'moodledata_data:/bitnami/moodledata' depends_on: - mariadb hostname: moodle volumes: mariadb_data: driver: local moodle_data: driver: local moodledata_data: driver: local
3. 這個moodle container 內部預設的http port 8080 , https port 8443, 我改成 8088 與 8445
docker-compose up -d
4. 瀏覽器輸入 https://ip:8445 登入, 預設帳號 user , 密碼 bitnami
5. 設定docker本體主機上面的let’s enpcrypt後, 進行httpd apache 與container對應工作
<VirtualHost *:443> ServerName 主機名稱 ErrorLog /var/log/httpd/ssl_error_log TransferLog /var/log/httpd/ssl_access_log SSLEngine On SSLCertificateFile /etc/letsencrypt/live/<主機名稱>/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/<主機名稱>/privkey.pem SSLCACertificateFile /etc/letsencrypt/live/<主機名稱>/fullchain.pem SSLProxyEngine On ProxyRequests Off ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" ProxyPass / http://localhost:8088/ ProxyPassReverse / http://localhost:8088/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>
6. 進入container設定網址(預設為 http://127.0.0.1:8080
[root@firewall ~]# docker exec -it moodle_hlmt_moodle_1 bash root@moodle:/# vi /bitnami/moodle/config.php ////////////////////////////////////////////////// if (empty($_SERVER['HTTP_HOST'])) { $_SERVER['HTTP_HOST'] = '127.0.0.1:8080'; } 改成 if (empty($_SERVER['HTTP_HOST'])) { $_SERVER['HTTP_HOST'] = '你的網址'; } //////////////////////////////////////////////////
2022/02/18
—
安裝的時候, 一直無法啟用, 後來才發現,原來docker本身已經有container叫做mariadb , 但moodle預設也剛好是,於是就衝突, 衝突之後就算修改docker-compose.yml的資料庫名稱, 一樣沒反應, 所以解決方式應該是把這兩個container獨立出一個區域網路,
我不是很熟docker-compose如何自成一個網路, 版本太亂, 因此只好轉向改用一般方式啟用, 這也是官網建議的方式.
docker network create moodle-network
docker volume create --name moodle_mariadb_data
docker run --restart always -d --name moodle-mariadb \
--env ALLOW_EMPTY_PASSWORD=yes \
--env MARIADB_USER=bn_moodle \
--env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_moodle \
--network moodle-network \
--volume moodle_mariadb_data:/bitnami/mariadb \
bitnami/mariadb:latest
docker volume create --name moodle_moodle_data
docker run --restart always -d --name moodle \
-p 8082:8080 -p 8445:8443 \
--env MOODLE_DATABASE_HOST=moodle-mariadb \
--env ALLOW_EMPTY_PASSWORD=yes \
--env MOODLE_DATABASE_USER=bn_moodle \
--env MOODLE_DATABASE_PASSWORD=bitnami \
--env MOODLE_DATABASE_NAME=bitnami_moodle \
--network moodle-network \
--volume moodle_moodle_data:/bitnami/moodle \
bitnami/moodle:latest
公司 nextcloud 版本號為 17 , 今天突然心血來潮, 手動pull 最新版的nextcloud 20, 結果系統直接進入維護模式, 再起不能…
我自己犯了跨兩個大版本不能升級禁忌, 原本想說若失敗, 再把舊的啟用即可, 甚至連設定檔都懶得備份,
當我發現新版啟用失敗時, 只好回到舊的nextcloud,
哎呀! 居然無法啟動, 應該是新版本有改動到舊版設定檔案, 於是就GG了.
這下慘了! 我得趕緊想辦法解決, 在公司同仁發現前, 解決升版, 降版都失敗的窘境,
最後靈光一閃, 終於成功升級到最新版本!
以下真實記錄一下解決的過程:
1. pull nextcloud 最新版號20, 掛載舊的設定檔案, 啟動後出現維護模式, 無法使用. 我於是下指令解除維護模式, 瀏覽器上顯示出現可升級的選項, 上吧, 皮卡丘!
docker exec --user www-data nextcloud_2 php occ maintenance:mode --on
皮卡丘上場了, 但是不給力… 瀏覽器出現升級失敗, 版本不支援的訊息(Updates between multiple major versions are unsupported),
好險docker還能進入nextcloud, 我找到version.php這個檔案, 發現裡面指定只能從19升級到20
$OC_Version = array(20,0,5,2); $OC_VersionString = '20.0.5'; $OC_Edition = ''; $OC_Channel = 'stable'; $OC_VersionCanBeUpgradedFrom = array ( 'nextcloud' => array ( '19.0' => true, '20.0' => true, ), 'owncloud' => array ( '10.5' => true, ), );
2. 死馬當活馬醫, 把version.php的資料改成讓17能升級到18 (19改成17, 20改成18), 然後pull nextcloud 18版 , 再掛上舊有的設定檔案後, 啟動 nextcloud 18版, log 居然神奇的啪啪啪, 出現17升級到18的訊息, 瀏覽器也能成功登入nextcloud, 並且顯示幕前版本18版
Initializing nextcloud 18.0.13.1 … Upgrading nextcloud from 17.0.5.2 … Initializing finished Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Setting log level to debug Turned on maintenance mode Updating database schema Updated database Disabled incompatible app: workflow_pdf_converter Updating … Migrate old user config Starting … 0/0 [>---------------------------] 0%
3. pull nextcloud 19版 , 掛上舊設定檔案, 啟動後也成功升級到19版
4. 掛上之前最新的nextcloud 20版, 也能從19升到20囉 , 驚險完成升級任務.
後續 2022/8/8
這次從 21.0.9 升級到22.2.10就簡單多了 。
先把新版抓下來
docker pull nextcloud:22.2.10
進入舊版容器,安裝vim後,編輯 version.php
增加一行 ‘22.2’ => true
$OC_VersionCanBeUpgradedFrom = array (
'nextcloud' =>
array (
'21.0' => true,
'22.0' => true,
'22.1' => true,
'22.2' => true,
),
'owncloud' =>
array (
'10.5' => true,
),
);
修改完畢,離開並停止執行舊版容器
重新執行新容器(需沿用原本舊容器的設定值) ,執行後系統就會自動更新,確認沒問題後,刪掉舊版容器,就完成整個更新了。
我自己的nextcloud原本連結 Collabora Online 達到可線上編輯office檔案的功能, 但是最近發現only office更相容M$ office, 於是想試用only office線上編輯的功能, 這次也是使用docker 安裝,不使用only office內建的let’s encrypt功能, 使用docker本體主機上的let’s encrypt 與 onlyoffice 進行mapping.
*** 2022/11/28 以下作法安裝7.2居然失敗(docker 必須升級到20.10.21), 但我這版還沒升級, 只好退回7.1
docker volume create onlyoffice_fonts
docker run --restart always -v onlyoffice_fonts:/usr/share/fonts -v /etc/letsencrypt:/etc/letsencrypt --name onlyoffice -d -p 8443:443 onlyoffice/documentserver
*** 2023/09/19 安裝7.2以上,需要設定密碼,並且在nextcloud的「secret key」欄位輸入該密碼
docker volume create onlyoffice_fonts
docker run --restart always -v onlyoffice_fonts:/usr/share/fonts -v /etc/letsencrypt:/etc/letsencrypt --name onlyoffice -d -p 8443:443 -e JWT_SECRET=<密碼> onlyoffice/documentserver
這樣就安裝完畢了, 接下來就是進入only office, 進行憑證的對應
** onlyoffice_fonts 的路徑可以存放其他字型(TTF), 再進入only office執行 /usr/bin/documentserver-generate-allfonts.sh即可使用新的字型, 或是執行fc-cache -f /usr/share/fonts/xxxx目錄 ,fc-list 可得知那些字型生效。
#進入onlyoffice docker exec -it onlyoffice bash ###### 執行已下指令 mkdir /var/www/onlyoffice/Data/certs cd /var/www/onlyoffice/Data/certs/ openssl dhparam -out dhparam.pem 2048 ln -s /etc/letsencrypt/live/onlyoffice.test.com/fullchain.pem /var/www/onlyoffice/Data/certs/onlyoffice.crt ln -s /etc/letsencrypt/live/onlyoffice.test.com/privkey.pem /var/www/onlyoffice/Data/certs/onlyoffice.key ###### #離開container並且重開 exit docker restart onlyoffice
上面紅色部分就是這個only office的網址, 請自行更改, 最後再到nextcloud啟用onlyoffice連結功能, 再輸入docker 的onlyoffice的網址, 如: https://onlyoffice.test.com , 就可以享用高度相容M$ office的線上編輯功能了
PS. 若docker onlyoffice的憑證是自己簽發的, 經過測試無法使用, 官網建議的做法一樣失敗, 請三思 https://api.onlyoffice.com/editors/nextcloud
測試的nextcloud 20.0.4 , 插件onlyoffice是6.1.0.83