Table of Contents

Wekan

Installation

useradd -m -s /bin/bash wekan
passwd wekan
su - wekan

nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
source ~/.bashrc
command -v nvm
nvm --version
nvm install v4.8
nvm use node
node -v

mongod

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D68FA50FEA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt update
sudo apt install -y mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
sudo systemctl start mongod
sudo systemctl enable mongod
mongo
db.createUser(
  {
    user: "admin",
    pwd: "someaddminpassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)
exit
vim /etc/mongod.conf
  security:
    authorization: enabled
systemctl restart mongod
mongo -u admin -p
use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "somepassword",
      roles: ["readWrite"]
    }
 )

wekan

wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz
cd bundle/programs/server
npm install
export MONGO_URL='mongodb://wekan:somepassword@127.0.0.1:27017/wekan?authSource=wekan'
export ROOT_URL='https://some_domain.com/'
export MAIL_URL='smtp://username:password@smtp.gmail.com:587/'
export MAIL_FROM='username@gmail.com'
export PORT=8000
cd ~/bundle
node main.js
su - wekan
cd bundle/
vim .env
MONGO_URL='mongodb://wekan:somepassword@127.0.0.1:27017/wekan?authSource=wekan'
ROOT_URL='https://some_domain.com/'
MAIL_URL='smtp://username:password@smtp.gmail.com:587/'
MAIL_FROM='username@gmail.com'
PORT=8000
HTTP_FORWARDED_COUNT=1
cd /etc/systemd/system/
vim wekan.service
  [Unit]
  Description=Wekan Server
  After=syslog.target
  After=network.target
  [Service]
  Type=simple
  Restart=on-failure
  StartLimitInterval=86400
  StartLimitBurst=5
  RestartSec=10
  ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
  EnvironmentFile=/home/wekan/bundle/.env
  ExecReload=/bin/kill -USR1 $MAINPID
  RestartSec=10
  User=wekan
  Group=wekan
  WorkingDirectory=/home/wekan
  StandardOutput=syslog
  StandardError=syslog
  SyslogIdentifier=Wekan
  [Install]
  WantedBy=multi-user.target
systemctl daemon-reload
systemctl start wekan
systemctl enable wekan

Configuration

curl localhost:8000
mongo -u wekan -p --authenticationDatabase "wekan"
use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})