KanServer

From CLAIF Wiki
Jump to navigationJump to search

Post Install

WeKan

git clone https://github.com/wekan/wekan.git
cd wekan
git checkout v8.17
sudo apt update
sudo apt install -y build-essential gcc g++ make git curl wget p7zip-full zip unzip unp npm p7zip-full
sudo npm install -g n
export N_NODE_MIRROR=https://github.com/wekan/node-v14-esm/releases/download
sudo -E n 14.21.4
sudo npm -g install @mapbox/node-pre-gyp
sudo npm -g install meteor@2.14 --unsafe-perm
export PATH=$PATH:$HOME/.meteor
meteor npm install production
meteor build .build --directory --platforms=web.browser

Postgres 17 + DocumentDB

sudo bash -c 'curl -fsSL https://repo.pigsty.io/pig | bash'
pig repo add pgsql -u
pig ext install pg17
pig ext install documentdb

Edit /etc/postgresql/17/main/postgresql.conf

  • set shared_preload_libraries = 'pg_cron, pg_documentdb, pg_documentdb_core'


edit /etc/postgresql/17/main/pg_hba.conf

  • replace scram-sha-256 with trust on the host lines for 127.0.0.1/32 and ::1/128
sudo service postgresql restart

FerretDB

curl -L https://github.com/FerretDB/FerretDB/releases/download/v2.7.0/ferretdb-amd64-linux.deb -o /tmp/ferretdb-amd64-linux.deb
sudo dpkg -i /tmp/ferretdb-amd64-linux.deb
rm /tmp/ferretdb-amd64-linux.deb

edit your /etc/systemd/system/ferretdb.service file

  • Add your username/password pair to the following line:

Environment="FERRETDB_POSTGRESQL_URL=postgres://ferret:<DB_PASSWORD_GOES_HERE>@127.0.0.1:5432/postgres"

sudo systemctl enable ferretdb.service
sudo service ferretdb start

Initializing the Database

su -
su - postgres
psql
CREATE ROLE ferret WITH PASSWORD '<DB_PASSWORD_GOES_HERE>';
CREATE DATABASE ferretdb;
GRANT ALL PRIVILEGES ON DATABASE ferretdb TO ferret;
ALTER ROLE ferret WITH LOGIN;
CREATE EXTENSION documentdb CASCADE;
GRANT USAGE ON SCHEMA documentdb_api to ferret;
GRANT USAGE ON SCHEMA documentdb_core to ferret;
GRANT USAGE ON SCHEMA documentdb_api_internal to ferret;
GRANT USAGE ON SCHEMA documentdb_api_catalog to ferret;
GRANT INSERT ON TABLE documentdb_api_catalog.collections to ferret;
GRANT ALL ON SCHEMA documentdb_data to ferret;
GRANT documentdb_admin_role to ferret;

Launching WeKan

export PATH=$PATH:$HOME/.meteor
cd ~/wekan
MONGO_URL=mongodb://ferret:<DB_PASSWORD_GOES_HERE>@127.0.0.1:27017/wekan WRITABLE_PATH=.. WITH_API=true RICHER_CARD_COMMENT_EDITOR=false ROOT_URL=https://kan.faikvm.com meteor run --exclude-archs web.browser.legacy,web.cordova --port 8080 2>&1 | tee ../wekan-log.`date +%s`.txt

Notes

  1. Machine must have at least 3 gigs of ram. Crashes at npm installing meteor, with 384 megs.
  2. Machine must have at least 4 gigs of ram. Crashes at meteor build with 3 gigs.
  3. be ready to read rebuild-wekan.sh if you want to actually get it running.