docker安裝peertube影音平台
peertube是開源的串流影音平台, 很適合拿來管理私人影音檔案.
本文安裝的先決條件是:
已備有httpd反向代理, 以及lets encrypt ,
因此不使用peertube官方自帶的webserver與cerbot, 以免造成管理上的困擾
帳號密碼: guest/guest
https://docs.kafeiou.pw/iammis/技術文章/HowTo/10034_(docker)安裝peertube.txt
peertube是開源的串流影音平台, 很適合拿來管理私人影音檔案.
本文安裝的先決條件是:
已備有httpd反向代理, 以及lets encrypt ,
因此不使用peertube官方自帶的webserver與cerbot, 以免造成管理上的困擾
帳號密碼: guest/guest
https://docs.kafeiou.pw/iammis/技術文章/HowTo/10034_(docker)安裝peertube.txt
主機名稱很重要, hostname , 我們公司有台老鼎新tiptop erp主機 安裝的是 redhat enterprise 4 .
tiptop的架構我簡單的敘述, client端連線到這台 server , 這台server會辨識client 端ip , 再將資料以xml方式, 反向傳回去client端的接收程式, 該接收程式(genero desktop client , gdc )會把xml資料轉成UI介面 , 方便讓使用者使用.
可是呢, 每次使用者執行程式, 都必須進行license檢驗, 以及進行 host name lookup 查詢資料庫的ip在哪, 我說的是每次執行程式哦, 都要進行資料庫主機在哪的查訪動作, 實在是有夠怪的設計 , 這10多年來我困擾很久, 終於有點了解了
為何要了解這個, 因為使用者執行程式, 常常導致跑一隻程式, 光是等待程式冒出來就要等2分鐘… 我們早就知道是lookup的問題, 但找不出真正的解法, 以下是lookup的解決切入點
nsswitch 可以指定優先查 /etc/hosts 或是 dns 或是 winbind
但這款老舊版本有個怪怪的bug, 設定了相關的lookup , 總是沒用, 就是會查詢失敗導致時間過久使用者憤怒, 我無意間看到有人寫了可以這樣檢查
getent hosts 資料庫主機名稱 或是 strace getent hosts 資料庫主機名稱
我發現ap主機查詢很快, 但是查詢db主機超慢, 於是加上strace檢查問題 , 我加上去之後看不懂, 於是就多看了幾次,
這指令居然神奇的自己解決查詢過久的問題, 多執行幾次就變快了…. @@ 傻眼
例如 docker 安裝 mariadb service , 要記得不要開放到internet
iptables -I DOCKER 1 -i <對外網卡代號> -p tcp --dport 3306 -j DROP
我很個很老派的人,喜歡用純粹的ext4 、 xfs 檔案系統, 但是時常遇到磁碟空間不足的問題。
若要擴容,可以服用以下指令:
1. 安裝擴容軟體 yum install cloud-utils-growpart -y 2. 執行擴容(支援ext4、xfs,xfs只能增大, 不能減少) growpart /dev/sdb 1 代表讓/dev/sdb1擴充到最大 3. 生效 xfs -- 以下指令可以立即生效指令後面接掛載目錄 xfs_growfs -d /mnt/docker ext4 -- resize2fs /dev/sdb1
有時候出現就一大堆, 最後出現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的心得, 沒有多次驗證
請先安裝 snapd https://kafeiou.pw/2021/02/17/3008/
sudo yum remove certbot sudo yum install httpd mod_ssl setsebool -P httpd_can_network_connect true sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo yum install epel-release sudo yum update sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap systemctl enable snapd.service systemctl start snapd.service
之前自己製作的mail server (綁定AD) , 休假功能使用的是 lda + sieve + managesieve 的方式進行, 可是在朋友公司運行時, 卻發生效率不彰的狀況(活躍的email帳號約500個).
查詢了一下, 發現官方已經建議使用 lmtp 的方式取代 lda , 原因是lda屬於觸發類型, 而 lmtp是常駐服務類型, 常駐服務類型效率較好.
於是將自己製作的 docker mail server 改良成 lmtp , 有機會再請朋友測試效率.
以下是讓centos啟用lmtp功能的設定文件(登入帳號密碼guest)
https://docs.kafeiou.pw/iammis/技術文章/HowTo/10033_(CEntOS7.9)新增lmtp_managesieve功能.txt