Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Wekan for RasPi3 arm64 and other CPU architectures
- Ubuntu 18.04 Server arm64 for RasPi3
- Has MongoDB 3.6.x running
- Wekan v2.94 that has Meteor 1.8.1
Note: Raspbian is not recommended, because it is 32bit and has 32bit MongoDB that has file size limit of 2 GB, if it grows bigger then it gets corrupted. That's why here is arm64 version of Ubuntu 18.04.
To test RasPi3, xet7 tested it with all his Wekan boards data:
mongorestore --drop --noIndexRestore
When using Firefox on network laptop (Core 2 Duo laptop, 8 GB RAM, SSD harddisk) to browse RasPi Wekan server, small boards load at about 3 seconds at first time. When loading, node CPU usage goes to about 100%. MongoDB CPU usage stays low, sometimes goes to 18%. This is because indexes has been added to Wekan MongoDB database. Loading my biggest Wekan board at first time takes 45 seconds, and next time takes about 2 seconds, because data is at browser cache. When Wekan browser tab is closed, node CPU usage drops 4-23%. There is no errors given by Wekan at RasPi3, RasPi3 arm64 behaves similar to x64 server that has 1 GB RAM.
I did also test Wekan arm64 on arm64 bare metal server, same Wekan bundle worked there.
.7z size 876 MB, unarchived RasPi3 .img size of 4.5 GB. At first boot disk image expands to full SD card size.
Or alternatively Wekan Meteor 1.8.1 bundle for arm64:
How to use .img
- Write image to SD card
sudo apt-get install p7zip-full 7z x wekan-2.94-raspi3-ubuntu18.04server.img.7z sudo dd if=wekan-2.94-raspi3-ubuntu18.04server.img of=/dev/mmcblk0 conv=sync status=progress bs=100M
- Login for Wekan files
- Username wekan
- Password wekan (for Wekan files)
(Or for ubuntu user: username ubuntu password ubuntuubuntu)
- After login as wekan user, check IP address with command:
- Change that IP addess to start-wekan.sh:
cd repos nano start-wekan.sh
There change ROOT_URL to have your IP address. Save and Exit: Ctrl-o Enter Ctrl-x Enter
- Restore your Wekan dump subdirectory
mongorestore --drop --noIndexRestore
- Start Wekan:
And maybe run as service
Or start at boot, by having at bottom of /etc/rc.local.
- On other computer, with webbrowser go to http://192.168.0.12 (or other of your IP address you changed to start-wekan.sh)
How to use bundle
a) On any Ubuntu 18.04 arm64 server
wget https://releases.wekan.team/raspi3/wekan-2.94-arm64-bundle.tar.gz tar -xzf wekan-2.94-arm64-bundle.tar.gz sudo apt-get install build-essential curl make nodejs npm mongodb-clients mongodb-server sudo npm -g install npm sudo npm -g install n sudo n 8.16.0 sudo systemctl start mongodb sudo systemctl enable mongodb wget https://releases.wekan.team/raspi3/start-wekan.sh nano start-wekan.sh
You can also allow node to run on port 80, when you check where node is:
and then allow it:
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
b) Other CPU architectures
Do as above, but then also install node packages for your architecture:
cd bundle/programs/server npm install npm install node-gyp node-pre-gyp fibers cd ../../..
Then start Wekan
c) Even more something?
Well, you could get some other newest Meteor x64 bundle, like RocketChat, and this way make it run on your CPU architecture, that has required Node+NPM+MongoDB.
How this was done
- Bundle at https://releases.wekan.team/raspi3/ was created this way originally on Xubuntu 19.10 x64. This is because officially Meteor only supports x32 and x64. One workaround would be to add patch to allow other architecture, like this. But better workaround is to just build bundle on x64 and then on other architectures download bundle and reinstall npm packages.
git clone https://github.com/wekan/wekan cd wekan git checkout meteor-1.8 ./rebuild-wekan.sh # 1 and Enter to install deps ./rebuild-wekan.sh # 2 and Enter to build Wekan cd .build
Then create tar.gz that included bundle directory, with name wekan-VERSION.tar.gz
Ready-made bundles of Meteor 1.6 Wekan x64 at https://releases.wekan.team
Ready-made bundle of Meteor 1.8 Wekan for arm64 at https://releases.wekan.team , works at RasPi3, and any other arm64 server that has Ubuntu 18.04 arm64.
- Ubuntu Server for RasPi3 from https://www.raspberrypi.org/downloads/
Write to SD card.
- Username ubuntu
- Password ubuntu
- It asks to change password at first boot.
- Create new user:
sudo adduser wekan
Add name wekan, password wekan, and then other empty with Enter, and accept with Y.
- Add passwordless sudo:
export EDITOR=nano sudo visudo
There below root add:
wekan ALL=(ALL:ALL) NOPASSWD:ALL
Save and Exit: Ctrl-o Enter Ctrl-x Enter
- Logout, and login
- Username wekan
- Password wekan
- Download bundle etc
See above about downloading bundle, start-wekan.sh, dependencies etc.
- Shutdown RasPi3
sudo shutdown -h now
- At computer, insert SD card and unmount partitions:
sudo umount /dev/mmcblk0p1 /dev/mmcblk0p2
- Read SD card to image
sudo dd if=/dev/mmcblk0 of=wekan-2.94-raspi3-ubuntu18.04server.img conv=sync status=progress
- Resize image to smaller from 32 GB to 4.5 GB:
Resize script is originally from here.
wget https://releases.wekan.team/raspi3/resize.sh chmod +x resize.sh sudo ./resize.sh wekan-2.94-raspi3-ubuntu18.04server.img
- Make .7z archive to pack about 4.5 GB to about 800 MB:
7z a wekan-2.94-raspi3-ubuntu18.04server.img.7z wekan-2.94-raspi3-ubuntu18.04server.img