Reorganize docs.

This commit is contained in:
Lauri Ojansivu 2024-06-27 13:07:52 +03:00
parent e0b9e80698
commit 0fb2f7fdd6
46 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,55 @@
### Running Wekan server at Android
Requirements:
- arm64 or x64 Android with at least 3 GB RAM. Tested with with arm64 OnePlus 3 that has 6 GB RAM.
- It is not necessary to root Android.
## 1) Install AnLinux and Termux from Play Store
At AnLinux choose:
- Ubuntu
- XFCE4
- Copy those commands to Termux to install Linux.
## 2) At Termux
When you get from Termux to Ubuntu bash, you can install Wekan similarly like arm64 or x64:
https://github.com/wekan/wekan/wiki/Raspberry-Pi
Edit start-wekan.sh so you can start Wekan for example:
```
ROOT_URL=http://localhost:2000
PORT=2000
```
At Android webbrowser like Chrome and Firefox browse to http://localhost:2000
## 3) WLAN
If you connect to WLAN, you can get your IP address with command:
```
ip address
```
Edit start-wekan.sh so you can start Wekan for example:
```
ROOT_URL=http://IP-ADDRESS:2000
PORT=2000
```
Then you can use any computer or mobile phone Javascript capable webbrowser at WLAN to use Wekan at http://IP-ADDRESS:2000 like http://192.168.0.100:2000 . [More info about ROOT_URL](Settings).
## 4) Optional: Mobile Linux Desktop
Requirements:
- 1 WLAN, for example: mobile hotspot, Android device sharing WLAN, hotel WLAN, office WLAN
- ChromeCast that is connected to HDMI Input of hotel/office/home TV and WLAN
- Bluetooth keyboard
- Bluetooth mouse
- 1 Android device that has:
- Wekan installed according to steps 1-3 above
- Android VNC client to local AnLinux Ubuntu desktop
- Firefox installed with apt-get to that Ubuntu desktop, browsing Wekan at http://IP-ADDRESS:2000
- Using ChromeCast to show Android full screen at TV
This way, you have:
- Big TV display
- Full size keyboard and mouse
- Full featured Firefox at Ubuntu Desktop using Wekan

View file

