2024-01-20 Petclinic fork https://github.com/xet7/pet , with command blink redbean.com
chmod +x redbean.com && sh -c ./redbean.com
, or also need to install ape
from https://github.com/jart/cosmopolitan .make all
or make start
it makes one executeable. When starting, it creates SQLite database to same directory, adding data, with srv/.lua/*.sql
.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.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
.gitignore
with Lua IDE, ZeroBrane Studio, this way, and also debug redbean: https://github.com/xet7/pet/wiki/RedbeanPorted by others, not xet7:
xet7, as maintainer of WeKan, 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.
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
New info 2022-01-18:
Install snapd https://snapcraft.io/docs/installing-snap-on-red-hat
Reboot
Install MongoDB, so it will be at port 27017:
sudo snap install mongo36-configurable
Install WeKan s390x bundle from:
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
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:
Installing is similar like at 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
At wiki is also info about Caddy/Nginx/Apache etc.
Some related links also at Platforms
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