将免费开源看板软件Wekan部署到树莓派4B

作者:jcmp      发布时间:2021-05-11      浏览量:0
上篇文章 讲了如何利用Docker

上篇文章 讲了如何利用Docker将 Wekan 部署在服务器上以及一些Wekan的基本操作。(如果你还不知道Wekan是啥,请看: 链接 )同时,也提到了在Wekan的官方文档里,无论是用Docker还是Snap部署Wekan,如果安全问题是很重要的,都不建议将Wekan暴露到外网(与内网相对)上。不想让服务器变成肉鸡或者暴露在危险下,正好Wekan也支持部署在树莓派上。那么,开始吧。

一、在树莓派上安装Wekan

参考链接: install-wekan-to-raspi3-raspi4-or-any-arm64-server。

二、系统需求

READMECurrently uses Node v12.16.2 and MongoDB v3.x or v4.xBuilt 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。

简单地说,需要装ubuntu64位的系统

笔者树莓派的配置:

Raspberrypi4b 4gbOS: Ubuntu 20.04 focalKernel: aarch64 Linux 5.4.0-1008-raspi。

三、安装过程

四、下载和安装wekan所需要的

用浏览器打开: https://releases.wekan.team/raspi3/

查看 README.txt 文件如:

READMECurrently uses Node v12.16.2 and MongoDB v3.x or v4.xBuilt 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 updatesudo apt-get install npm mongodb-server mongodb-clients mongo-tools zip unzip。

官方文档写的是:

sudo apt-get install npm mongodb-server mongodb-clients mongodb-tools zip unzip。

但是笔者在实际安装过程中提示 E: Unable to locate package mongodb-tools ,经过笔者的搜索(不一定对)觉得应该是 mongodb-tools 于是就做了替换,在后续的安装过程中也没有出现问题。

于是笔者用蹩脚的英语提了一个 issue ,目前正在等待回应。

接下来:

sudo npm -g install npmsudo npm -g install n。

在前文提到的 README.txt 文件查看Node版本,然后安装。比如此时,Node 的版本是12.16.2:

sudo n 12.16.2

接下来切换到你想储存wekan的目录,比如笔者习惯放在 repo/xxx 目录下:

cd ~/home/repo/wekan

查看上文让你打开的 网站 ,下载Wekan(名字类似 wekan-x.xx-arm64.zip ),可以鼠标右键点击然后选择复制链接,比如笔者安装时是 wekan-4.01-arm64.zip :

wget https://releases.wekan.team/raspi3/wekan-4.01-arm64.zip。

接下来下载最新的 start-wekan.sh :

wget https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh。

解压之前下载wekan压缩包:

unzip wekan-4.01-arm64.zip

解压完成后,你的wekan目录应如:

bundle start-wekan.sh wekan-4.01-arm64.zip。

五、以服务的方式运行wekan

如果你想以非root用户将node运行在80端口:

首先,查看node的安装位置:

which node

赋予权限,比如笔者上一步得到的结果是 /usr/local/bin/node :

sudo setcap cap_net_bind_service=+ep /usr/local/bin/node。

sudo nano /etc/systemd/system/wekan.service。

[Unit]Description=The Wekan ServiceAfter=syslog.target network.target[Service]EnvironmentFile=/etc/default/wekanUser=ubuntuGroup=ubuntuWorkingDirectory=/home/ubuntu/repo/wekan/bundleExecStart=/usr/local/bin/node main.jsRestart=on-failureSuccessExitStatus=143[Install]WantedBy=multi-user.target。

查看你树莓派的ip地址:

ip address

记住你的ip地址形如 192.168.x.x ,下面呢以 192.168.1.20 为例子。

NODE_ENV=productionWITH_API=trueMONGO_URL=mongodb://127.0.0.1:27017/wekanROOT_URL=http://192.168.1.20PORT=80。

启动wekan:

sudo systemctl start wekan

设置开机自启:

sudo systemctl enable wekan

查看wekan运行状况:

sudo systemctl status wekan

打开浏览器访问之前设设置的 ROOT_URL (比如笔者设置的是 http://192.168.1.20 )看到登陆界面就大功告成了。 第一个注册的为管理员账户。 如果你想知道更多的wekan操作,可以查看上一篇文章: 免费开源看板软件Wekan安装与使用记录 。

如果你还需要还原wekan数据,请不要着急,继续往下看。

六、导出Wekan数据(从docker)

七、停止运行wekan

这一步十分重要!

查看当前的docker进程:

docker ps

然后你将看到 wekan-app 和 wekan-db ,关闭 wekan-app。

docker stop wekan-app

再次查看当前的docker进程确保 wekan-app 已经停止运行:

docker ps

八、导出数据

进入mongo容器:

docker exec -it wekan-db bash

切换到容器的根目录:

cd /

将数据导出到容器内的目录下:

mongodump -o /dump/

退出容器:

exit

将导出的数据保存当前目录:

docker cp wekan-db:/dump .

九、导入数据

十、停止本地运行wekan

为了避免不可预计的问题,请先停止本地运行的wekan!

sudo systemctl stop wekan

十一、导入数据

从服务器上下载导出数据:(这里笔者用scp下载,你也可用其他方法,关于scp的用法可以参考: 从Linux服务器下载文件到本地 )。

scp -r user@youdomian.com:~/repo/wekan/dump /home/ubuntu/repo/wekan/

将数据还原到wekan的数据库:

mongorestore --drop --db wekan /home/ubuntu/repo/wekan/dump/wekan/

重新打开wekan:

sudo systemctl restart wekan

重新访问wekan,就可以直接用之前的账号登陆了!