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.
 
 
 
 
 
 
wekan/docs/Platforms/Propietary/Cloud/Uberspace.md

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-*`