Search code examples
node.jsmongodbnpmkanban

Plain installation of current version of Wekan on Ubuntu?


Wekan is an open-source Kanban Board which used to be easy to install using nodejs (given that you already set up your MongoDB). I am stumbling upon the actual installation steps of the guide to install Wekan on Ubuntu 16.04:

Download the latest version wekan source code using the wget command and extract it.

wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz

tar xf wekan-0.63.tar.gz

And you will get a new directory named bundle. Go to that directory and install the Wekan dependencies using the npm command as shown below.

cd bundle/programs/server

npm install

Figuring out the last stable version is easy, there are new stable versions nearly every day (as of March 2019), which somehow seem to contradict the common definition.

More importantly, the directory bundle/programs/server does not exist, only server, but it does not contain a main.js which would be necessary to run

node main.js

Other resources considered:

I did of course check the official documentation, but it looks not up-to-date. The page https://github.com/wekan/wekan/wiki/Install-and-Update is redirecting to a rather untidy page which does no longer talk about a standalone installation.

I prefer a minimal installation and not a solution using snap like described at computingforgeeks

There is also an unanswered question about a more specific installation around: Installing Wekan via Sandstorm on cPanel which follows a similar approach.


Solution

  • The latest releases on the Wekan page are actually no ready-to-use node builds.

    Wekan is built using Meteor and you will need Meteor to create the build. This is because you could also build it using Meteor against other architectures than os.linux.x86_64.

    So here is how to build the latest release as of today on your dev-machine to then deploy it:

    Build it yourself

    [1.] Install Meteor

     curl https://install.meteor.com/ | sh 
    

    [2.] Download and extract the latest Wekan

    wget https://github.com/wekan/wekan/archive/v2.48.tar.gz
    tar xf wekan-2.48.tar.gz
    cd wekan-2.48
    

    [3.] Install Wekan Dependencies

    ./rebuild-wekan.sh 
    # use option 1
    

    [4.] Install dependency Meteor packages

    Now it gets dirty. Somehow the required packages are not included in the release (an issue should be opened at GH). You need to install them yourself:

    # create packages dir
    mkdir -p packages
    cd packages
    # clone packages
    git clone git@github.com:wekan/wekan-ldap.git
    git clone git@github.com:wekan/meteor-accounts-cas.git
    git clone git@github.com:wekan/wekan-scrollbar.git
    # install repo and extract packages
    git clone git@github.com:wekan/meteor-accounts-oidc.git
    mv meteor-accounts-oidc/packages/switch_accounts-oidc ./
    mv meteor-accounts-oidc/packages/switch_oidc ./
    rm -rf meteor-accounts-oidc/
    cd ../
    

    [5.] Build against your architecure

    meteor build ../build --architecute os.linux.x86_64
    # go grab a coffee... yes even with nvme SSD... 
    

    Once the build is ready you can go ../build and check out the wekan-2.48.tar.gz which now contains your built bundle including the described folders and files.

    Use this bundle to deploy as described in the documentation.

    Summary

    This describes only how to create the build yourself and I am not giving any guarantee that the build package will run when deployed to your target environment.

    I think there is either some issue with the way the releases are attached on GH or they explicitly want to keep it open against which arch you want to build.

    In any case I would open an issue with demand for a more clear documentation and a description for reproduction of the errors your mentioned.

    Further readings

    https://guide.meteor.com/deployment.html#custom-deployment