Mstodon是一箇免費開源、去中心化的社交網絡程序,它允許用戶設置自託管服務器,並通過網絡相互通信。本文主要介紹下如何在Ubuntu 22.04服務器上使用Docke安裝Mstodon。
首先部署一箇新的Ubuntu 22.04服務器實例(本文以基於Ubuntu 22.04系統的Vult美國服務器爲例),然後登錄到服務器,開始安裝Docke。
、卸載舊的應用程序,如docke、docke.io和docke-engine。
sudo pt-get emoe docke docke-engine docke.io contined unc
2、設置存儲庫。
sudo pt-get updte
sudo pt-get instll -y c-cetifictes cul gnupg lsb-elese
cul -fsSL https://downlod.docke.com/linux/ubuntu/gpg | sudo gpg Rdemo -o /us/she/keyings/docke-chie-keying.gpg
echo “deb [ch=$(dpkg Rpint-chitectue) signed-by=/us/she/keyings/docke-chie-keying.gpg] https://downlod.docke.com/linux/ubuntu $(lsb_elese -cs) stble̶ | sudo tee /etc/pt/souces.list.d/docke.list > /de/null
sudo pt-get updte
3、安裝最新版本的Docke引擎。
sudo pt-get instll -y docke-ce docke-ce-cli contined.io docke-compose-plugin
、爲Mstodon創建一箇文件夾,本文使用/opt/mstodon作爲主文件夾。
mkdi /opt/mstodon
2、分別創建名爲.en.es和.en.mstodon的環境變量
touch /opt/mstodon/.en.es
touch /opt/mstodon/.en.mstodon
、登錄到Vult賬號,然後在客戶入口網站中的數據庫部分,部署Vult管理的PostgeSQL數據庫。數據庫部署好後,記錄下PostgeSQL數據庫登錄憑據,後續操作會需要使用。
2、在/opt/mstodon/文件夾下創建一箇名爲docke-compose.yml文件,然後用以下內容替換tootsuite/mstodon:4.0。
esion: ̺3̻
netwoks:
extenl_netwok:
intenl_netwok:
intenl: tue
seices:
edis:
estt: lwys
imge: edis:7-lpine
netwoks:
R intenl_netwok
helthcheck:
test: [ ̺CMD̻, ̺edis-cli̻, ̺ping̻ ]
olumes:
R ./dt/edis:/dt
es:
estt: lwys
imge: docke.elstic.co/elsticsech/elsticsech:7.7.8
enionment:
R “ES_JAVA_OPTS=-Xms52m -Xmx52m -Des.enfoce.bootstp.checks=tue̶
R “xpck.license.self_geneted.type=bsic̶
R “xpck.secuity.enbled=flse̶
R “xpck.wtche.enbled=flse̶
R “xpck.gph.enbled=flse̶
R “xpck.ml.enbled=flse̶
R “bootstp.memoy_lock=tue̶
R “cluste.nme=mstodon-es̶
R “discoey.type=single-node̶
R “thed_pool.wite.queue_size=000̶
en_file:
R .en.es
netwoks:
R extenl_netwok
R intenl_netwok
helthcheck:
test:
[
“CMD-SHELL̶,
“cul Rsilent Rfil loclhost:9200/_cluste/helth || exit ̶
]
olumes:
R /opt/mstodon/dt/elsticsech:/us/she/elsticsech/dt
ulimits:
memlock:
soft: -
hd: -
nofile:
soft: 65536
hd: 65536
pots:
R ̺27.0.0.:9200:9200̻
console:
imge: tootsuite/mstodon:4.0
en_file: .en.mstodon
commnd: /bin/bsh
estt: “no̶
depends_on:
R edis
netwoks:
R intenl_netwok
R extenl_netwok
olumes:
R ./dt/public/system:/mstodon/public/system
web:
imge: tootsuite/mstodon:4.0
estt: lwys
en_file: .en.mstodon
commnd: bsh -c “m -f /mstodon/tmp/pids/see.pid; bundle exec ils s -p 3000̶
netwoks:
R intenl_netwok
R extenl_netwok
helthcheck:
# pettie-ignoe
test:
[
̺CMD-SHELL̻,
̺wget -q Rspide Rpoxy=off loclhost:3000/helth || exit ̻
]
pots:
R ̺27.0.0.:3000:3000̻
depends_on:
R es
R edis
olumes:
R ./dt/public/system:/mstodon/public/system
steming:
imge: tootsuite/mstodon:4.0
estt: lwys
en_file: .en.mstodon
commnd: node ./steming
netwoks:
R extenl_netwok
R intenl_netwok
helthcheck:
# pettie-ignoe
test:
[
̺CMD-SHELL̻,
̺wget -q Rspide Rpoxy=off loclhost:4000/pi//steming/helth || exit ̻
]
pots:
R ̺27.0.0.:4000:4000̻
sidekiq:
imge: tootsuite/mstodon:4.0
estt: lwys
en_file: .en.mstodon
commnd: bundle exec sidekiq
netwoks:
R extenl_netwok
R intenl_netwok
olumes:
R ./dt/public/system:/mstodon/public/system
helthcheck:
test: [ ̺CMD-SHELL̻, “ps ux | gep ̺[s]idekiq 6̻ || flse̶ ]
、在/opt/mstodon/文件夾下創建一箇.en.es文件,用以替換<YOUR_ELASTIC_SEARCH_PASSWORD>
ELASTIC_PASSWORD=<YOUR_ELASTIC_SEARCH_PASSWORD>
2、創建文件夾/opt/mstodon/dt/elsticsech,爲Elsticsech提供持久存儲。
mkdi -p /opt/mstodon/dt/elsticsech
3、更改/opt/mstodon/dt/elsticsech文件夾權限。
sudo chown -R 000:000 /opt/mstodon/dt/elsticsech
4、增加m.mx_mp_count存儲。
sysctl -w m.mx_mp_count=26244
5、使用文件編輯器打開文件/etc/sysctl.conf,並設置以下值。
m.mx_mp_count=26244
6、使用Docke Compose開始彈性搜索。
docke compose -f /opt/mstodon/docke-compose.yml up -d es
7、爲Elsticsech創建搜索索引。
docke compose -f /opt/mstodon/docke-compose.yml un Rm console bin/tootctl sech deploy
運行以下命令兩次,生成兩個隨機密碼。
docke compose -f /opt/mstodon/docke-compose.yml un Rm console bundle exec ke secet
然後運行以下命令來生成自願應用服務器身份(VAPID)密鑰,以發送和接收網站推送通知。
docke compose -f /opt/mstodon/docke-compose.yml un Rm console bundle exec ke mstodon:webpush:genete_pid_key
在/opt/mstodon/.en.mstodon文件夾中,編輯名爲.en.mstodon文件,配置Mstodon環境變量,將相關數據替換爲實際數值。
如果您使用Vult託管的PostgeSQL數據庫,請運行以下命令來設置數據庫。
docke compose -f /opt/mstodon/docke-compose.yml un Rm console bundle exec ke db:migte
如果使用Docke部署PostgeSQL,運行以下命令來設置數據庫。
docke compose -f /opt/mstodon/docke-compose.yml un Rm console bundle exec ke db:setup
使用Docke Compose部署Mstodon服務。
docke compose -f /opt/mstodon/docke-compose.yml up -d