blog single gear
Tutorials

100-day Challenge #082: Running Wekan on Cloud Foundry

Translator’s note: This is the 19th article of the series “Cloud Foundry 100-day Challenge selection”. “#082” in the title means that it is 82nd (published on October 20, 2015) in the original Japanese series.

Original Author: Takeshi MORIKAWA (GitHub) (company)


The 82nd topic of “Cloud Foundry 100-Day Challenge” is Wekan (previously called Libreboard), the second in the series of applications by Meteor.
Wekan is an open source Kanban application, much like Trello.
The UI is beautiful like Rocket.Chat from yesterday’s article, and is suggested for use when you want to administrate like you would with Trello within a private network.

Basic Information

The summary of procedures is as follows:

  • 1) Retrieving Source Code
  • 2) Preparation
  • 3) Starting Application
  • 4) Checking Application Behavior

1. Retrieving Source Code

$ git clone https://github.com/wekan/wekan
$ cd wekan

2. Preparation

2.1. Creating MongoDB Service Instance

$ cf create-service "Mongo DB" "Default Mongo Plan" wekan-mongo

2.2. Pushing Application

Let’s get the URL of the Meteor buildpack from app.json (the configuration file for Heroku Button).

$ cat app.json
  "env": {
      "BUILDPACK_URL": "https://github.com/AdmitHub/meteor-buildpack-horse.git",

Let’s specify the buildpack URL obtained earlier in -b, and specify --no-start.

$ cf push wekan -b https://github.com/AdmitHub/meteor-buildpack-horse.git --no-start

2.3. Binding Service

Let’s bind the created service instance to the application.

$ cf bind-service wekan wekan-mongo

2.4. Configuring Environment Variables

In order to obtain service information of the bound service, we run “cf env” and take note of the uri portion of the credentials.

$ cf env wekan
:
    "credentials": {
     "uri": "mongodb://68608217-650b-4b26-91df-e70ad5105a34:[email protected]:27017/f9d8d716-8426-42a6-bd62-585aecfe43d1"
    },

Then we execute “cf set-env” to set the variable MONGO_URL to the value noted from the credentials.

$ cf set-env wekan MONGO_URL "mongodb://68608217-650b-4b26-91df-e70ad5105a34:[email protected]:27017/f9d8d716-8426-42a6-bd62-585aecfe43d1"

We also set the variable ROOT_URL to the application’s URL by “cf set-env”.

$ cf set-env wekan ROOT_URL https://wekan.10.244.0.34.xip.io

3. Starting Application

$ cf start wekan
:
App started
 
 
OK
 
App wekan was started using this command `.meteor/heroku_build/bin/node .meteor/heroku_build/app/main.js`
 
Showing health and status for app wekan in org develop / space develop-space as admin ..
OK
 
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: wekan.10.244.0.34.xip.io
last uploaded: Thu Sep 17 08:06:58 UTC 2015
stack: cflinuxfs2
buildpack: https://github.com/AdmitHub/meteor-buildpack-horse.git
 
     state     since                    cpu    memory           disk      details
#0   running   2015-09-17 05:15:12 PM   0.0%   152.2M of 256M   0 of 1G

.. and the application has started successfully.

4. Checking Application Behavior

Let’s access it via a Web browser.

Signing up:

After signing in:

Let’s create a board and a list, and then a card:

Software Used in This Post