mirror of https://github.com/wekan/wekan
The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
4.9 KiB
175 lines
4.9 KiB
# NEWEST:
|
|
|
|
[UberLab/Uberspace 7 Manual: Wekan](https://lab.uberspace.de/guide_wekan.html) - ([Source](https://github.com/wekan/wekan/issues/2009#issuecomment-817010524))
|
|
|
|
***
|
|
|
|
# OLD:
|
|
|
|
**NOTE**:
|
|
- [Newest Node/Mongo/Meteor versions](https://github.com/wekan/wekan/blob/main/Dockerfile).
|
|
- For x64 wekan-VERSION.zip is at https://releases.wekan.team and some related install info https://github.com/wekan/wekan/wiki/Raspberry-Pi
|
|
|
|
**Purpose**: Install latest Wekan release on [Uberspace](https://uberspace.de/) 6 and run as [daemontools](https://cr.yp.to/daemontools/faq/create.html) service in local userspace.
|
|
|
|
This script installs Wekan on a fresh Uberspace 6. It setup Node 4, MongoDB, a Port, installs Wekan and starts it as a service. It's tested with Wekan versions 0.32 and 0.63.
|
|
|
|
You have two Options to use it.
|
|
|
|
# Option 1:
|
|
You can run the commands of the following script step-by-step in the shell.
|
|
|
|
At first step set the SMTP-Password variable. Replace the `$1` with the password in that way `SMTP_PASS="smtp_password"` and continue line-by-line.
|
|
|
|
# Option 2:
|
|
Or you can run it automatically.
|
|
* Save it as script in file `install_wekan.sh`
|
|
* Make it executable `chmod +x install_wekan.sh`
|
|
* And run it. Pass the SMTP-Password as command line parameter `./install_wekan.sh smtp_password`.
|
|
|
|
## ./install_wekan.sh
|
|
```
|
|
#!/bin/sh
|
|
##
|
|
## Usage: ./install_wekan.sh SMTP-password
|
|
##
|
|
## Draft
|
|
## Install Wekan (v0.63) on Uberspace 6 by Noodle / Chris
|
|
##
|
|
## Sources:
|
|
## https://github.com/wekan/wekan/wiki/Install-and-Update#manual-installation-steps
|
|
## https://wiki.uberspace.de/database:mongodb
|
|
## https://wiki.uberspace.de/development:nodejs
|
|
## https://wiki.uberspace.de/system:daemontools
|
|
## https://github.com/wekan/wekan/issues/907
|
|
|
|
|
|
## Set SMTP password
|
|
# SMTP_PASS="xxxxxxxxxx"
|
|
|
|
SMTP_PASS="$1"
|
|
|
|
|
|
#####################
|
|
### Setup Node.js ###
|
|
#####################
|
|
|
|
cat <<__EOF__ > ~/.npmrc
|
|
prefix = $HOME
|
|
umask = 077
|
|
__EOF__
|
|
|
|
echo 'export PATH=/package/host/localhost/nodejs-4/bin:$PATH' >> ~/.bash_profile
|
|
source ~/.bash_profile
|
|
|
|
|
|
#####################
|
|
### Setup MongoDB ###
|
|
#####################
|
|
|
|
test -d ~/service || uberspace-setup-svscan
|
|
TEMPMDB="$(uberspace-setup-mongodb)"
|
|
|
|
MONGO_USER="${USER}_mongoadmin"
|
|
MONGO_PORT="$(echo ${TEMPMDB} | grep -E -o 'm#:\s[0-9]{5}\sUs' | cut -d' ' -f 2)"
|
|
MONGO_PASS="$(echo ${TEMPMDB} | grep -E -o 'rd:\s.+\sTo\sconn' | cut -d' ' -f 2)"
|
|
|
|
echo -e "MONGO_USER: ${MONGO_USER} \nMONGO_PORT: ${MONGO_PORT} \nMONGO_PASS: ${MONGO_PASS}"
|
|
|
|
|
|
############################
|
|
### Setup Websocket Port ###
|
|
############################
|
|
|
|
export FREE_PORT="$(uberspace-add-port --protocol tcp --firewall | grep -E -o '[0-9]{5}')"
|
|
|
|
echo "FREE_PORT: ${FREE_PORT}"
|
|
|
|
|
|
###################
|
|
### Setup Wekan ###
|
|
###################
|
|
|
|
## Issue #907 - Port must be speccified in root url, when Version > 0.10.1
|
|
MONGO_URL="mongodb://${MONGO_USER}:${MONGO_PASS}@127.0.0.1:${MONGO_PORT}/wekan?authSource=admin"
|
|
ROOT_URL="http://${USER}.${HOSTNAME}:${FREE_PORT}/"
|
|
MAIL_URL="smtp://${USER}:${SMTP_PASS}@${HOSTNAME}:587/"
|
|
MAIL_FROM="${USER}@${HOSTNAME}"
|
|
PORT="${FREE_PORT}"
|
|
|
|
echo -e "MONGO_URL: ${MONGO_URL} \nPORT: ${PORT} \nROOT_URL: ${ROOT_URL} \nMAIL_URL ${MAIL_URL} \nMAIL_FROM: ${MAIL_FROM}"
|
|
|
|
|
|
#####################
|
|
### Install Wekan ###
|
|
#####################
|
|
|
|
mkdir ~/wekan && cd ~/wekan
|
|
|
|
# Tested versions 0.32, 0.63
|
|
WEKAN_VERSION=0.63
|
|
curl -OL https://github.com/wekan/wekan/releases/download/v${WEKAN_VERSION}/wekan-${WEKAN_VERSION}.tar.gz && tar xzf wekan-${WEKAN_VERSION}.tar.gz && rm wekan-${WEKAN_VERSION}.tar.gz
|
|
|
|
cd ~/wekan/bundle/programs/server && npm install
|
|
cd ~
|
|
|
|
|
|
#####################
|
|
### Setup Service ###
|
|
#####################
|
|
|
|
cat <<__EOF__ > ~/etc/wekan-setup
|
|
#!/bin/bash
|
|
export MONGO_URL=${MONGO_URL}
|
|
export ROOT_URL=${ROOT_URL}
|
|
export MAIL_URL=${MAIL_URL}
|
|
export MAIL_FROM=${MAIL_FROM}
|
|
export PORT=${PORT}
|
|
__EOF__
|
|
|
|
cat <<__EOF__ > ~/etc/wekan-start
|
|
#!/bin/bash
|
|
source ~/etc/wekan-setup
|
|
exec node ~/wekan/bundle/main.js
|
|
__EOF__
|
|
|
|
chmod 700 ~/etc/wekan-setup
|
|
chmod a+x ~/etc/wekan-start
|
|
|
|
|
|
## Init & Start as servcie
|
|
uberspace-setup-service wekan ~/etc/wekan-start
|
|
|
|
## Setup & Start in bg for debugging
|
|
# source ~/etc/wekan-setup && node ~/wekan/bundle/main.js &
|
|
|
|
|
|
#####################
|
|
### Finish ###
|
|
#####################
|
|
|
|
echo -e "\n Login: ${ROOT_URL} \n\n"
|
|
```
|
|
|
|
# Control Wekan Service
|
|
Basic control of the Wekan service:
|
|
* Stop the service: `svc -d ~/service/wekan`
|
|
* Start the service: `svc -u ~/service/wekan`
|
|
* Keep an eye on the log while running the service: `tailf ~/service/wekan/log/main/current`
|
|
|
|
More about [daemontools](https://cr.yp.to/daemontools/faq/create.html).
|
|
|
|
|
|
# Uninstall Wekan
|
|
To remove Wekan from your uberspace you have to do the following steps.
|
|
* Stop and remove the service.
|
|
`uberspace-remove-service -s wekan`
|
|
* Remove the complete data.
|
|
```
|
|
mongo admin --port $MONGO_PORT -u $MONGO_USER -p $MONGO_PASS
|
|
use wekan
|
|
db.dropDatabase()
|
|
exit
|
|
```
|
|
* Remove the installation.
|
|
`rm -Rf ~/wekan/ ~/etc/wekan-*`
|
|
|