上篇文章講了如何利用Docker將Wekan部署在服務(wù)器上以及一些Wekan的基本操作袋励。(如果你還不知道Wekan是啥够庙,請(qǐng)看:鏈接)同時(shí)缺谴,也提到了在Wekan的官方文檔里,無(wú)論是用Docker還是Snap部署Wekan隘庄,如果安全問(wèn)題是很重要的,都不建議將Wekan暴露到外網(wǎng)(與內(nèi)網(wǎng)相對(duì))上。不想讓服務(wù)器變成肉雞或者暴露在危險(xiǎn)下财忽,正好Wekan也支持部署在樹(shù)莓派上。那么泣侮,開(kāi)始吧即彪。
本文將分三部分:
- 在樹(shù)莓派上部署Wekan
- 導(dǎo)出Wekan數(shù)據(jù)(從docker)
- 導(dǎo)入Wekan數(shù)據(jù)(到樹(shù)莓派)
在樹(shù)莓派上安裝Wekan
參考鏈接:install-wekan-to-raspi3-raspi4-or-any-arm64-server
系統(tǒng)需求
README
Currently uses Node v12.16.2 and MongoDB v3.x or v4.x
Built on Ubuntu 19.10 64bit arm64 on RasPi4.
Should work on RasPi3 and RasPi4 on Ubuntu 19.10 64bit arm64.
Install info here:
https://github.com/wekan/wekan/wiki/Raspberry-Pi
簡(jiǎn)單地說(shuō),需要裝ubuntu64位的系統(tǒng)
筆者樹(shù)莓派的配置:
Raspberrypi4b 4gb
OS: Ubuntu 20.04 focal
Kernel: aarch64 Linux 5.4.0-1008-raspi
安裝過(guò)程
下載和安裝wekan所需要的
用瀏覽器打開(kāi): https://releases.wekan.team/raspi3/
查看README.txt
文件如:
README
Currently uses Node v12.16.2 and MongoDB v3.x or v4.x
Built on Ubuntu 19.10 64bit arm64 on RasPi4.
Should work on RasPi3 and RasPi4 on Ubuntu 19.10 64bit arm64.
Install info here:
https://github.com/wekan/wekan/wiki/Raspberry-Pi
安裝下列軟件:
sudo apt-get update
sudo apt-get install npm mongodb-server mongodb-clients mongo-tools zip unzip
官方文檔寫(xiě)的是:
sudo apt-get install npm mongodb-server mongodb-clients mongodb-tools zip unzip
但是筆者在實(shí)際安裝過(guò)程中提示E: Unable to locate package mongodb-tools
活尊,經(jīng)過(guò)筆者的搜索(不一定對(duì))覺(jué)得應(yīng)該是mongodb-tools
于是就做了替換隶校,在后續(xù)的安裝過(guò)程中也沒(méi)有出現(xiàn)問(wèn)題。
于是筆者用蹩腳的英語(yǔ)提了一個(gè)issue蛹锰,目前正在等待回應(yīng)深胳。
接下來(lái):
sudo npm -g install npm
sudo npm -g install n
在前文提到的README.txt
文件查看Node版本,然后安裝铜犬。比如此時(shí)舞终,Node 的版本是12.16.2:
sudo n 12.16.2
接下來(lái)切換到你想儲(chǔ)存wekan的目錄轻庆,比如筆者習(xí)慣放在repo/xxx
目錄下:
cd ~/home/repo/wekan
查看上文讓你打開(kāi)的網(wǎng)站,下載Wekan(名字類似wekan-x.xx-arm64.zip
)敛劝,可以鼠標(biāo)右鍵點(diǎn)擊然后選擇復(fù)制鏈接余爆,比如筆者安裝時(shí)是wekan-4.01-arm64.zip
:
wget https://releases.wekan.team/raspi3/wekan-4.01-arm64.zip
接下來(lái)下載最新的start-wekan.sh
:
wget https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh
解壓之前下載wekan壓縮包:
unzip wekan-4.01-arm64.zip
解壓完成后,你的wekan目錄應(yīng)如:
bundle start-wekan.sh wekan-4.01-arm64.zip
以服務(wù)的方式運(yùn)行wekan
如果你想以非root用戶將node運(yùn)行在80端口:
首先夸盟,查看node的安裝位置:
which node
賦予權(quán)限蛾方,比如筆者上一步得到的結(jié)果是/usr/local/bin/node
:
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
編輯/etc/systemd/system/wekan.service
:
sudo nano /etc/systemd/system/wekan.service
添加下列內(nèi)容:(注意WorkingDirectory
后面的值應(yīng)為前面解壓的wekan-4.01-arm64.zip
得到的bundle
目錄,比如/home/ubuntu/repo/wekan/bundle
)
[Unit]
Description=The Wekan Service
After=syslog.target network.target
[Service]
EnvironmentFile=/etc/default/wekan
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/repo/wekan/bundle
ExecStart=/usr/local/bin/node main.js
Restart=on-failure
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
查看你樹(shù)莓派的ip地址:
ip address
記住你的ip地址形如192.168.x.x
上陕,下面呢以192.168.1.20
為例子桩砰。
接下來(lái)編輯wekan的配置文件/etc/default/wekan
,添加下列內(nèi)容:(ROOT_URL
改為樹(shù)莓派的ip地址释簿,為了更加方便五芝,推薦在路由器上設(shè)置給你的樹(shù)莓派分配固定ip)
NODE_ENV=production
WITH_API=true
MONGO_URL=mongodb://127.0.0.1:27017/wekan
ROOT_URL=http://192.168.1.20
PORT=80
啟動(dòng)wekan:
sudo systemctl start wekan
設(shè)置開(kāi)機(jī)自啟:
sudo systemctl enable wekan
查看wekan運(yùn)行狀況:
sudo systemctl status wekan
打開(kāi)瀏覽器訪問(wèn)之前設(shè)設(shè)置的ROOT_URL
(比如筆者設(shè)置的是http://192.168.1.20
)看到登陸界面就大功告成了。第一個(gè)注冊(cè)的為管理員賬戶辕万。如果你想知道更多的wekan操作枢步,可以查看上一篇文章:免費(fèi)開(kāi)源看板軟件Wekan安裝與使用記錄。
如果你還需要還原wekan數(shù)據(jù)渐尿,請(qǐng)不要著急醉途,繼續(xù)往下看。
導(dǎo)出Wekan數(shù)據(jù)(從docker)
本文將介紹如何從docker導(dǎo)出wekan的數(shù)據(jù)砖茸,參考Export-Docker-Mongo-Data隘擎。其他安裝方式安裝的wekan數(shù)據(jù)的備份和還原請(qǐng)參考 Wekan-Wiki-Backup。
停止運(yùn)行wekan
這一步十分重要凉夯!
查看當(dāng)前的docker進(jìn)程:
docker ps
然后你將看到wekan-app
和wekan-db
货葬,關(guān)閉wekan-app
docker stop wekan-app
再次查看當(dāng)前的docker進(jìn)程確保wekan-app
已經(jīng)停止運(yùn)行:
docker ps
導(dǎo)出數(shù)據(jù)
進(jìn)入mongo容器:
docker exec -it wekan-db bash
切換到容器的根目錄:
cd /
將數(shù)據(jù)導(dǎo)出到容器內(nèi)的目錄下:
mongodump -o /dump/
退出容器:
exit
將導(dǎo)出的數(shù)據(jù)保存當(dāng)前目錄:
docker cp wekan-db:/dump .
導(dǎo)入數(shù)據(jù)
停止本地運(yùn)行wekan
為了避免不可預(yù)計(jì)的問(wèn)題,請(qǐng)先停止本地運(yùn)行的wekan劲够!
sudo systemctl stop wekan
導(dǎo)入數(shù)據(jù)
從服務(wù)器上下載導(dǎo)出數(shù)據(jù):(這里筆者用scp下載震桶,你也可用其他方法,關(guān)于scp的用法可以參考:從Linux服務(wù)器下載文件到本地)
scp -r user@youdomian.com:~/repo/wekan/dump /home/ubuntu/repo/wekan/
將數(shù)據(jù)還原到wekan的數(shù)據(jù)庫(kù):
mongorestore --drop --db wekan /home/ubuntu/repo/wekan/dump/wekan/
重新打開(kāi)wekan:
sudo systemctl restart wekan
重新訪問(wèn)wekan征绎,就可以直接用之前的賬號(hào)登陸了蹲姐!
本文首發(fā)于 Wulu's Blog
原文鏈接:將免費(fèi)開(kāi)源看板軟件Wekan部署到樹(shù)莓派4B