@ -0,0 +1,3 @@
[Article from 2016](https://www.cloudfoundry.org/100-day-challenge-082-running-wekan-cloud-foundry/)
Probably needs update to use [precompiled Wekan release](https://www.cloudfoundry.org/100-day-challenge-082-running-wekan-cloud-foundry/) ?

View file

@ -0,0 +1,10 @@
- [Snap](Snap)
- [Docker](Docker)
- [Source](Source)
- [Unofficial debian package](https://github.com/soohwa/wekan-deb/releases) with build and installation instructions [here](https://github.com/soohwa/wekan-deb)
### Old install scripts
[Debian Wheezy 64bit & Devuan Jessie 64 bit](https://github.com/wekan/sps)
[Autoinstall script](https://github.com/wekan/wekan-autoinstall)

View file

@ -0,0 +1,8 @@
Newest info at https://github.com/wekan/wekan/issues/2662
Old disappeared info [this comment](https://github.com/wekan/wekan/issues/1155#issuecomment-326734403) instructions:
[https://github.com/greinbold/install-wekan/blob/master/v0.32/freebsd-11.0-RELEASE.md](https://github.com/greinbold/install-wekan/blob/master/v0.32/freebsd-11.0-RELEASE.md)
## FreeBSD Meteor build instructions
TODO

View file

@ -0,0 +1,214 @@
## TODO
WeKan:
- integration to Friend TODO list https://github.com/FriendUPCloud/friendup/issues/114
- timezone https://github.com/wekan/wekan/wiki/Timezone
Friend Desktop Cloud OS:
- Secure encrypted skinnable fast Open Source desktop in webbrowser/mobile/desktop app
- WeKan as app at Friend
## Chat
Discord link at https://friendos.com/en/developers/
Not in use currently: IRC at Freenode #friendup
## Website
https://friendos.com
## Video
https://www.youtube.com/watch?v=SB4dNC7u2MU
## Roadmap
- It's possible to use Wekan with Friend. At 2019-06-30 Wekan also works at [Raspberry Pi](Raspberry-Pi) like Friend already works, it makes possible local RasPi-only network.
- Then on local network you can use RasPi Cromium or Friend mobile/tablet Android/iOS app to connect to local network Friend desktop, also possible without connection to Internet.
- If using RasPi4 with 4 GB RAM or more, it's possible to run Wekan+Friend+Desktop etc on same RasPi4, servers+client webbrowser.
- Alternative to RasPi is Orange Pi 5 that can have 16 GB RAM http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus.html
## Screenshot
Wekan Friend development version at Friend Desktop. Not released to Friend Store yet.
![Wekan Friend development version screenshot](https://wekan.github.io/wekan-friend-dev.png)
More Screenshots of Wekan and Friend at https://blog.wekan.team/2018/05/upcoming-wekan-v1-00-and-platforms/
## Source code
Friend Server source code at GitHub https://github.com/FriendUPCloud/friendup . Mobile apps are not at GitHub yet.
Friend Apps source code at GitHub https://github.com/FriendUPCloud/friend-applications
Wekan FriendUPApp source code at GitHub https://github.com/wekan/FriendUPApp
Friend repos:
- https://github.com/FriendSoftwareLabs/
- https://github.com/FriendUPCloud/
Docker
- https://github.com/primesoftnz/friendos-docker
- https://github.com/wekan/friendos-docker
- https://github.com/wekan/docker-friendup
AmiBase, mount Friend disk:
- https://github.com/steffest/AmiBase/blob/master/plugins/friend/friend.js
- https://www.stef.be/video/AmiBase_Friend_Filesystem.mp4
Other Web Desktops:
- Puavo, based on Debian, for schools https://github.com/puavo-org
- Win11 React https://github.com/xet7/win11
- Win11 Svelte https://github.com/xet7/win11-svelte
## News about Wekan at Friend
- Friend Software Labs Releases FriendUP v1.2 Release Candidate https://medium.com/friendupcloud/friend-software-labs-releases-friendup-v1-2-release-candidate-637d7bf800d4
- Medium 2018-01-26: With Friend Wekan! https://medium.com/friendupcloud/with-friend-wekan-707af8d04d9f , you can discuss at Hacker News https://news.ycombinator.com/item?id=16240639
## News about Friend
- Video of Friend Desktop walkthrough https://www.youtube.com/watch?v=PX-74ooqino
- Friend Network and Friend Store questions answered https://medium.com/friendupcloud/friend-network-and-friend-store-questions-answered-56fefff5506a
- How Friend Store unifies Blockchain projects https://medium.com/friendupcloud/how-friend-store-unifies-blockchain-projects-d3a889874bec
- Video of Friend Talk at Blockchangers Event - Oslo 2018 https://www.youtube.com/watch?v=7AsSlFenRwQ
- Video of Friend talk at DeveloperWeek 2018 https://medium.com/friendupcloud/video-of-our-talk-at-developerweek-2018-e9b10246a92f
- Friend interview at FLOSS450 https://twit.tv/shows/floss-weekly/episodes/450
***
## Install from Source
TODO: Update install info
### 1. Setup new Ubuntu 16.04 64bit server or VM
Install script currently works only on Ubuntu 16.04 (and similar Xubuntu 16.04 64bit etc).
### 2. Install git and create repos directory
```
sudo apt-get update
sudo apt-get install git
mkdir ~/repos
cd repos
```
### 3. Clone Friend server repo
```
git clone https://github.com/FriendUPCloud/friendup
```
### 4. Clone Friend Apps repos
```
git clone https://github.com/FriendUPCloud/friend-applications
```
### 5. Clone Friend Chat repo
```
git clone https://github.com/FriendSoftwareLabs/friendchat
```
### 6. Clone Wekan App repo
```
git clone https://github.com/wekan/FriendUPApp
```
### 7. Optional: Clone Webmail repo
```
git clone https://github.com/RainLoop/rainloop-webmail
```
### 8. Install Friend to `~/repos/friendup/build` directory
This will install:
- MySQL database, credentials are in install.sh script, can be changed
- Untrusted SSL certificate for Friend with OpenSSL command
```
cd friendup
./install.sh
```
### 9. Add Wekan app
```
cd ~/repos/friendup/build/resources/webclient/apps
ln -s ~/repos/FriendUPApp/Wekan Wekan
```
### 10. Add other apps
```
cd ~/repos/friendup/build/resources/webclient/apps
ln -s ~/repos/FriendUPCloud/friend-applications/Astray Astray
ln -s ~/repos/FriendUPCloud/friend-applications/CNESSatellites CNESSatellites
ln -s ~/repos/FriendUPCloud/friend-applications/CubeSlam CubeSlam
ln -s ~/repos/FriendUPCloud/friend-applications/Doom Doom
ln -s ~/repos/FriendUPCloud/friend-applications/FriendBrowser FriendBrowser
ln -s ~/repos/FriendUPCloud/friend-applications/GameOfBombs GameOfBombs
ln -s ~/repos/FriendUPCloud/friend-applications/GeoGuessr GeoGuessr
ln -s ~/repos/FriendUPCloud/friend-applications/Instagram Instagram
ln -s ~/repos/FriendUPCloud/friend-applications/InternetArchive InternetArchive
ln -s ~/repos/FriendUPCloud/friend-applications/MissileGame MissileGame
ln -s ~/repos/FriendUPCloud/friend-applications/Photopea Photopea
ln -s ~/repos/FriendUPCloud/friend-applications/PolarrPhotoEditor PolarrPhotoEditor
ln -s ~/repos/FriendUPCloud/friend-applications/Swooop Swooop
ln -s ~/repos/FriendUPCloud/friend-applications/TED TED
```
### 11. Optional: Add custom modules
```
cd ~/repos/friendup/build/modules
ln -s ~/repos/mysupermodule mysupermodule
```
### 12. Install [Wekan Snap](https://github.com/wekan/wekan-snap/wiki/Install)
```
sudo apt-get -y install snapd
sudo snap install wekan --channel=latest/candidate
```
### 13. [ROOT_URL settings](Settings) to your server IP address
```
sudo snap set wekan root-url='http://192.168.0.100:5000'
sudo snap set wekan port='5000'
```
### 14. Start Wekan
```
sudo snap start wekan
sudo snap enable wekan
```
### 15. Start Friend
a) To background:
```
cd ~/repos/friendup/build
./nohup_FriendCore.sh
```
b) to foreground, useful when developing:
```
./Phonix_FriendCore.sh
```
or some of the following
```
./Phonix_FriendCoreGDB.sh
./ValgrindGriendCore.sh
```
### 16. Use with webbrowser
Chrome or Chromium works best 32bit/64bit OS and also with Raspberry Pi on ARM.
https://localhost:6502/webclient/index.html
Username: fadmin
Password: securefassword
### 17. Use with mobile app
Play Store: FriendUP by Friend Software Labs
iOS App Store for iPhone/iPad: If not at App Store, ask
Using Friend Android app to connect to your Friend server URL.
There is also Friend iOS app, but I think it's not yet officially released. If someone is interested, invite to iOS Testflight can be had from [Friend chat](Friend).
# Adding app icons to Friend desktop menus
@CraigL: I found that when I added my web apps to the Dock (by dragging the .jsx file onto it) The app list (on the left side) in the Dock editor showed the full path of the application even after adding a "Display Name" field entry. What I did was to use the Display Name entry for the App list (if available). What I ended up with was:
Orig:
App List => /Home/apps/Youtube/YouTube.jsx
New:
App List => YouTube
[My change is here](https://github.com/344Clinton/friendup/commit/6943cc3c05d74adc147950fb2a272d025b50e680). The fix was simple enough. Tracking it down took me a long time :grinning:

View file

@ -0,0 +1,5 @@
# Helm Chart for Kubernetes
[Official Helm Chart](https://github.com/wekan/wekan/tree/main/helm/wekan)
[Related issue](https://github.com/wekan/wekan/issues/3923)

View file

@ -0,0 +1 @@
Moved to [Platforms](Platforms)

View file

@ -0,0 +1,23 @@
# Quick install for development / debugging
* Install [nvm](https://github.com/creationix/nvm)
* `source NVMPATH/nvm.sh` for example `source ~/.nvm/nvm.sh`
* `nvm install v8.16.0`
* `nvm use v8.16.0`
* `nvm install-latest-npm`
* `cd ~`
* Clone repo to home: `git clone https://github.com/wekan/wekan.git`
* Install meteor (you can skip sudo by entering invalid password): `curl https://install.meteor.com/ | sh`
* `cd wekan/`
* `~/.meteor/meteor npm install --save babel-runtime xss meteor-node-stubs`
* `~/.meteor/meteor npm install --save bcrypt`
* `~/.meteor/meteor`
When you get this output, wekan is ready:
```
=> Started your app.
=> App running at: http://localhost:3000/
```
Register new user for administrator

View file

@ -0,0 +1,57 @@
In-progress script for installing npm modules locally. Not tested.
Anyone: If you get this working, edit this wiki and add remaining to be installed locally.
## TODO
- Add MongoDB running locally like at wiki page [Install from source](Install-and-Update#install-mongodb-1)
- Add node.js, npm etc installed locally
- Update [wekan-autoinstall](https://github.com/wekan/wekan-autoinstall), please send pull requests
- Update [Install from source](Install-and-Update#install-mongodb-1) so then this temporary page can possibly be removed later
## Related info
- Node.js and npm version downloaded at [Dockerfile](https://github.com/wekan/wekan/blob/main/Dockerfile)
- https://gist.github.com/isaacs/579814
- http://linuxbrew.sh
## Only this run with sudo
```
sudo apt-get install build-essential c++ capnproto nodejs nodejs-legacy npm git curl
```
## Install npm modules etc locally
```
# Local node module install from here:
# https://docs.npmjs.com/getting-started/fixing-npm-permissions
# If NPM global package directory does not exists
if [ ! -d "~/.npm-global" ]; then
# Create it
mkdir ~/.npm-global
fi
# If .npm-global/bin is in the path
if grep -Fxq "export PATH=~/.npm-global/bin:$PATH" ~/.bashrc
then
# Continue
else
# Add it to path
echo "export PATH=~/.npm-global/bin:$PATH" >> ~/.bashrc
# Add it to current path in RAM
export PATH=~/.npm-global/bin:$PATH
fi
```
## Install packages globally to local ~/.npm-global directory
```
npm -g install n
npm -g install npm@4.6.1
npm -g install node-gyp
npm -g install node-pre-gyp
npm -g install fibers@1.0.15
```
## Install meteor
Continue at [Install from source](Install-and-Update#install-manually-from-source)

View file

@ -0,0 +1,6 @@
[Docker, Wekan and MongoDB on OpenShift](https://github.com/wekan/wekan/tree/main/openshift)
[OpenShift config issue](https://github.com/wekan/wekan/issues/1778)
[Help for Openshift Setup from template failure](https://github.com/wekan/wekan/issues/1923)

View file

@ -0,0 +1,38 @@
## Install WeKan for OpenSuse amd64
1) Install Snap:
https://snapcraft.io/docs/installing-snap-on-opensuse
2) Install WeKan:
```
sudo snap install wekan --channel=latest/candidate
sudo snap set wekan root-url='http://localhost'
sudo snap set wekan port='80'
```
3) Register at at http://localhost/sign-up
Login at http://localhost/sign-in
More info at https://github.com/wekan/wekan/wiki/Adding-users
4) If you instead would like to access WeKan from other
laptops on your local network, check what is your computer
IP address, and change your IP address here:
```
sudo snap set wekan root-url='http://192.168.0.200'
```
More info at https://github.com/wekan/wekan/wiki/Settings
5) Create app icon for your mobile devices on local WLAN:
https://github.com/wekan/wekan/wiki/PWA
6) Some more info:
- https://github.com/wekan/wekan-snap/wiki/Install
- https://github.com/wekan/wekan/wiki

View file

@ -0,0 +1,154 @@
## Downloads
Downloading and installing Wekan on various platforms.
Only newest Wekan is supported. Please check you are running newest Wekan, because old versions of Wekan have old Node.js and other vulnerabilities.
## Related
* [Wekan new release ChangeLog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md)
* [Adding Users](Adding-users)
* [Forgot Password](Forgot-Password)
* [Settings](Settings)
* [Email](Troubleshooting-Mail)
* **[Backup and Restore](Backup) <=== VERY CRITICAL. DO AUTOMATICALLY OFTEN !!**
* [Logs and Stats](Logs)
* [Wekan bug reports and feature requests](https://github.com/wekan/wekan/issues)
* [Proxy](https://github.com/wekan/wekan/issues/1480)
***
## <a name="ProductionUnivention"></a>Production: [Univention](https://www.univention.com/products/univention-app-center/app-catalog/wekan/) platform, many apps and Wekan.
- Virtual Appliances Download: [VirtualBox, KVM, VMware, VMware ESX](https://www.univention.com/products/univention-app-center/app-catalog/wekan/)
- [Video of installing Univention Wekan Appliance](https://wekan.github.io/UCS-4.4-with-wekan-10.200.2.25.webm)
- After installing, you get license key file in email. Go with webbrowser to VM ip address like http://192.x.x.x and upload license. After that also on VM screen console login as root is possible. If you install KDE app from App Center with webbrowser, you get KDE on VM screen.
- [Wekan for Univention Feature Requests and Bug Reports](https://github.com/wekan/univention)
- [Univention Open Source repos](https://github.com/Univention)
- [Univention interview at FLOSS Weekly 480](https://twit.tv/shows/floss-weekly/episodes/480)
- VM based on Debian. Free and Enterprise versions of Univention are same, only difference is paid support.
- Univention VM can be standalone, or replace Windows Server Active Directory, or join to existing Active Directory. Has web UI, LDAP server, Users/Groups management, adding user to app.
- Wekan LDAP login is integrated to Univention LDAP. Create at Univention web UI at Users management LDAP Domain Admin user, and add Wekan app for that user, to get Wekan Admin Panel. Normal users don't have Admin Panel.
- Has Wekan. From App Center you can install RocketChat, WordPress, OnlyOffice, NextCloud, OpenXChange, etc. Some apps are full free versions, some other apps require payment for more features. Wekan is full free version.
- Wekan on Univention is based Wekan Docker version. Upgrading all apps on Univention upgrades also Wekan to newest available Wekan version.
- Newer version of Wekan will be released when building and testing is done.
***
* Cloud: Some additional info
* [AWS](AWS)
* [Azure](Azure)
* [OpenShift](OpenShift)
***
## Production: SaaS, Wekan ready paid services, just start using.
* [Wekan Team](https://wekan.team/commercial-support/) - Snap Gantt Gpl Automatic Updates. Supports Wekan maintenance and development.
* [Cloudron](Cloudron) - Standalone Wekan
* [PikaPods](PikaPods) - Standalone Wekan with managed updates and backups.
* [Scalingo](Scalingo) - Standalone Wekan
## <a name="ProductionDocker"></a>Not exposed to Internet: Docker. No automatic upgrades.
Keep backups, Docker is more complex than others above. Use only if you have time to test new release first, and it's critical nothing gets broken. Because Docker does not have automatic updates, please keep behind firewall, without any ports open to Internet, because Wekan gets new security etc updates to Node.js and other dependencies often.
* [Docker](Docker)
* [Windows](Windows) + build from source
* [Mac](Mac)
* [SLES 64bit](Install-Wekan-Docker-on-SUSE-Linux-Enterprise-Server-12-SP1)
* [Proxy](https://github.com/wekan/wekan/issues/1480)
***
## Not exposed to Internet: Bundle for [RasPi 3, arm64, Windows and any Node+Mongo CPU architectures](Raspberry-Pi). No automatic updates, no sandboxing.
New at 2019-06-30. If CPU architecture has enough RAM and fast harddisk, it can be used, but there
is no automatic updates and no sandboxing.
New at 2019-09-08. You can also try [bash install script and automatic
upgrade script](https://github.com/wekan/wekan-bash-install-autoupgrade).
Stop Wekan. Download newest bundle version at https://releases.wekan.team .
Install Node 8.16.2 and some MongoDB like 3.2.x - 4.x. Preferred 4.x if available.
Bundle works for Windows native Node.js and MongoDB, arm64 server, etc any CPU node+mongodb.
Building from source does not seem to work on Windows.
Extra steps only for CentOS 6:
- Install gcc-4.9.3 and boost
- Add gcc to path, for example: `export LD_LIBRARY_PATH=/root/gcc-4.9.3/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/:$LD_LIBRARY_PATH`
- At below fibers step, do instead `npm install fibers@2.0.1`
Then, for example:
```
mkdir repos
cd ~/repos
rm -rf bundle
wget https://releases.wekan.team/wekan-3.52.zip
unzip wekan-3.01.zip
cd bundle/programs/server
npm install
npm install node-gyp node-pre-gyp fibers
cd ../../..
```
Then modify `start-wekan.sh` or `start-wekan.bat` for Node and MongoDB paths.
See [Raspberry Pi page](Raspberry-Pi) for info about systemd etc.
***
## <a name="Development"></a>Development: Not updated automatically.
* [Virtual appliance](virtual-appliance) - old
* [Source](Source) for development usage only. Source, Snap, Docker, Sandstorm, Meteor bundle and Windows build instructions.
* [Vagrant](Vagrant)
* Upcoming:
* [Friend](Friend) - Snap Standalone Wekan
## Operating Systems
* [Debian 64bit](Debian)
* [SmartOS](SmartOS)
* [FreeBSD](FreeBSD)
## NAS
* [Qnap TS-469L](https://github.com/wekan/wekan/issues/1180)
## Other Clouds. Can have some restrictions, like: Requires from source install, has restricted 2.x kernel, does not support websockets, or not tested yet.
* [Uberspace](Install-latest-Wekan-release-on-Uberspace)
* [OVH and Kimsufi](OVH)
* [OpenVZ](OpenVZ)
* [Heroku](Heroku) ?
* [Google Cloud](Google-Cloud) ?
* [Cloud Foundry](Cloud-Foundry) ?
## Does not work yet: [DEB/RPM packages at Packager.io](https://packager.io/gh/wekan/wekan)
New at 2019-08-04. For Ubuntu, Debian, CentOS and SLES.
[Testing how to get it working in progress here](https://github.com/wekan/wekan/issues/2582).
# More
[Features](Features)
[Integrations](Integrations)
[install_source]: https://github.com/wekan/wekan/wiki/Install-and-Update#install-manually-from-source
[installsource_windows]: https://github.com/wekan/wekan/wiki/Install-Wekan-from-source-on-Windows
[cloudron_button]: https://cloudron.io/img/button.svg
[cloudron_install]: https://cloudron.io/button.html?app=io.wekan.cloudronapp
[docker_image]: https://hub.docker.com/r/wekanteam/wekan/
[heroku_button]: https://www.herokucdn.com/deploy/button.png
[heroku_deploy]: https://heroku.com/deploy?template=https://github.com/wekan/wekan/tree/main
[indiehosters_button]: https://indie.host/signup.png
[indiehosters_saas]: https://indiehosters.net/shop/product/wekan-20
[sandstorm_button]: https://img.shields.io/badge/try-Wekan%20on%20Sandstorm-783189.svg
[sandstorm_appdemo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h
[scalingo_button]: https://cdn.scalingo.com/deploy/button.svg
[scalingo_deploy]: https://my.scalingo.com/deploy?source=https://github.com/wekan/wekan#master
[wekan_mongodb]: https://github.com/wekan/wekan-mongodb
[wekan_postgresql]: https://github.com/wekan/wekan-postgresql
[wekan_cleanup]: https://github.com/wekan/wekan-cleanup
[wekan_logstash]: https://github.com/wekan/wekan-logstash
[autoinstall]: https://github.com/wekan/wekan-autoinstall
[autoinstall_issue]: https://github.com/anselal/wekan/issues/18
[debian_wheezy_devuan_jessie]: https://github.com/wekan/sps

View file

@ -0,0 +1,638 @@
NOTE: If you use MongoDB Snap package below, most likely it works with many distro versions, like newest distros also. But if installing without Snap from https://www.mongodb.com/try/download/community , those packages are not for so many distros and versions.
This page is NOT only about Raspberry Pi. This page IS about install without container for ANY Linux/BSD/[macOS](Mac)/[Windows](Offline) using CPU of amd64/arm64/s390x/ppc64le.
WeKan only requires:
- WeKan bundle .zip file of Javascript etc for that CPU. Only difference per CPU is that fibers package is compiled for that CPU. Those .zip files are built this way, for example:
- `git clone https://github.com/wekan/wekan && cd wekan && ./releases/release-wekan.sh WEKAN-VERSION-NUMBER` where version like 5.55
- releases directory has `rebuild-release.sh` that build amd64 bundle, `release-bundle.sh` that uploads amd64 bundle to arm64/s390x/ppc64le servers, and `maintainer-make-bundle-*.sh` scripts for compiling fibers on those arm64/s390x/ppc64le servers. Note: Only xet7 has ssh private keys to build servers, as maintainer of WeKan.
- Node.js binary, version number is at https://wekan.github.io Download section, like https://nodejs.org/dist/latest-v14.x/
- MongoDB, version number is at https://wekan.github.io Download section, like 5.x https://www.mongodb.com/try/download/community or Percona MongoDB https://www.percona.com/software/mongodb/feature-comparison Download at https://www.percona.com/downloads/percona-server-mongodb-LATEST/
- some way to start Wekan, like any of:
- bash script: [start-wekan.sh](https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh)
- cmd.exe script: [start-wekan.bat](https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.bat)
- [systemd service script](#6-running-wekan-as-service)
- init.d script
- any other script, that sets environment variables and in bundle directory does `node main.js`
- most important environment settings are:
- `ROOT_URL=http://192.168.0.200` for WeKan server IP address at local network or `ROOT_URL=https://kanban.example.com` if [Caddy](Caddy-Webserver-Config)/[Nginx](Nginx-Webserver-Config)/[Apache2](Apache) proxies from HTTPS to WeKan http://127.0.0.1:4000 etc, see https://github.com/wekan/wekan/wiki/Settings
- `PORT=80` or `PORT=4000` or some other port where WeKan Nodejs runs.
- `MONGO_URL=mongodb://127.0.0.1:27017/wekan` where MongoDB server is, like localhost port 27017 using database name wekan. (Snap usually has MongoDB port at 27019, if it's not changed for example with `sudo snap set wekan mongodb-port='27020'`)
- `WRITABLE_PATH=..`
- if using node http at port 80, permission for binding to port 80, like `sudo setcap cap_net_bind_service=+ep /usr/local/bin/node`. See https://github.com/wekan/wekan/issues/4735#issuecomment-1295079327
- Optional other settings are at [start-wekan.sh](https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh) (and at https://github.com/wekan/wekan-snap/wiki/Supported-settings-keys#list-of-supported-keys but Snap settings have lowercase minus like `root-url`, where `.sh` scripts and services have uppercase underline like `ROOT_URL`)
- https://github.com/wekan/wekan/wiki/Adding-users and https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
- Optional autoupgrade script https://github.com/wekan/wekan-bash-install-autoupgrade
## Bundle files
Windows and Linux versions at:
- https://github.com/wekan/wekan/releases
and also:
- Linux amd64 https://releases.wekan.team filename wekan-VERSION-amd64.zip
- Linux arm64 https://releases.wekan.team/raspi3/
- Linux [s390x](s390x) https://releases.wekan.team/s390x/
## Related wiki pages
- https://github.com/wekan/wekan/wiki/ppc
- https://github.com/wekan/wekan/wiki/s390x
## Installing Node.js
Download from https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4
## Installing MongoDB Snap for amd64/arm64/ppc64el/s390x
NOTE: If you use this MongoDB Snap package, most likely it works with many distro versions, like newest distros also. But if installing without Snap from https://www.mongodb.com/try/download/community , those packages are not for so many distros and versions.
This Snap package https://snapcraft.io/juju-db , created by Canonical, has MongoDB for various CPU architectures . It is internal package for Canonical's Juju service https://jaas.ai . Snap repo at https://github.com/juju/juju-db-snap and copy at https://github.com/wekan/mongodb-snap
Install Snap for your distro https://snapcraft.io/docs/installing-snapd
Note: Below `sudo dnf install nano` at CentOS/RHEL/Fedora is like `sudo apt install nano` on Debian/Ubuntu
```
ssh yourserver
sudo dnf install nano
sudo reboot
sudo snap install juju-db
sudo snap refresh juju-db --channel=5.3/stable
sudo snap enable juju-db
sudo snap start juju-db
nano .bashrc
```
There add path to commands mongo, mongodump, mongorestore etc, depending on your CPU architecture,
check filenames of directories etc at /snap/juju-db, like this:
For amd64:
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/juju-db/135/usr/lib/x86_64-linux-gnu
export PATH="$PATH:/snap/juju-db/135/bin"
```
For arm64:
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/juju-db/137/usr/lib/aarch64-linux-gnu
export PATH="$PATH:/snap/juju-db/137/bin"
```
For ppc64el:
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/juju-db/138/usr/lib/powerpc64le-linux-gnu
export PATH="$PATH:/snap/juju-db/138/bin"
```
For s390x:
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/juju-db/139/usr/lib/s390x-linux-gnu
export PATH="$PATH:/snap/juju-db/139/bin"
```
Save and exit: Ctrl-o Enter Ctrl-x
Exit ssh, and ssh to server again,
```
exit
ssh yourserver
```
Or alternatively just read new paths to mongo etc commands:
```
source .bashrc
```
Now MongoDB is at localhost port 27017. You connect to CLI with command:
```
mongo
```
## About Raspberry Pi
[Blogpost](https://blog.wekan.team/2019/06/wekan-on-raspi3-and-arm64-server-now-works-and-whats-next-with-cncf/index.html) - [Blogpost repost at dev.to](https://dev.to/xet7/wekan-on-raspi3-and-arm64-server-now-works-and-what-s-next-with-cncf-pbk) - [Thanks at CNCF original issue](https://github.com/cncf/cluster/issues/45#issuecomment-507036930) - [Twitter tweet](https://twitter.com/WekanApp/status/1145168007901134848) - [HN](https://news.ycombinator.com/item?id=20318237)
## Please store MongoDB database etc Wekan files to external SSD hardrive (or HDD)
It's very easy to corrupt microSD card with a lot of writes. Please make [at least daily backups](Backup).
## Install Wekan to RasPi3, RasPi4 or any arm64 server
Look at webbrowser files at https://releases.wekan.team/raspi3/
Download and open README.md, there could be text similar to this:
```
README
Currently uses Node v12.17.0 and MongoDB v3.x or v4.x
Built on arm64 server.
Should work on RasPi3 and RasPi4 on Ubuntu 20.04 64bit arm64 or Raspberry Pi OS 64bit.
Install info here:
https://github.com/wekan/wekan/wiki/Raspberry-Pi
```
You should always check what distro, node etc version it has, before downloading and installing.
## Raspberry Pi OS arm64 with MongoDB 4.2.x
- At [RasPi4 8GB RAM announcement](https://www.raspberrypi.org/blog/8gb-raspberry-pi-4-on-sale-now-at-75/) xet7 found [Raspberry Pi OS 64bit image](https://downloads.raspberrypi.org/raspios_arm64/images/) for RasPi3 and RasPi4.. xet7 did not notice any problems yet with Raspberry Pi OS arm64. [Info why it's not called Raspbian arm64](https://www.tomshardware.com/news/raspberry-pi-os-no-longer-raspbian).
- There is [MongoDB Server Community Edition webpage](https://www.mongodb.com/download-center/community) that has Ubuntu 18.04 Linux arm64 server .deb package of MongoDB 4.2.x that works with Raspberry OS 64bit.
- You see what is newest Node.js 12.x version from [Nodejs.org](https://nodejs.org/en/).
## Ubuntu 20.04
- [Ubuntu 20.04 Server arm64](http://cdimage.ubuntu.com/ubuntu/releases/20.04/release/) for RasPi3 and RasPi4
- Try [MongoDB Server Community Edition webpage](https://www.mongodb.com/download-center/community) that has Ubuntu 18.04 Linux arm64 server .deb package of MongoDB 4.2.x, or MongoDB 3.6.x from repos
- Newest Wekan with newest Meteor
If you have RasPi3, 1 GB RAM can only run Wekan Node.js + MongoDB. There is not enough RAM to run also Ubuntu desktop at the same RasPi.
If you have RasPi3, you can install textmode webbrowser, and download files with it:
```
sudo apt-get install elinks
elinks https://releases.wekan.team/raspi3/
```
If you have RasPi4 with 4 GB RAM, you can also install Ubuntu Desktop with:
```
sudo apt-get install ubuntu-desktop
```
Note: Raspbian is not recommended, because it is 32bit and has [32bit MongoDB that has file size limit of 2 GB](https://www.mongodb.com/blog/post/32-bit-limitations), if it grows bigger then it gets corrupted. That's why here is 64bit arm64 version of Ubuntu.
### 1. Download Ubuntu 19.10 64bit Server for RasPi and write to SD Card
Download from: https://ubuntu.com/download/raspberry-pi
Alternatively, if that link does not work, go to https://ubuntu.com, Download, IoT RasPi arm, and there select 64bit Server for your RasPi.
It seems that [RasPi website](https://www.raspberrypi.org/documentation/installation/installing-images/) recommends [BalenaEtcher GUI](https://www.balena.io/etcher/) for writing image to SD Card.
For Linux dd users, after unarchiving in file manager, if sd card is /dev/sdb, it's for example:
```
sudo su
dd if=ubuntu.img of=/dev/sdb conv=sync bs=40M status=progress
sync
exit
```
And wait for SD card light stop blinking, so it has written everything.
### 2. Preparing for booting RasPi
With RasPi, you need:
- Ubuntu SD card inserted to your RasPi.
- Ethernet cable connected to your router/modem/hub, with connection to Internet.
- USB keyboard and mouse connected.
- Monitor connected to HDMI. Or alternatively, look at your router webpage http://192.168.0.1 (or similar) what is your RasPi IP address, and ssh ubuntu@192.168.0.x with password ubuntu.
- Power cable.
Boot RasPi.
Username: ubuntu
Password: ubuntu
This info is from https://wiki.ubuntu.com/ARM/RaspberryPi
It will ask you to change your password at first login.
### 3. Wait for updates to finish
After login, type:
```
top
```
When you see `apt` or `dpkg`, automatic updates are still running. Wait for updates to finish. Then press `q` to quit top.
### 4. Install remaining updates and reboot
```
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo reboot
```
### 5. Login and install Wekan related files
Look at webbrowser files at https://releases.wekan.team/raspi3/
Or install elinks textmode browser and download with it:
```
sudo apt-get install elinks
elinks https://releases.wekan.team/raspi3
```
Download and open README.md, there could be text similar to this:
```
README
Currently uses Node v12.16.1 and MongoDB v3.x or v4.x
Built on Ubuntu 19.10 arm64 on RasPi4.
Should work on RasPi3 and RasPi4 on Ubuntu 19.10 64bit.
```
Install these:
```
sudo apt-get install npm mongodb-server mongodb-clients mongo-tools zip unzip
sudo npm -g install npm
sudo npm -g install n
```
Then from README.md you downloaded, look at Node version, and install it, for example:
```
sudo n 12.16.1
```
Then look again files:
```
elinks https://releases.wekan.team/raspi3/
```
Download there from files like these:
```
wget https://releases.wekan.team/raspi3/wekan-3.xx-arm64.zip
```
Also download newest start-wekan.sh:
```
wget https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh
```
With elinks, you can use arrow keys to navigate, and enter to download file to current directory.
Then unzip file:
```
unzip wekan*.zip
```
### 6. Running Wekan as service
If you would like to run node as non-root user, and still have node at port 80, you could add capability to it, by first looking where node binary is:
```
which node
```
And then adding capability to that path of node, for example:
```
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
```
This is modified version from https://www.certdepot.net/rhel7-install-wekan/
Edit this new service file:
```
sudo nano /etc/systemd/system/wekan.service
```
There add this text:
```
[Unit]
Description=The Wekan Service
After=syslog.target network.target
[Service]
EnvironmentFile=/etc/default/wekan
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/bundle
ExecStart=/usr/local/bin/node main.js
Restart=on-failure
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
```
Look at what is your IP address at eth0, for example 192.168.0.x, with this command, and write it somewhere to your other computer or phone or paper:
```
ip address
```
IP address will be added as your ROOT_URL.
You could also login to your router for example at http://192.168.0.1 to set static IP pointing always to your specific RasPi IP address, so that address would not change.
Then edit this file:
```
sudo nano /etc/default/wekan
```
There add this text:
```
NODE_ENV=production
WITH_API=true
MONGO_URL=mongodb://127.0.0.1:27017/wekan
ROOT_URL=http://192.168.0.x
PORT=80
```
There are [many more other possible settings here that you can optionally add](https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh)
After that start and enable Wekan:
```
sudo systemctl start wekan
sudo systemctl enable wekan
```
Wekan should work at your ROOT_URL in your webbrowser like http://192.168.0.x
## 7. Optional: Email
Note: Configuring email is not required to use Wekan.
If you really would like to install email sending server,
you could install [postfix](https://github.com/wekan/wekan-bash-install-autoupgrade/blob/master/install.sh#L63-L67), but that would probably make your mail to spam banning lists. You would add to above settings:
```
MAIL_URL='smtp://127.0.0.1:25/'
MAIL_FROM='Board Support <wekan@example.com>'
```
It is much more recommended to use [email sending service like AWS SES or some other service](Troubleshooting-Mail) that can ensure delivering email correctly, for Wekan email notifications etc.
## 8. Optional: Nginx and Let's Encrypt SSL
If your router has ports forwarded to your RasPi (in virtual server settings at http://192.168.0.1), then you could also [install nginx and Let's Encrypt SSL](https://github.com/wekan/wekan-bash-install-autoupgrade/blob/master/install.sh) in front of Wekan.
## 9. Updating Wekan
Stop Wekan and move old stuff away:
```
sudo systemctl stop wekan
mkdir old
mv wekan*.zip old/
mv bundle old/
```
Download new Wekan version:
```
elinks https://releases.wekan.team/raspi3/
```
There with keyboard arrow keys go move to top of newest `wekan-3.xx-arm64.zip` and press Enter to download.
Also check README.md about what Node version newest Wekan uses.
In elinks press `q` to exit elinks
Unzip and start Wekan:
```
unzip wekan*.zip
sudo systemctl start wekan
```
If it works, delete old files:
```
rm -rf old
```
***
# STOP HERE. OLD NOT NEEDED INFO BELOW.
***
### b) Running Wekan with startup script
Look at what is your IP address at eth0, for example 192.168.0.x, with this command, and write it somewhere to your other computer or phone or paper:
```
ip address
```
You could also login to your router for example at http://192.168.0.1 to set static IP pointing always to your specific RasPi IP address, so that address would not change.
Make start-wekan.sh executeable, and edit it:
```
chmod +x start-wekan.sh
nano start-wekan.sh
```
There change ROOT_URL like [described here](https://github.com/wekan/wekan/Settings),
for example your RasPi IP address and port, and MongoDB URL:
```
export ROOT_URL=http://192.168.0.x:2000
export PORT=2000
export MONGO_URL='mongodb://127.0.0.1:27017/wekan'
```
If you would like to run node as non-root user, and still have node at port 80, you could add capability to it, by first looking where node binary is:
```
which node
```
And then adding capability to that path of node, for example:
```
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
```
Then change to start-wekan.sh:
```
export ROOT_URL=http://192.168.0.x
export PORT=80
export MONGO_URL='mongodb://127.0.0.1:27017/wekan'
```
Also in start-wekan changing directory like this:
```
cd bundle
node main.js
```
You need to check that it changes to correct directory, so that it can start `node main.js`
And then start Wekan with:
```
./start-wekan.sh
```
***
## Wekan for RasPi3 arm64 and other CPU architectures
<img src="https://wekan.github.io/wekan-raspi3.png" width="100%" alt="Wekan on RasPi3" />
Newest Wekan:
- Ubuntu 19.10 Server arm64 for RasPi3 and RasPi4
- MongoDB 3.6.x
- Newest Wekan with newest Meteor
To test RasPi3, xet7 tested it with all his Wekan boards data:
```
mongorestore --drop
```
If there is errors in restoring, try:
```
mongorestore --drop --noIndexRestore
```
<img src="https://wekan.github.io/wekan-raspi3-with-all-data.jpg" width="100%" alt="Wekan on RasPi3" />
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.
<img src="https://wekan.github.io/wekan-raspi3-cpu-usage.jpg" width="100%" alt="Wekan on RasPi3" />
I did also test Wekan arm64 on arm64 bare metal server, same Wekan bundle worked there.
# Old info below
.7z size 876 MB, unarchived RasPi3 .img size of 4.5 GB. At first boot disk image expands to full SD card size.
https://releases.wekan.team/raspi3/wekan-2.94-raspi3-ubuntu18.04server.img.7z
Or alternatively Wekan Meteor 1.8.1 bundle for arm64:
https://releases.wekan.team/raspi3/wekan-2.94-arm64-bundle.tar.gz
### How to use .img
1) 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
```
2) Login for Wekan files
- Username wekan
- Password wekan (for Wekan files)
(Or for ubuntu user: username ubuntu password ubuntuubuntu)
3) After login as wekan user, check IP address with command:
```
ip address
```
4) 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
5) Restore your Wekan dump subdirectory
```
mongorestore --drop --noIndexRestore
```
6) Start Wekan:
```
./start-wekan.sh
```
And maybe [run as service](https://www.certdepot.net/rhel7-install-wekan/)
Or start at boot, by having [at bottom of /etc/rc.local](https://github.com/wekan/wekan/blob/main/releases/virtualbox/etc-rc.local.txt).
7) 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
```
There edit [ROOT_URL to have your IP address or domain, and PORT for your localhost port](Settings).
You can also allow node to run on port 80, when you check where node is:
```
which node
```
and then allow it:
```
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
```
[Adding users](Adding-users)
#### Upgrade bundle
Stop Wekan. See what is newest bundle version at https://releases.wekan.team .
Then, for example:
```
cd ~/repos
rm -rf bundle
wget https://releases.wekan.team/wekan-3.01.zip
unzip wekan-3.01.zip
cd bundle/programs/server
npm install
npm install node-gyp node-pre-gyp fibers (maybe not needed)
cd ../../..
```
Then Start Wekan.
#### 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
```
./start-wekan.sh
```
#### 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
1) 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](https://github.com/wekan/meteor/commit/014fe0469bc75eb0371b90464befebc883a08a26). 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.
2) Ubuntu Server for RasPi3 from https://www.raspberrypi.org/downloads/
Write to SD card.
Boot:
- Username ubuntu
- Password ubuntu
- It asks to change password at first boot.
3) Create new user:
```
sudo adduser wekan
```
Add name wekan, password wekan, and then other empty with Enter, and accept with Y.
4) 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
5) Logout, and login
- Username wekan
- Password wekan
6) Download bundle etc
See above about downloading bundle, start-wekan.sh, dependencies etc.
7) Shutdown RasPi3
```
sudo shutdown -h now
```
8) At computer, insert SD card and unmount partitions:
```
sudo umount /dev/mmcblk0p1 /dev/mmcblk0p2
```
9) Read SD card to image
```
sudo dd if=/dev/mmcblk0 of=wekan-2.94-raspi3-ubuntu18.04server.img conv=sync status=progress
```
10) Resize image to smaller from 32 GB to 4.5 GB:
Resize script is [originally from here](https://evilshit.wordpress.com/2014/02/07/how-to-trim-disk-images-to-partition-size/).
```
wget https://releases.wekan.team/raspi3/resize.sh
chmod +x resize.sh
sudo ./resize.sh wekan-2.94-raspi3-ubuntu18.04server.img
```
11) 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
```

View file

@ -0,0 +1,65 @@
## Sandstorm Website
[Sandstorm Website](https://sandstorm.io)
If you have any grains at Sandstorm's **Oasis montly paid service**, please move those to self-hosted, because [only **Oasis grain hosting** part is shutting down](https://sandstorm.io/news/2019-09-15-shutting-down-oasis) - [HN](https://news.ycombinator.com/item?id=20979428). This does not affect any other parts like self-hosting at sandcats.io, App Market, updates, etc.
Works on Ubuntu 64bit, on Debian 64bit.
[Security audited](https://sandstorm.io/news/2017-03-02-security-review), recommended for security critical use on public internet or internal network. [Sandstorm Security Features](https://docs.sandstorm.io/en/latest/using/security-practices/). Sandstorm is [completely Open Source](https://sandstorm.io/news/2017-02-06-sandstorm-returning-to-community-roots), including [Blackrock Clustering](https://github.com/sandstorm-io/blackrock).
Install to your own server. Automatic updates, tested before release. Sandstorm Wekan has different features than Standalone.
**Works**
- Google/GitHub/LDAP/SAML/Passwordless email login.
- Import from Wekan JSON.
- Free SSL at https://yourservername.sandcats.io domain.
- [Rescuing MongoDB data from Sandstorm Grain .zip file to Standalone Wekan](Export-from-Wekan-Sandstorm-grain-.zip-file)
**Does not work**
- [Sandstorm open issues](https://github.com/wekan/wekan/issues?q=is%3Aissue+is%3Aopen+sandstorm+label%3ATargets%3ASandstorm)
- Import from Trello does not import attachments, because Sandstorm-compatible HTTP-access from Wekan to outside of Wekan grain sandbox is not implemented yet
- [Copying/Moving card to another board](https://github.com/wekan/wekan/issues/1729).
- [REST API](https://github.com/wekan/wekan/issues/1279)
- [Outgoing Webhooks](Outgoing-Webhook-to-Discord)
- [Email from Wekan](https://github.com/wekan/wekan/issues/2208#issuecomment-469290305)
## Demo
[![Try on Sandstorm][sandstorm_button]][sandstorm_appdemo]
## Keep backups
- Keep backups. Download your Wekan grains.
- It's possible to [Export from Wekan Sandstorm grain .zip file to rescue data](Export-from-Wekan-Sandstorm-grain-.zip-file)
## Wekan App
Wekan at [experimental](https://apps.sandstorm.io/app/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h?experimental=true) or [official](https://apps.sandstorm.io/app/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h) Sandstorm App Market. Note: Only use official. Experimental versions are broken.
Newest Wekap app .spk file download at https://releases.wekan.team/sandstorm/
## Bug reports and Feature Requests
[Wekan for Sandstorm bug reports and feature requests](https://github.com/wekan/wekan/issues)
[Sandstorm bug reports and feature requests](https://github.com/sandstorm-io/sandstorm/issues)
## Building Wekan for Sandstorm
[Building Wekan for Sandstorm](https://github.com/wekan/wekan-maintainer/wiki/Building-Wekan-for-Sandstorm)
## Wekan Sandstorm cards to CSV using Python
[Wekan Sandstorm cards to CSV using Python](Wekan-Sandstorm-cards-to-CSV-using-Python)
## Importing to Trello workaround
It is not possible to import attachments directly from Trello when using Sandstorm version of Wekan. This is because Wekan is in secure sandbox at Sandstorm, and does not yet have Sandstorm-compatible way to import attachments from outside of Sandstorm. You need to:
1. Install Standalone version of Wekan, for example Docker/Snap/VirtualBox, for example to your own computer
2. Import board from Trello
3. Export board as Wekan board. Exported JSON file includes attachments as base64 encoded files.
4. Import board as Wekan board to Sandstorm.
[sandstorm_button]: https://img.shields.io/badge/try-Wekan%20on%20Sandstorm-783189.svg
[sandstorm_appdemo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h

View file

@ -0,0 +1,36 @@
This is totally oversimplified TLDR comparison that leaves out a lot of details.
## Both Wekan and Sandstorm
* Authentication
* Admin Panel
* Wekan kanban board
* Can be installed to Ubuntu 16.04 64bit without Docker
* Can run inside Docker, see [Sandstorm within Docker](https://docs.sandstorm.io/en/latest/install/#option-6-using-sandstorm-within-docker)
## Difference: User interface
### Wekan
[Themes feature](https://github.com/wekan/wekan/issues/781), pull requests welcome.
### Sandstorm
[Themes feature](https://github.com/sandstorm-io/sandstorm/issues/1713#issuecomment-301274498), pull requests welcome.
[Current Admin Panel / Authentication screenshots](https://discourse.wekan.io/t/sso-passing-variables-through-url/493/8).
The user interface in Sandstorm is one of Sandstorm's [long list of high-end security features](https://docs.sandstorm.io/en/latest/using/security-practices/) protecting potentially malicious applications running on Sandstorm sandboxes/grains to hijack whole full screen interface and do phishing of information, stealing admin credentials when replacing admin menus, etc. It's black to be totally recognizable and different from other applications. Having it hidden or on not so dark would make new users to not find it. There has been usability testing of Sandstorm's user interface. Sandstorm has been fully security audited and found problems fixed already.
## Difference: Hardware requirements
### Wekan
* Can run on less powerful hardware than Sandstorm
* Could potentially run on ARM, if there is Meteor.js port for ARM. Some platform running on Raspberry Pi could already have Wekan, someone needs to do more research about it.
### Sandstorm
* Works only on x64 platform
* Requires at least 1GB RAM
* Is very efficient in handling RAM, shutting down sandboxes/grains when they are not in use.

View file

@ -0,0 +1,72 @@
# Install Wekan on SmartOS
based on: https://github.com/greinbold/install-wekan/blob/master/v0.32/freebsd-11.0-RELEASE.md
Used https://github.com/skylime/mi-core-base 1963511a-19d8-4646-90b4-09ecfad1d3ac core-base 16.4.7
## Prerequisites
Add user `wekan`
# useradd -m wekan -s /usr/bin/bash
Install prerequisites packages
# pkgin install mongodb
## if this failes use
# pkg_add https://pkgsrc.smartos.skylime.net/packages/SmartOS/2016Q4/x86_64/All/mongodb-3.2.10.tgz
# pkgin install nodejs curl # 8
# pkgin install gmake gcc5 git jq # build requirements
Enable MongoDB
# /usr/sbin/svcadm enable -r svc:/pkgsrc/mongodb:default
## Installation
Newest wekan-VERSION.zip at https://releases.wekan.team
As wekan
$ cd
$ curl https://releases.wekan.team/wekan-0.89.tar.gz --output wekan-bundle.tar.gz
$ tar -xzpf wekan-bundle.tar.gz
As root
# chown -R wekan:wekan /home/wekan/bundle
As wekan
$ su wekan
$ cd ~/bundle/programs/server
$ npm install # this might be optional - needs testing
$ export CXX="/opt/local/gcc5/bin/g++ -m64"
$ export CC="/opt/local/gcc5/bin/gcc -m64"
$ export CPPFLAGS="-I/opt/local/include"
$ ln -s /opt/local/bin/node /opt/local/bin/nodejs
$ npm install fibers
$ npm install bcrypt
$ cd ~/bundle/programs/server/npm
$ npm install bson-ext@$(jq -r .version < node_modules/bson-ext/package.json)
$ npm install bcrypt@$(jq -r .version < node_modules/bcrypt/package.json)
$ # find more packages with native modules: find ~/bundle/ | grep "binding.gyp$"
## Run
Considering that we set the shell for user wekan to `/usr/bin/bash`, the following ENV variables can be set according the following method before starting of Wekan. These must be adapted according the shell.
$ export MONGO_URL=mongodb://127.0.0.1:27017/wekan
$ export ROOT_URL=https://example.com
$ export MAIL_URL=smtp://user:pass@mailserver.example.com:25/
$ export MAIL_FROM=wekan-admin@example.com
$ export PORT=8080
Now it can be run
$ cd ~/bundle
$ node main.js
## Cleanup
$ pkgin rm gmake gcc5 git jq # remove build requirements

View file

@ -0,0 +1,5 @@
### Snap
[Install Snap](https://github.com/wekan/wekan-snap/wiki/Install) <=== **EASIEST INSTALL, UPDATES AUTOMATICALLY**. Available for [many Linux 64bit distros](https://snapcraft.io). Has [Caddy automatic SSL integration](https://github.com/wekan/wekan-snap/wiki/Supported-settings-keys).
[Snap bug reports and feature requests](https://github.com/wekan/wekan-snap/issues)

View file

@ -0,0 +1,112 @@
## Build from source on Mac
[Build from source on Mac](Mac)
## Build from source on VirtualBox
At [Virtual Appliance](virtual-appliance) there is build scripts and all dependencies installed already.
## Build from source on Linux
To have [Node 100% CPU fixes](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v084-2018-04-16-wekan-release): Increase ulimit for node in systemd config to 100 000
Wekan:
- On any x64 hardware that has Ubuntu 14.04 or Debian 9 or newer installed directly or in VM:
[Build from source scripts](https://github.com/wekan/wekan/tree/edge/releases/virtualbox)
Wekan Meteor Bundle:
1. [Build from source scripts](https://github.com/wekan/wekan/tree/edge/releases/virtualbox) built on [Wekan VirtualBox Ubuntu 14.04 64bit](virtual-appliance)
2. Copy arhive directory wekan/.build/bundle to .zip file so it includes bundle directory and subdirectories as wekan-1.xx.tar.gz
Wekan for Sandstorm:
- Install above Wekan from source
- Install [Sandstorm locally](https://sandstorm.io/install) with `curl https://install.sandstorm.io | bash`, select dev install
- Install [meteor-spk](https://github.com/sandstorm-io/meteor-spk)
- Get 100% CPU issue fibers fixed node, and copy it to spk directory:<br />
`wget https://releases.wekan.team/node`<br />
`chmod +x node`<br />
`mv node ~/projects/meteor-spk/meteor-spk-0.4.0/meteor-spk.deps/bin/`
- Add to your /home/username/.bashrc : <br /> `export PATH=$PATH:$HOME/projects/meteor-spk/meteor-spk-0.4.0`
- Close and open your terminal, or read settings from .bashrc with<br />`source ~/.bashrc`
- `cd wekan && meteor-spk dev`
- Then Wekan will be visible at local sandstorm at http://local.sandstorm.io:6080/
- Sandstorm commands: `sudo sandstorm`. [Release scripts](https://github.com/wekan/wekan-maintainer/tree/master/releases). Official releases require publishing key that only xet7 has.
Docker:
- `git clone https://github.com/wekan/wekan`
- `cd wekan`
- Edit docker-compose.yml script ROOT_URL etc like documented at https://github.com/wekan/wekan-mongodb docker-compose.yml script
- `docker-compose up -d --build`
Wekan on Windows:
- [Docker, Windows Subsystem for Linux, and compile from source on Windows](Windows)
### (Optional) Run Wekan as service with startup script
[Build from source scripts](https://github.com/wekan/wekan-maintainer/tree/master/virtualbox) - from there run node-allow-port-80.sh and add etc-rc.local.txt before last line in your /etc/rc.local
### (Optional) Run Wekan as service with SystemD on Linux
This may need testing, does this work.
Add to to /etc/systemd/system/wekan@.service
```bash
; see `man systemd.unit` for configuration details
; the man section also explains *specifiers* `%x`
; update <username> with username below
[Unit]
Description=Wekan server %I
Documentation=https://github.com/wekan/wekan
After=network-online.target
Wants=network-online.target
Wants=systemd-networkd-wait-online.service
[Service]
ExecStart=/usr/local/bin/node /home/<username>/repos/wekan/.build/bundle/main.js
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
User=<username>
Group=<username>
Environment=NODE_ENV=production
Environment=PWD=/home/<username>/repos/wekan/.build/bundle
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1
Environment=MONGO_URL=mongodb://127.0.0.1:27017/admin
; https://example.com/wekan for deployment
Environment=ROOT_URL=http://localhost/wekan
Environment=MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
[Install]
WantedBy=multi-user.target
```
#### To start Wekan and enable service, change to your username where Wekan files are:
```bash
sudo systemctl daemon-reload
sudo systemctl start wekan@<username>
sudo systemctl enable wekan@<username>
```
#### To stop Wekan and disable service, change to your username where Wekan files are:
```bash
sudo systemctl daemon-reload
sudo systemctl stop wekan@<username>
sudo systemctl disable wekan@<username>
```
Checkout instructions for setup with [[Caddy Webserver Config]] and [[Nginx Webserver Config]] respectively.
## Windows
Building on Windows (if it works) is a lot slower than on Linux/Mac.
[Windows](Windows)

View file

@ -0,0 +1,49 @@
<img src="https://wekan.github.io/hosting/univention.svg" width="30%" alt="Univention logo" />
## <a name="ProductionUnivention"></a>Production: [Univention](https://www.univention.com/products/univention-app-center/app-catalog/wekan/) platform, many apps and WeKan ®
- Virtual Appliances Download: [VirtualBox, KVM, VMware, VMware ESX](https://www.univention.com/products/univention-app-center/app-catalog/wekan/)
- [Video of installing Univention WeKan ® Appliance](https://wekan.github.io/UCS-4.4-with-wekan-10.200.2.25.webm)
- After installing, you get license key file in email. Go with webbrowser to VM ip address like http://192.x.x.x and upload license. After that also on VM screen console login as root is possible. If you install KDE app from App Center with webbrowser, you get KDE on VM screen.
- [WeKan ® for Univention Feature Requests and Bug Reports](https://github.com/wekan/univention/issues)
- [Univention Open Source repos](https://github.com/Univention)
- [Univention interview at FLOSS Weekly 480](https://twit.tv/shows/floss-weekly/episodes/480)
- VM based on Debian. Free and Enterprise versions of Univention are same, only difference is paid support.
- Univention VM can be standalone, or replace Windows Server Active Directory, or join to existing Active Directory. Has web UI, LDAP server, Users/Groups management, adding user to app.
- WeKan ® LDAP login is integrated to Univention LDAP. Create at Univention web UI at Users management LDAP Domain Admin user, and add WeKan ® app for that user, to get WeKan ® Admin Panel. Normal users don't have Admin Panel.
- Has WeKan ® . From App Center you can install RocketChat, WordPress, OnlyOffice, NextCloud, OpenXChange, etc. Some apps are full free versions, some other apps require payment for more features. WeKan ® is full free version.
- WeKan ® on Univention is based WeKan ® Docker version. Upgrading all apps on Univention upgrades also WeKan ® to newest available WeKan ® version.
- Newer version of WeKan ® will be released when building and testing is done.
- [RocketChat Webhook workaround](https://github.com/wekan/univention/issues/15)
## Feature Requests and Bugs
[WeKan ® for Univention Feature Requests and Bugs](https://github.com/wekan/univention/issues)
## Gantt
[How to use Gantt](Gantt)
UCS WeKan v5.71 and newer is using WeKan Gantt GPL version. [Source](https://github.com/wekan/wekan/issues/2870#issuecomment-954598565).
## Email on Univention
[Source](https://github.com/wekan/univention/issues/6#issuecomment-607986717)
### 1) WeKan ® product page, scroll down
![ucs-mail-1](https://user-images.githubusercontent.com/15545/78279227-e682f700-751f-11ea-83fc-d22bc71b77fb.png)
### 2) Click APP SETTINGS
![ucs-mail-2](https://user-images.githubusercontent.com/15545/78279301-fdc1e480-751f-11ea-9d7b-1632c71cd79a.png)
### 3) Mail Settings
https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
![ucs-mail-3](https://user-images.githubusercontent.com/15545/78279359-129e7800-7520-11ea-9e22-a911826285ba.png)
# Repairing MongoDB
https://github.com/wekan/wekan/wiki/Repair-MongoDB

View file

@ -0,0 +1,25 @@
## Install
On [Ubuntu Core KVM Download page](https://ubuntu.com/download/kvm) local x64 VM:
```
ssh -p 8022 username@localhost
snap install wekan
snap set wekan root-url='http://localhost:8090'
snap set wekan port='80'
```
Then Wekan is visible at http://localhost:8090
[Adding users](Adding-users)
List of Wekan Snap settings:
```
wekan.help | less
```
More info about Wekan Snap [Snap Install page](https://github.com/wekan/wekan-snap/wiki/Install) and right menu on that page.
[Documentation](https://github.com/wekan/wekan/wiki)

View file

@ -0,0 +1,40 @@
## Using Vagrant and VirtualBox on an Ubuntu 16.04 64bit
1) Download Vagrant https://www.vagrantup.com/
and Virtualbox https://www.virtualbox.org/wiki/Downloads
2) In CMD or BASH `mkdir wekan_vagrant`
3) `cd wekan_vagrant`
4) `vagrant init -m ubuntu/xenial64`
5) Open up the vagrantfile in a text editor and copy this into it:
```
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network "forwarded_port", guest: 8080, host: 8080
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
end
```
6) Create a new text file in the same folder and call it bootstrap.sh
7) Copy this into the sh file
```
#!/usr/bin/env bash
sudo apt-get update
sudo snap install wekan
sudo snap set wekan root-url="http://localhost:8080"
sudo systemctl restart snap.wekan.wekan
```
8) Type 'vagrant up' to start the VM and wait for it to boot.
9) Got to your local browser and type in `localhost:8080`
10) You can go inside VM with `vagrant ssh`
11) Look at [Ubuntu snap wiki](https://github.com/wekan/wekan-snap/wiki) for additional configuration, backups etc
## Deleting
Once your done testing your Vagrantbox just go back to the cmd line and type `vagrant destroy` And it completely wipes any trace of the test environment from your system, however you can very very easily rebuild it by doing another `vagrant up` **Note: This will not save any data you may have put into Wekan!!!**

View file

@ -0,0 +1,84 @@
## About OpenPower
- [OpenPOWER Foundation](https://openpowerfoundation.org)
- [University of Campinas - Unicamp Minicloud](https://openpower.ic.unicamp.br), that was before available, but now is closed
[xet7](https://github.com/xet7), as maintainer of [Wekan](https://wekan.github.io), got access to ppc64le at
at University of Campinas - Unicamp Minicloud. Unicamp is member of [OpenPOWER Foundation](https://openpowerfoundation.org). At Minicloud OpenStack, xet7 created Ubuntu 20.10 VM, and at 2020-12-22 ported Wekan to ppc64le very similarly like previously for [s390x](s390x).
## Installing MongoDB on OpenPower Ubuntu 20.04 ppc64le
This Snap package https://snapcraft.io/juju-db , created by Canonical, has MongoDB for various CPU architectures . It is internal package for Canonical's Juju service https://jaas.ai . Snap repo at https://github.com/juju/juju-db-snap and copy at https://github.com/wekan/mongodb-snap
```
ssh yourserver
sudo apt install snapd nano
sudo reboot
sudo snap install juju-db
sudo snap refresh juju-db --channel=5.3/stable
sudo snap enable juju-db
sudo snap start juju-db
nano .bashrc
```
There add path to commands mongo, mongodump, mongorestore etc
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/juju-db/138/usr/lib/powerpc64le-linux-gnu
export PATH="$PATH:/snap/juju-db/138/bin"
```
Save and exit: Ctrl-o Enter Ctrl-x
Now MongoDB is at localhost port 27017. You connect to CLI with command:
```
mongo
```
## Download
- wekan-VERSION-ppc64le.zip at https://releases.wekan.team/ppc64le/
- nodejs for linux ppc64le at https://nodejs.org/dist/latest-v14.x/
## Install
Installing is similar like at https://github.com/wekan/wekan/wiki/Raspberry-Pi
You can start it with start-wekan.sh from https://github.com/wekan/wekan or add SystemD service.
Setup ROOT_URL like described at https://github.com/wekan/wekan/wiki/Settings
At https://github.com/wekan/wekan/wiki is also info about Caddy/Nginx/Apache etc.
Some related links also at https://github.com/wekan/wekan/wiki/Platforms
## How this ppc64le bundle package was created
1. Install Node.js
2. scp wekan-VERSION.zip bundle to ppc64le server, and unzip it
2. Clone and build Fibers, copy fibers to bundle, and zip bundle.
```
git clone https://github.com/laverdet/node-fibers
cd node-fibers
npm install
node build.js
cd ..
cp -pR /home/ubuntu/node-fibers/bin/linux-ppc64-72-glibc bundle/programs/server/node_modules/fibers/bin/
zip -r wekan-VERSION-ppc64le.zip bundle
```
## OLD INFO: About MongoDB for OpenPower
Working:
- Official MongoDB binaries for OpenPower are available as part of MongoDB Enterprise subscription.
Other options:
- There is no Community version of MongoDB binaries for OpenPower available, like there is for other CPUs like x64/arm64/s390x.
- xet7 did not yet get MongoDB successfully built from source for OpenPower.
- There are some unofficial MongoDB Docker images by random people, but they could be old versions of MongoDB, and there is no guarantee they don't have any malicious code.
- If sometime in the future some working database binaries become available, link to them will be added here.
- If sometime in the future support for other databases is added to Wekan, info about it could be added here, although adding support for other databases could be a lot of work.

View file

@ -0,0 +1,202 @@
## About s390x
- Dave's Garage at 2023-10: Why Do Mainframes Still Exist? What's Inside One? 40TB, 200+ Cores, AI, and more! https://www.youtube.com/watch?v=ouAG4vXFORc
- https://en.wikipedia.org/wiki/Linux_on_IBM_Z
- [FLOSS 564 Interview about Open Mainframe Project](https://twit.tv/shows/floss-weekly/episodes/564?autostart=false)
- [Open Mainframe Project](https://www.openmainframeproject.org)
- [LinuxOne Community Cloud](https://developer.ibm.com/linuxone/)
- [SWLUG Talk - Linux on the IBM Z mainframe platform](https://www.youtube.com/watch?v=V-5dqnTd09k)
- https://wiki.qemu.org/Documentation/Platforms/S390X
- https://arstechnica.com/information-technology/2023/07/the-ibm-mainframe-how-it-runs-and-why-it-survives/
- https://sdl-hercules-390.github.io/html/
- Big-endian s390x https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/javier-perez1/2021/01/19/endianness-guidance-for-open-source-projects
***
## Petclinic s390x
2024-01-20 Petclinic fork https://github.com/xet7/pet , with command `blink redbean.com`
- With Petclinic website, it is possible to add pets, visits to clinic, etc. There is no login system, it is possible to add to database directly at website http://127.0.0.1:8000/ or http://YOUR-COMPUTER-IP-ADDRESS:8000/
- When xet7 added issue about blink segfault at s390x, 5 minutes later jart added fix https://github.com/jart/blink/issues/162
- Blink is x86_86 emulator, similar to qemu https://github.com/jart/blink . With blink, it works at Linux s390x. Without blink, it works at x86_86/arm64 Win/Mac/Linux/BSD, but ASAN security feature does not work yet at arm64, like mentioned at Makefile of https://github.com/xet7/pet . If there is errors, maybe you need to run it with `chmod +x redbean.com && sh -c ./redbean.com`, or also need to install `ape` from https://github.com/jart/cosmopolitan .
- Redbean is webserver https://redbean.dev
- Fullmoon is Lua web framework https://github.com/pkulchenko/fullmoon . Petclinic has fork of Fullmoon, making possible to use SQLite across CGI-like Lua processes of Redbean, like mentioned at Readme https://github.com/xet7/pet
- SQLite has triggers, and it's possible to Redbean's cron like scheduled actions
- By using Makefile with `make all` or `make start` it makes one executeable. When starting, it creates SQLite database to same directory, adding data, with `srv/.lua/*.sql`
- At fork https://github.com/xet7/pet , xet7 added all external `.sql`, Javascript and CSS dependencies directly inside executeable. This can be seen at Makefile, where files from `srv` directory are are added to `.zip` file, that is added to end of `redbean.com` executeable.
- Releases at https://github.com/xet7/pet/releases
### Petclinic Benchmark
At Makefile, xet7 fixed `make benchmark` of wrk benchmarks to to work at Mac M1 `brew install wrk` and Linux `sudo apt install wrk` . But wrk does not yet work at s390x, xet7 added issue about it to https://github.com/jart/blink/issues/163 . If you start with silent mode `./redbean.com -s` , then at M1 Air macOS Sonoma is this benchmark:
```
~/Downloads/pet$ make benchmark
wrk -H 'Accept-Encoding: gzip' -t 12 -c 120 http://127.0.0.1:8000/
Running 10s test @ http://127.0.0.1:8000/
12 threads and 120 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 73.21ms 136.41ms 1.25s 86.04%
Req/Sec 7.72k 12.48k 65.33k 89.46%
600013 requests in 10.09s, 708.40MB read
Socket errors: connect 0, read 427, write 2, timeout 0
Requests/sec: 59485.18
Transfer/sec: 70.23MB
```
### Lua IDE
- It is possible to show hidden files like `.gitignore` with Lua IDE, ZeroBrane Studio, this way, and also debug redbean: https://github.com/xet7/pet/wiki/Redbean
### QuickJS
- Unrelated to Lua, there is also QuickJS (similar like Node.js/Bun/Deno), where it is possible to embed Javascript to same Cosmopolitan x86_85/arm64 Win/Mac/Linux/BSD executeable binary https://github.com/xet7/pet/wiki/QuickJS
***
## Other non-WeKan Open Source projects xet7 tried to build at s390x
- Works:
- TSC platform game, C++ https://secretchronicles.org/en/news/2020/11/16/tsc-for-s390x-available/
- Darkest Hour halloween text adventure game, C89, xet7 ported to 30+ CPU/OS https://github.com/xet7/darkesthour
- Does not work yet:
- V https://github.com/vlang/v/issues/18737
- LLVM, Zig, Bun https://github.com/wekan/wekan-node20#trying-to-compile-llvm-for-zig-and-bun-at-s390x-fails
- Deno, because Rust ring (a crypto dependency) does not support s390x https://github.com/wekan/wekan-node20#trying-to-compile-deno-for-s390x-fails
Ported by others, not xet7:
- PostreSQL https://news.ycombinator.com/item?id=38398305
## From xet7, WeKan at s390x
- https://www.openmainframeproject.org/blog/2020/11/20/wekan-open-source-kanban-on-s390x
[xet7](https://github.com/xet7), as maintainer of [WeKan](https://wekan.github.io), got access to mainframe at IBM LinuxOne Community Cloud. Access to those servers is monitored, it's running on a real mainframe.
Previously xet7 had ssh access. At 2023-09 xet7 got web console access, and IBM bumped quota to 2 VMs with 8 GB of memory, 200 GB disk and 4 CPUs each. At web console it is possible to create and remove VMs, and select distro like RHEL/SUSE/Ubuntu. xet7 did do-release-upgrade to upgrade newest Ubuntu 23.10.
## Download
- wekan-VERSION-s390x.zip at https://releases.wekan.team/s390x/
## Installing MongoDB for s390x
This Snap package https://snapcraft.io/juju-db , created by Canonical, has MongoDB for various CPU architectures . It is internal package for Canonical's Juju service https://jaas.ai . Snap repo at https://github.com/juju/juju-db-snap and copy at https://github.com/wekan/mongodb-snap
Install Snap for your distro https://snapcraft.io/docs/installing-snapd
Then:
```
ssh yourserver
sudo dnf install nano
sudo reboot
sudo snap install juju-db
sudo snap refresh juju-db --channel=5.3/stable
sudo snap enable juju-db
sudo snap start juju-db
nano .bashrc
```
There add path to commands mongo, mongodump, mongorestore etc
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/juju-db/139/usr/lib/s390x-linux-gnu
export PATH="$PATH:/snap/juju-db/139/bin"
```
Save and exit: Ctrl-o Enter Ctrl-x
Exit ssh, and ssh to server again,
```
exit
ssh yourserver
```
Or alternatively just read new paths to mongo etc commands:
```
source .bashrc
```
Now MongoDB is at localhost port 27017. You connect to CLI with command:
```
mongo
```
### RHEL 8
New info 2022-01-18:
1. Install snapd https://snapcraft.io/docs/installing-snap-on-red-hat
2. Reboot
3. Install MongoDB, so it will be at port 27017:
```
sudo snap install mongo36-configurable
```
4. Install WeKan s390x bundle from:
- [Raspberry Pi](Raspberry-Pi)
- https://releases.wekan.team/s390x/
Old info:
```
sudo yum -y update
sudo yum -y install git nano npm curl wget podman-docker openssl-devel libcurl-devel clang zip unzip
docker run --name wekan-db -d -p 127.0.0.1:27017:27017 mongo
sudo npm -g install n
sudo n 12.18.0 ## newest 12.x from https://nodejs.org
mkdir repos
cd repos
git clone https://github.com/wekan/wekan
cp wekan/start-wekan.sh .
nano start-wekan.sh
# Edit start-wekan.sh for ports and paths, so starts
# "node main.js" at "build" directory".
# Look for version number from https://releases.wekan.team/s390x/
wget https://releases.wekan.team/s390x/wekan-VERSION-s390x.zip
unzip wekan*s390x.zip
./start-wekan.sh
```
### RHEL 7
Node.js LTS newest 12.x release for s390x can be downloaded from https://nodejs.org
MongoDB v4.x Community Server for s390x RHEL7 is at https://www.mongodb.com.
For example files can be like these filenames:
- mongodb-org-mongos-4.2.3-1.el7.s390x.rpm
- mongodb-org-server-4.2.3-1.el7.s390x.rpm
- mongodb-org-shell-4.2.3-1.el7.s390x.rpm
- mongodb-org-tools-4.2.3-1.el7.s390x.rpm
## Install
Installing is similar like at [Raspberry Pi](Raspberry-Pi)
You can start it with start-wekan.sh from https://github.com/wekan/wekan or add SystemD service.
Setup ROOT_URL like described at [Settings](Settings)
At wiki is also info about Caddy/Nginx/Apache etc.
Some related links also at [Platforms](Platforms)
## How this s390x bundle package was created for RHEL 7
1. Install Node.js
2. scp wekan-VERSION.zip bundle to s390x server, and unzip it
2. Clone and build Fibers, copy fibers to bundle, and zip bundle.
```
git clone https://github.com/laverdet/node-fibers
cd node-fibers
node build.js
cd ..
cp -pR /home/linux1/node-fibers/bin/linux-s390x-72-glibc bundle/programs/server/node_modules/fibers/bin/
zip -r wekan-VERSION-s390x.zip bundle
```

View file

@ -0,0 +1,158 @@
## Virtual Appliance by xet7
Requirements: [VirtualBox version 5.2.22 or newer](https://www.virtualbox.org/). Old versions of VirtualBox are not compatible. Both of these have username: wekan , password: wekan , Network Bridged mode so VM has separate IP address so you can also ssh to it.
[Wekan for VirtualBox bug reports and feature requests](https://github.com/wekan/wekan/issues)
a) For general Wekan usage: Only Wekan and building it from source in Ubuntu 14.04 64bit VM.
Download wekan-VERSION.ova at https://releases.wekan.team
b) For Developers, only this one Wekan-Sandstorm.ova needed for all development: for compiling Wekan, Sandstorm, Wekan for Sandstorm, etc, all. Also has Snap, Docker, Firefox, Chrome, Visual Studio Code with Meteor.js additions, GHex hex editor, etc. Based on Debian 9 64bit. Also see https://github.com/sandstorm-io/sandstorm/issues/3047#issuecomment-369002784 about what dependencies were installed for compiling Sandstorm, although after that dependencies have been changed to [automatically download up-to-date Clang from Chromium project](https://github.com/sandstorm-io/sandstorm/commit/4463c3f52093de8f0c546c93cd55a7bb556aa9d7), so it's easier to compile Sandstorm also on Ubuntu, without using Clang ppa.
Wekan-Sandstorm-VERSION.ova at https://releases.wekan.team
### Build scripts
[Scripts from virtual appliance](https://github.com/wekan/wekan-maintainer/tree/master/virtualbox), can be used on any Ubuntu 14.04 64bit or Debian 9 or newer install like native or VM. Includes script how to run Node.js on port 80.
### Wekan Meteor 1.4 and Node.js v4.x version on Ubuntu 14.04 64bit desktop, Gnome fallback, in VirtualBox
- Ubuntu 14.04 64bit desktop with latest updates.
- Wekan installed from source.
- Includes VirtualBox Guest Additions.
### Download
.ova files can be downloaded at https://releases.wekan.team
VirtualBox .ova file contains harddisk image that has current size of 16 GB and maximum growable size of 500GB.
You can enlarge it with VBoxManage command and then starting with LiveCD iso deleting logical swap and
extended and resizing and creating extended and inside it logical swap.
Size of this VirtualBox image has been reduced: [http://acidx.net/wordpress/2014/03/how-to-reduce-the-size-of-virtualbox-vms/](http://acidx.net/wordpress/2014/03/how-to-reduce-the-size-of-virtualbox-vms/).
Use 7zip (Windows) or p7zip (Linux etc) to unarchive.
### Updating VirtualBox image to have newest Wekan
Download newest VirtualBox scripts:
[https://github.com/wekan/wekan-maintainer/tree/master/virtualbox](https://github.com/wekan/wekan-maintainer/tree/master/virtualbox)
There is script rebuild-wekan-meteor-1.6.sh
First do some sudo command so you get to insert sudo password, for example:
```
sudo ls
```
Then run script as as normal user:
```
./rebuild-wekan-meteor-1.6.sh
```
Run it with option 1 at first to install dependencies, and then option 3 to rebuild source code.
### Updating to newest Ubuntu updates
```
sudo apt-get update
```
( password: wekan )
```
sudo apt-get -y dist-upgrade
```
### Instructions
When using VirtualBox bridged mode, you can browse from other computer to http://ipadress
to use Wekan. Node runs on port 80 and is started from /etc/rc.local on boot.
See also README.txt at Ubuntu desktop, scripts at ~/repos directory, and
/home/wekan/.bash_history how it was installed, including typos :)
To login to the virtual machine with ssh port 22:
username: wekan
password: wekan
### Install VirtualBox
VirtualBox is available for example Windows, Mac, Linux and Solaris from:
* VirtualBox website: [https://virtualbox.org](https://virtualbox.org)
### How to use
a) Import Virtual Appliance .ova
b) Extract .ova to use as .vmdk for virtualization raw .img for Qubes OS:
[https://www.qubes-os.org/doc/hvm/#converting-virtualbox-vm-to-hvm](https://www.qubes-os.org/doc/hvm/#converting-virtualbox-vm-to-hvm)
These settings are for example with VirtualBox:
* new Ubuntu 64bit VM
* 2GB RAM
* Add Wekan.vmdk as harddisk.
* Not needed usually: Audio, Serial Ports, USB
* Network: If you select Bridged Adapter, name is your network you use, like eth0 / exp9s0 for Ethernet, and there's also wlan etc if available:
![BridgedAdapter.png](https://wekan.github.io/BridgedAdapter.png)
If you select NAT to keep virtual machine using same address as your server:
![NAT.png](https://wekan.github.io/NAT.png)
Then you can also setup port forwarding to Wekan VM port 8080:
![PortForwarding.png](https://wekan.github.io/PortForwarding.png)
2) Start VM
3) To access Wekan on local network, setup ROOT_URL to your IP address at /home/wekan/repos/start-wekan.sh inside VM.
```
cd repos
./stop-wekan.sh
nano start-wekan.sh
```
4) Add have there your IP address, for example:
```
export ROOT_URL=http://192.168.1.200
export MAIL_URL=smtp://user:pass@mailserver.example.com:25/
export MAIL_FROM='Example Wekan Support <support@example.com>'
```
5) Save with Ctrl-o Enter and after that exit with Ctrl-x
6) Allow port 80 and start Wekan:
```
./node-allow-port-80.sh
./start-wekan.sh
```
7) Access Wekan at your network with IP address of VM, for example
More details of settings at:
[https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml](https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml)
## Virtual Appliance by anselal
You can download a virtual appliance from https://github.com/anselal/wekan/releases
To login to the virtual machine use:
* username: wekan
* password: wekan
You can find more information at https://github.com/anselal/wekan including the script which was used to create the Virtual Appliance.