mirror of
https://github.com/wekan/wekan.git
synced 2025-12-31 22:58:48 +01:00
Reorganized Docs. In Progress.
This commit is contained in:
parent
1961e22cbd
commit
ce89ff4833
202 changed files with 0 additions and 0 deletions
55
docs/Platforms/OS/Android.md
Normal file
55
docs/Platforms/OS/Android.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
### Running Wekan server at Android
|
||||
|
||||
Requirements:
|
||||
- arm64 or x64 Android with at least 3 GB RAM. Tested with with arm64 OnePlus 3 that has 6 GB RAM.
|
||||
- It is not necessary to root Android.
|
||||
|
||||
## 1) Install AnLinux and Termux from Play Store
|
||||
|
||||
At AnLinux choose:
|
||||
- Ubuntu
|
||||
- XFCE4
|
||||
- Copy those commands to Termux to install Linux.
|
||||
|
||||
## 2) At Termux
|
||||
|
||||
When you get from Termux to Ubuntu bash, you can install Wekan similarly like arm64 or x64:
|
||||
https://github.com/wekan/wekan/wiki/Raspberry-Pi
|
||||
|
||||
Edit start-wekan.sh so you can start Wekan for example:
|
||||
```
|
||||
ROOT_URL=http://localhost:2000
|
||||
PORT=2000
|
||||
```
|
||||
At Android webbrowser like Chrome and Firefox browse to http://localhost:2000
|
||||
|
||||
## 3) WLAN
|
||||
|
||||
If you connect to WLAN, you can get your IP address with command:
|
||||
```
|
||||
ip address
|
||||
```
|
||||
Edit start-wekan.sh so you can start Wekan for example:
|
||||
```
|
||||
ROOT_URL=http://IP-ADDRESS:2000
|
||||
PORT=2000
|
||||
```
|
||||
Then you can use any computer or mobile phone Javascript capable webbrowser at WLAN to use Wekan at http://IP-ADDRESS:2000 like http://192.168.0.100:2000 . [More info about ROOT_URL](Settings).
|
||||
|
||||
## 4) Optional: Mobile Linux Desktop
|
||||
|
||||
Requirements:
|
||||
- 1 WLAN, for example: mobile hotspot, Android device sharing WLAN, hotel WLAN, office WLAN
|
||||
- ChromeCast that is connected to HDMI Input of hotel/office/home TV and WLAN
|
||||
- Bluetooth keyboard
|
||||
- Bluetooth mouse
|
||||
- 1 Android device that has:
|
||||
- Wekan installed according to steps 1-3 above
|
||||
- Android VNC client to local AnLinux Ubuntu desktop
|
||||
- Firefox installed with apt-get to that Ubuntu desktop, browsing Wekan at http://IP-ADDRESS:2000
|
||||
- Using ChromeCast to show Android full screen at TV
|
||||
|
||||
This way, you have:
|
||||
- Big TV display
|
||||
- Full size keyboard and mouse
|
||||
- Full featured Firefox at Ubuntu Desktop using Wekan
|
||||
285
docs/Platforms/OS/Chromebook.md
Normal file
285
docs/Platforms/OS/Chromebook.md
Normal file
|
|
@ -0,0 +1,285 @@
|
|||
## WARNING: PLEASE do not try on your Chromebook below info.
|
||||
|
||||
First, [download all your Google Account data as 4 GB .zip files](https://takeout.google.com/) and burn them to DVD or Blueray disks, where they can not be easily accidentally deleted.
|
||||
|
||||
Because this happened:
|
||||
- Someone else had their Google Drive full.
|
||||
- That someone else did not backup local data from Chromebook.
|
||||
- Installing Linux etc did fill up Chromebook harddisk.
|
||||
- Chromebook got stuck and messed up, and needed to be reinstalled.
|
||||
- That someone else lost some data.
|
||||
|
||||
Below intructions only worked for xet7, because xet7 did have free disk space on Chromebook. There is **NO WARRANTY OF ANY KIND** for any of below info. If your Chomebook breaks, well, thank your backups, and have a nice day!
|
||||
|
||||
## Installing Wekan Snap to Chromebook
|
||||
|
||||
Installing to Asus Chromebook C223NA-GJ0007 11.6" laptop, that was cheapest available at local shop, did cost 199 euro.
|
||||
|
||||
It has:
|
||||
- 4 GB RAM
|
||||
- 32 GB eMMC disk
|
||||
- Intel® Celeron® N3350 CPU
|
||||
- Bluetooth
|
||||
- webcam
|
||||
- WLAN
|
||||
- USB3
|
||||
- 2 x USB-C, both work for charging (I have not tried data transfer yet)
|
||||
- microSD slot
|
||||
- package includes USB-C charger and USB mouse
|
||||
- keys for fullscreen, switch apps, brighness, volume, those do not need any modifier keys like other laptops
|
||||
- playing youtube videos fullscreen works very well
|
||||
- speakers sound can be set to very loud if needed
|
||||
- big enough keys, good keyboard layout
|
||||
- small and lightweight laptop
|
||||
- has Play Store Android apps and Linux apps that can work fullscreen
|
||||
- I did not try yet replacing Chrome OS with full Linux https://galliumos.org that has some drivers Chromebook needs, but according to their [hardware compatibility](https://wiki.galliumos.org/Hardware_Compatibility) this model has Known issues: internal audio, suspend/resume, when using galliumos.
|
||||
|
||||
## 1) Install Linux Beta
|
||||
|
||||
At Chromebook settings, install Linux Beta. It will have Debian 10, that will be changed to Ubuntu 20.10 64bit.
|
||||
|
||||
## 2) Install Ubuntu Container
|
||||
|
||||
[Source](http://intertwingly.net/blog/2020/07/21/Ubuntu-20-04-on-Chromebook)
|
||||
|
||||
Start by entering the Chrome shell (crosh) by pressing CTRL+ALT+T, then enter the default termina VM:
|
||||
```
|
||||
vmc start termina
|
||||
```
|
||||
Delete the default penguin container that had Debian 10:
|
||||
```
|
||||
lxc stop penguin --force
|
||||
lxc rm penguin
|
||||
```
|
||||
Create a new Ubuntu container named penguin:
|
||||
```
|
||||
lxc launch ubuntu:20.10 penguin
|
||||
```
|
||||
Enter the new container (as root):
|
||||
```
|
||||
lxc exec penguin -- bash
|
||||
```
|
||||
## 3) Import public keys
|
||||
|
||||
While Ubuntu 20.10 will install, various apt commands will fail due to an inability to verify GPG keys. This problem is not unique to Crostini, it is seen in other environments, like Raspberry Pis.
|
||||
|
||||
The fix is to import two public keys:
|
||||
```
|
||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
|
||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
|
||||
```
|
||||
## 4) Update groups
|
||||
```
|
||||
groups ubuntu >update-groups
|
||||
sed -i 'y/ /,/; s/ubuntu,:,ubuntu,/sudo usermod -aG /; s/$/ \$USER/' update-groups
|
||||
killall -u ubuntu
|
||||
userdel -r ubuntu # ignore warning about mail spool
|
||||
sed -i '/^ubuntu/d' /etc/sudoers.d/90-cloud-init-users
|
||||
```
|
||||
## 5) Install Crostini packages
|
||||
|
||||
Prepare for installing Google's Crostini specific packages. First bring Ubuntu up to date:
|
||||
```
|
||||
apt update
|
||||
apt upgrade -y
|
||||
```
|
||||
Now add the Crostini package repository to apt. This repository provides the Linux integration with Chrome OS (ignore RLIMIT_CORE warning):
|
||||
```
|
||||
echo "deb https://storage.googleapis.com/cros-packages stretch main" > /etc/apt/sources.list.d/cros.list
|
||||
if [ -f /dev/.cros_milestone ]; then sudo sed -i "s?packages?packages/$(cat /dev/.cros_milestone)?" /etc/apt/sources.list.d/cros.list; fi
|
||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1397BC53640DB551
|
||||
apt update
|
||||
```
|
||||
A work-around is needed for a cros-ui-config package installation conflict. First, install binutils to get the ar command:
|
||||
```
|
||||
apt install -y binutils
|
||||
```
|
||||
Then create the cros-ui-config work-around package:
|
||||
```
|
||||
apt download cros-ui-config # ignore any warning messages
|
||||
ar x cros-ui-config_0.12_all.deb data.tar.gz
|
||||
gunzip data.tar.gz
|
||||
tar f data.tar --delete ./etc/gtk-3.0/settings.ini
|
||||
gzip data.tar
|
||||
ar r cros-ui-config_0.12_all.deb data.tar.gz
|
||||
rm -rf data.tar.gz
|
||||
```
|
||||
Now install the Crostini packages and the "work-around" package, ignoring any warning messages. This will take awhile:
|
||||
```
|
||||
apt install -y cros-guest-tools ./cros-ui-config_0.12_all.deb
|
||||
```
|
||||
Delete the "work-around" package:
|
||||
```
|
||||
rm cros-ui-config_0.12_all.deb
|
||||
```
|
||||
Install the adwaita-icon-theme-full package. Without this package, GUI Linux apps may have a very small cursor:
|
||||
```
|
||||
apt install -y adwaita-icon-theme-full
|
||||
```
|
||||
Now, shut down the container:
|
||||
```
|
||||
shutdown -h now
|
||||
```
|
||||
Reboot Chrome OS and start the Terminal application from the launcher. If it fails to start the first time, try again and it should work.
|
||||
|
||||
Rebooting is by clicking desktop right bottom clock / Power icon. After Chromebook has shutdown, short press laptop power button to start Chromebook.
|
||||
|
||||
### 8) Optional, if you install some Snap GUI apps
|
||||
|
||||
These are from same [Source](http://intertwingly.net/blog/2020/07/21/Ubuntu-20-04-on-Chromebook)
|
||||
but xet7 did not test them.
|
||||
|
||||
The fix is to copy the desktop and pixmap files to your .local environment:
|
||||
```
|
||||
mkdir -p ~/.local/share/pixmaps
|
||||
cp /snap/code/current/snap/gui/com.visualstudio.code.png ~/.local/share/pixmaps
|
||||
cp /snap/code/current/snap/gui/code.desktop ~/.local/share/applications
|
||||
```
|
||||
Finally, you will need to change three lines in the code.desktop file in your ~/.local directory.
|
||||
|
||||
First, you will need to change Exec=code to specify the full path, namely Exec=/snap/bin/code.
|
||||
|
||||
Next, in the two places where Icon= is defined, you will need to replace this with the path to the icon that you copied into your .local directory. In my case, the resulting lines look as follows:
|
||||
|
||||
Icon=/home/rubys/.local/share/pixmaps/com.visualstudio.code.png
|
||||
|
||||
Once these changes are made, you should be able to launch the application using the Launcher in the lower left hand corder of the screen, by clicking on the circle, entering code into the search box and then clicking on the Visual Studio Code icon. Once launched, the application will appear in the shelf at the bottom of the screen. Right clicking on this icon will give you the option to pin the application to the shelf.
|
||||
|
||||
It is still a beta, and the installation instructions (above) are still a bit daunting. More importantly, things that used to work can stop working at any time, like, for example, Ubuntu 18.04.
|
||||
|
||||
That being said, it is a full, no-compromise Ubuntu. I've developed and tested code using this setup. I even have installed my full development environment using Puppet.
|
||||
|
||||
The only glitch I do see is occasionally GUI applications don't receive keystrokes. This is generally fixed by switching focus to Chromebook application and then back again. Once the application is able to process keystrokes, it remains able to do so.
|
||||
|
||||
## 6) Install Wekan
|
||||
|
||||
At Ubuntu terminal:
|
||||
```
|
||||
sudo snap install wekan
|
||||
```
|
||||
|
||||
#### a) Use Wekan locally
|
||||
|
||||
At Ubuntu terminal, type:
|
||||
```
|
||||
ip address
|
||||
```
|
||||
It shows container internal IP address. You can set it to use Wekan locally, for example:
|
||||
```
|
||||
sudo snap set wekan root-url='http://100.115.92.200'
|
||||
sudo snap set wekan port='80'
|
||||
```
|
||||
Then Wekan works locally using Ubuntu webbrowser at http://100.115.92.200 , and you can open cards.
|
||||
|
||||
#### b) Use Wekan from other computers at LAN
|
||||
|
||||
Look at your Chromebook wifi settings `(i)`, what is your laptop IP address, and use it with below http address:
|
||||
```
|
||||
sudo snap set wekan root-url='http://192.168.0.2:2000'
|
||||
sudo snap set wekan port='2000'
|
||||
```
|
||||
At Chromebook settings / Linux Beta / > / Port forwarding, forwart port `2000` with nickname like for example `wekan`. This does forward Chromebook port to inside Ubuntu 20.10 64bit LXC container where Wekan is running.
|
||||
|
||||
NOTE: Sometimes reboot stops port forwarding, then it needs to be enabled again at Chromebook settings.
|
||||
|
||||
But problem is, using that LAN IP address does not work from Chromebook's own browser like Chrome or Linux Firefox. So looking at that at the next option:
|
||||
|
||||
#### c) Use hosts file
|
||||
|
||||
At your Chromebook Ubuntu, edit hosts:
|
||||
```
|
||||
sudo nano /etc/hosts
|
||||
```
|
||||
There add:
|
||||
```
|
||||
127.0.0.1 localhost wekan
|
||||
```
|
||||
Then with Ubuntu webbrowser you can browse http://wekan:2000 .
|
||||
|
||||
At other LAN computer, edit hosts:
|
||||
```
|
||||
sudo nano /etc/hosts
|
||||
```
|
||||
There add:
|
||||
```
|
||||
192.168.0.2 wekan
|
||||
```
|
||||
Then you can browse http://wekan:2000 from LAN computers. But mobile phones like Android and iOS can not usually change those settings, and if you don't have a way to setup local network computer names, let's look at next option:
|
||||
|
||||
#### d) Use some subdomain
|
||||
|
||||
If you have some domain, you can set new record `wekan.example.com A 192.168.0.2` . That is internet wide, but resolves to your local IP address on your local network. Then on your LAN mobile phones you can browse to http://wekan.example.com:2000 .
|
||||
|
||||
At Chromebook Ubuntu:
|
||||
```
|
||||
sudo nano /etc/hosts
|
||||
```
|
||||
There add:
|
||||
```
|
||||
127.0.0.1 localhost wekan.example.com
|
||||
```
|
||||
So then you can browse to http://wekan.example.com:2000 from Chromebook Ubuntu Firefox, Chromebook Chrome, other LAN computers and mobile phones.
|
||||
|
||||
#### Mobile app icon
|
||||
|
||||
For iOS and Android, you can [create app PWA icon this way](PWA).
|
||||
|
||||
## 7) Optional: Change Linux desktop apps language and install Firefox
|
||||
|
||||
Here changing to Finnish:
|
||||
```
|
||||
sudo dpkg-reconfigure-locales
|
||||
```
|
||||
There add this language, and set is as default:
|
||||
```
|
||||
fi_FI.UTF8
|
||||
```
|
||||
And install Ubuntu 20.10 version Firefox and translation:
|
||||
```
|
||||
sudo apt install firefox firefox-locale-fi
|
||||
```
|
||||
Shutdown Ubuntu container:
|
||||
```
|
||||
sudo shutdown -h now
|
||||
```
|
||||
Reboot Chromebook by clicking desktop right bottom clock / Power icon. After Chromebook has shutdown, short press laptop power button to start Chromebook.
|
||||
|
||||
## 8) Optional: Install HP DeskJet 2600 multifunction printer/scanner
|
||||
|
||||
This inkjet printer was cheapest available, and does print excellent quality similar to laser color printer.
|
||||
|
||||
You should set your wireless network printer to have Static IP address.
|
||||
|
||||
[Source](https://chromeunboxed.com/how-to-use-your-hp-printer-with-linux-on-chrome-os/)
|
||||
```
|
||||
sudo apt install hplip hplip-gui cups system-config-printer
|
||||
sudo xhost +
|
||||
sudo hp-setup
|
||||
```
|
||||
Check:
|
||||
```
|
||||
[X] Network/Ethernet/Wireless newtork (direct connection or JetDirect)
|
||||
```
|
||||
Click:
|
||||
```
|
||||
> Show Advanced Options:
|
||||
```
|
||||
Check:
|
||||
```
|
||||
[X] Manual Discovery
|
||||
IP Address or network name: [ YOUR-PRINTER-STATIC-IP-HERE, for example 192.168.0.200 ]
|
||||
JetDirect port: [1]
|
||||
```
|
||||
Next, Next, Add Printer.
|
||||
```
|
||||
sudo system-config-printer
|
||||
```
|
||||
Set printer as Default.
|
||||
|
||||
You are also able to Scan images from your multifunction printer with XSane, that was installed with HP printer drivers.
|
||||
|
||||
You can print from Ubuntu Linux apps, like for example Firefox, LibreOffice, Inkscape, etc what you can install with apt.
|
||||
|
||||
## 9) Optional: Gimp
|
||||
|
||||
[Gimp PPA for Ubuntu 20.10 Groovy](https://launchpad.net/~ubuntuhandbook1/+archive/ubuntu/gimp). Note: Other versions of Gimp do not have all translations or do not create icons, like default Gimp from Ubuntu 20.10 repos and Snap.
|
||||
10
docs/Platforms/OS/Debian.md
Normal file
10
docs/Platforms/OS/Debian.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
- [Snap](Snap)
|
||||
- [Docker](Docker)
|
||||
- [Source](Source)
|
||||
- [Unofficial debian package](https://github.com/soohwa/wekan-deb/releases) with build and installation instructions [here](https://github.com/soohwa/wekan-deb)
|
||||
|
||||
### Old install scripts
|
||||
|
||||
[Debian Wheezy 64bit & Devuan Jessie 64 bit](https://github.com/wekan/sps)
|
||||
|
||||
[Autoinstall script](https://github.com/wekan/wekan-autoinstall)
|
||||
8
docs/Platforms/OS/FreeBSD.md
Normal file
8
docs/Platforms/OS/FreeBSD.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
Newest info at https://github.com/wekan/wekan/issues/2662
|
||||
|
||||
Old disappeared info [this comment](https://github.com/wekan/wekan/issues/1155#issuecomment-326734403) instructions:
|
||||
[https://github.com/greinbold/install-wekan/blob/master/v0.32/freebsd-11.0-RELEASE.md](https://github.com/greinbold/install-wekan/blob/master/v0.32/freebsd-11.0-RELEASE.md)
|
||||
|
||||
## FreeBSD Meteor build instructions
|
||||
|
||||
TODO
|
||||
103
docs/Platforms/OS/Install-Wekan-from-source-on-Windows.md
Normal file
103
docs/Platforms/OS/Install-Wekan-from-source-on-Windows.md
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
# Newest Windows info here
|
||||
|
||||
https://github.com/wekan/wekan/wiki/Offline
|
||||
|
||||
## OLD INFO BELOW, DOES NOT WORK
|
||||
|
||||
Also see: [Excel and VBA](Excel-and-VBA)
|
||||
|
||||
a) Lowest resource usage: [Windows Subsystem for Linux, build from source](https://github.com/wekan/wekan/issues/2066#issuecomment-468328001)
|
||||
|
||||
b) Docker for Windows, [prebuilt without --build option, or build from source](https://github.com/wekan/wekan-dev/issues/12#issuecomment-468657290)
|
||||
|
||||
***
|
||||
|
||||
|
||||
### Source install required dependencies
|
||||
|
||||
Questions, comments to old closed issue about nexe https://github.com/wekan/wekan/issues/710
|
||||
|
||||
Beginnings of build and run scripts, please add PRs for additional fixes etc:
|
||||
- https://github.com/wekan/wekan/blob/edge/rebuild-wekan.bat
|
||||
- https://github.com/wekan/wekan/blob/edge/start-wekan.bat
|
||||
|
||||
Script for using MongoDB portable:
|
||||
- https://github.com/wekan/wekan/issues/883#issuecomment-283755906
|
||||
|
||||
Requirements:
|
||||
- Install [MeteorJS](https://www.meteor.com/)
|
||||
- Install [NodeJS](https://nodejs.org/en/download/releases/) (Optional but recommended)
|
||||
- Install Python 2.7 (Installation through Chocolatey(`choco install python2 -y`) is recomended)
|
||||
- If you are on windows 7, Install .NET 4.5.1+
|
||||
- **MUST MAKE SURE TO** Install [Visual C++ 2015 Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools) or run this command from an elevated PowerShell or CMD.exe (run as Administrator) to install, `npm install --global --production windows-build-tools`
|
||||
- Install Git
|
||||
- Restart Windows (Optional but recommended)
|
||||
|
||||
From this point, it's advised to use **Git bash** to run commands to make sure everything works as is, but if you had trouble accessing meteor or npm commands via Git bash, windows CMD will most likely work without any problem.
|
||||
|
||||
Inside the Git Bash, run these commands:
|
||||
|
||||
```
|
||||
npm config -g set msvs_version 2015
|
||||
|
||||
meteor npm config -g set msvs_version 2015
|
||||
```
|
||||
|
||||
# Running Wekan
|
||||
- Clone the repo (`https://github.com/wekan/wekan`)
|
||||
- Browse the wekan directory and run `meteor`,
|
||||
- If you see any error regarding **xss**, do `meteor npm i --save xss` to install xss.
|
||||
- Set the Environment variables, or create a .env file with the following data.
|
||||
- open your browser, make changes and see it reflecting real-time.
|
||||
|
||||
## Example of setting environment variables
|
||||
|
||||
You need to have start-wekan.bat textfile with that content of those environment variables.
|
||||
In Windows, .bat files use DOS style of setting varibles.
|
||||
|
||||
Similar file for Linux bash is here:
|
||||
https://github.com/wekan/wekan-maintainer/blob/master/virtualbox/start-wekan.sh
|
||||
|
||||
ROOT_URL examples are here:
|
||||
https://github.com/wekan/wekan/releases
|
||||
|
||||
```
|
||||
SET MONGO_URL=mongodb://127.0.0.1:27017/wekan
|
||||
SET ROOT_URL=http://127.0.0.1/
|
||||
SET MAIL_URL=smtp://user:pass@mailserver.example.com:25/
|
||||
SET MAIL_FROM=admin@example.com
|
||||
SET PORT=8081
|
||||
```
|
||||
|
||||
## Example contents of `.env` file
|
||||
```
|
||||
MONGO_URL=mongodb://127.0.0.1:27017/wekan
|
||||
ROOT_URL=http://127.0.0.1/
|
||||
MAIL_URL=smtp://user:pass@mailserver.example.com:25/
|
||||
MAIL_FROM=admin@example.com
|
||||
PORT=8081
|
||||
```
|
||||
|
||||
That URL format is: mongodb://ip-address-of-server:port/database-name
|
||||
|
||||
You can access MongoDB database with GUI like Robo 3T https://robomongo.org .
|
||||
There is no username and password set by default.
|
||||
|
||||
## Overview,
|
||||
Here is how it looks like,
|
||||
```
|
||||
git clone https://github.com/wekan/wekan
|
||||
cd wekan
|
||||
<SET ENV OR CREATE .env FILE>
|
||||
meteor npm install --save xss
|
||||
meteor
|
||||
```
|
||||
|
||||

|
||||
|
||||
# FAQ
|
||||
### I am getting `node-gyp` related issues.
|
||||
Make sure to install all required programs stated here, https://github.com/wekan/wekan/wiki/Install-Wekan-from-source-on-Windows#setup-required-dependencies
|
||||
|
||||
### I am getting `Error: Cannot find module 'fibers'` related problem.
|
||||
Make sure to run the command `meteor` instead of `node`.
|
||||
50
docs/Platforms/OS/Install-Windows.md
Normal file
50
docs/Platforms/OS/Install-Windows.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
## 1. Get Windows 8/10/11 key, if there is no key sticker
|
||||
|
||||
1.1. Get USB stick (USB2 works better than USB3) that is 8 GB or a little bigger (not too big like 128 GB)
|
||||
|
||||
1.2. Download Rufus https://rufus.ie (or BalenaEtcher https://etcher.balena.io)
|
||||
|
||||
1.3. Download some live distro, for example:
|
||||
|
||||
- newest Linux Mint Mate https://linuxmint.com , .iso size about 4 GB
|
||||
- UPupBB https://sourceforge.net/projects/zestypup/files/ , .iso size about 340 MB
|
||||
- Puppy Linux https://puppylinux-woof-ce.github.io/ , .iso small download about 400 MB
|
||||
|
||||
1.4. With Rufus of BalenaEtcher, write .iso to USB stick
|
||||
|
||||
1.5. Boot from USB Linux Mint, usually after power on F8 key is boot menu, or F12
|
||||
|
||||
Windows 8 and Windows 10/11 OEM product key from BIOS when using Linux
|
||||
|
||||
```
|
||||
sudo cat /sys/firmware/acpi/tables/MSDM | tail -1
|
||||
```
|
||||
|
||||
## 2. Create bootable Windows Install USB stick
|
||||
|
||||
2.1. Download Rufus https://rufus.ie
|
||||
|
||||
2.2. Download Windows, big download
|
||||
|
||||
https://www.microsoft.com/software-download/windows11
|
||||
|
||||
https://www.microsoft.com/fi-fi/software-download/windows10ISO
|
||||
|
||||
2.3. If you are installing Windows to VirtualBox, newest VirtualBox has TPM 2.0 and Secure Boot emulation.
|
||||
|
||||
Win11 on VirtualBox may have some visual transparency bugs, that updates to VirtualBox
|
||||
display drivers may fix later. Earlier OS shows correctly.
|
||||
|
||||
2.4. If you are installing Windows 11 to computer that does not support Windows 11
|
||||
|
||||
Try adding some Windows Registry keys:
|
||||
https://blogs.oracle.com/virtualization/post/install-microsoft-windows-11-on-virtualbox
|
||||
|
||||
2.5. Boot from USB Instal Windows stick, usually after power on F8 key is boot menu, or F12
|
||||
|
||||
2.6. If using same license key at dual boot:
|
||||
|
||||
- Win11
|
||||
- Ubuntu host, VirtualBox Win11 Guest
|
||||
|
||||
If some activation phone call asks in how many computers you use license at, answer 1.
|
||||
1
docs/Platforms/OS/Install-and-Update.md
Normal file
1
docs/Platforms/OS/Install-and-Update.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
Moved to [Platforms](Platforms)
|
||||
23
docs/Platforms/OS/Install-from-source-without-root.md
Normal file
23
docs/Platforms/OS/Install-from-source-without-root.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Quick install for development / debugging
|
||||
|
||||
* Install [nvm](https://github.com/creationix/nvm)
|
||||
* `source NVMPATH/nvm.sh` for example `source ~/.nvm/nvm.sh`
|
||||
* `nvm install v8.16.0`
|
||||
* `nvm use v8.16.0`
|
||||
* `nvm install-latest-npm`
|
||||
* `cd ~`
|
||||
* Clone repo to home: `git clone https://github.com/wekan/wekan.git`
|
||||
* Install meteor (you can skip sudo by entering invalid password): `curl https://install.meteor.com/ | sh`
|
||||
* `cd wekan/`
|
||||
* `~/.meteor/meteor npm install --save babel-runtime xss meteor-node-stubs`
|
||||
* `~/.meteor/meteor npm install --save bcrypt`
|
||||
* `~/.meteor/meteor`
|
||||
|
||||
When you get this output, wekan is ready:
|
||||
```
|
||||
=> Started your app.
|
||||
|
||||
=> App running at: http://localhost:3000/
|
||||
```
|
||||
|
||||
Register new user for administrator
|
||||
175
docs/Platforms/OS/Install-latest-Wekan-release-on-Uberspace.md
Normal file
175
docs/Platforms/OS/Install-latest-Wekan-release-on-Uberspace.md
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
# 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-*`
|
||||
57
docs/Platforms/OS/Install-source-without-sudo-on-Linux.md
Normal file
57
docs/Platforms/OS/Install-source-without-sudo-on-Linux.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
In-progress script for installing npm modules locally. Not tested.
|
||||
|
||||
Anyone: If you get this working, edit this wiki and add remaining to be installed locally.
|
||||
|
||||
## TODO
|
||||
- Add MongoDB running locally like at wiki page [Install from source](Install-and-Update#install-mongodb-1)
|
||||
- Add node.js, npm etc installed locally
|
||||
- Update [wekan-autoinstall](https://github.com/wekan/wekan-autoinstall), please send pull requests
|
||||
- Update [Install from source](Install-and-Update#install-mongodb-1) so then this temporary page can possibly be removed later
|
||||
|
||||
## Related info
|
||||
- Node.js and npm version downloaded at [Dockerfile](https://github.com/wekan/wekan/blob/main/Dockerfile)
|
||||
- https://gist.github.com/isaacs/579814
|
||||
- http://linuxbrew.sh
|
||||
|
||||
## Only this run with sudo
|
||||
```
|
||||
sudo apt-get install build-essential c++ capnproto nodejs nodejs-legacy npm git curl
|
||||
```
|
||||
|
||||
## Install npm modules etc locally
|
||||
```
|
||||
# Local node module install from here:
|
||||
# https://docs.npmjs.com/getting-started/fixing-npm-permissions
|
||||
|
||||
# If NPM global package directory does not exists
|
||||
if [ ! -d "~/.npm-global" ]; then
|
||||
# Create it
|
||||
mkdir ~/.npm-global
|
||||
fi
|
||||
|
||||
# If .npm-global/bin is in the path
|
||||
if grep -Fxq "export PATH=~/.npm-global/bin:$PATH" ~/.bashrc
|
||||
then
|
||||
# Continue
|
||||
else
|
||||
# Add it to path
|
||||
echo "export PATH=~/.npm-global/bin:$PATH" >> ~/.bashrc
|
||||
# Add it to current path in RAM
|
||||
export PATH=~/.npm-global/bin:$PATH
|
||||
fi
|
||||
|
||||
```
|
||||
|
||||
## Install packages globally to local ~/.npm-global directory
|
||||
|
||||
```
|
||||
npm -g install n
|
||||
npm -g install npm@4.6.1
|
||||
npm -g install node-gyp
|
||||
npm -g install node-pre-gyp
|
||||
npm -g install fibers@1.0.15
|
||||
```
|
||||
|
||||
## Install meteor
|
||||
|
||||
Continue at [Install from source](Install-and-Update#install-manually-from-source)
|
||||
143
docs/Platforms/OS/Mac.md
Normal file
143
docs/Platforms/OS/Mac.md
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
<img src="https://wekan.github.io/wekan-logo.svg" width="20%" alt="Wekan logo" />
|
||||
|
||||
<img src="https://wekan.github.io/donated/MacStadium-developerlogo.png" width="20%" alt="Powered by MacStadium" />
|
||||
|
||||
## ChangeLog
|
||||
- Previously:
|
||||
- Below info about Wekan on Mac x64
|
||||
- [Wekan PWA on iOS Safari](PWA)
|
||||
- Many mobile web fixes
|
||||
- 2021-05-14 Wekan maintainer [xet7](https://github.com/xet7) got donated hardware [OpenSource MacStadium](https://www.macstadium.com/opensource) remote access to Mac Mini M1 that has 16 GB RAM and 1 TB SSD.
|
||||
- 2021-05-15 xet7 bought Apple Developer access for 99 euro/year. Trying to figure out how to sign some test app for iPhone, did not get it working yet.
|
||||
- 2021-05-16 Instructions added below by xet7 about how to run Wekan Server Node.js/MongoDB for development on M1.
|
||||
- 2021-06-21 xet7 got iPhone 12 mini for testing prototypes locally. Some testing of coding tools on M1.
|
||||
- 2022-02-12 [Enable drag handles on iPad landscape mode automatically](https://github.com/wekan/wekan/issues/3755).
|
||||
- TODO:
|
||||
- Trying to find out some way how to make macOS App Store and iOS iPhone/iPad App Store versions of Wekan.
|
||||
|
||||
## Docker: Easiest for install and use
|
||||
|
||||
1. Install Docker Desktop for Mac and start it. Then:
|
||||
|
||||
```
|
||||
git clone https://github.com/wekan/wekan
|
||||
|
||||
cd wekan
|
||||
```
|
||||
2. Look what is your Mac IP address:
|
||||
```
|
||||
ifconfig | grep broadcast | grep 'inet ' | cut -d: -f2 | awk '{ print $2}' | cut -d '/' -f 1
|
||||
```
|
||||
3. Edit docker-compose.yml-arm64
|
||||
```
|
||||
nano docker-compose.yml-arm64
|
||||
```
|
||||
4. Change ROOT_URL to be your IP address, like http://192.168.0.100 :
|
||||
|
||||
https://github.com/wekan/wekan/blob/main/docker-compose.yml-arm64#L185
|
||||
|
||||
5. Save and exit: Cmd-o Enter Cmd-x.
|
||||
|
||||
6. Start WeKan:
|
||||
```
|
||||
docker-compose up -d -f docker-compose.yml-arm64
|
||||
```
|
||||
7. At same local network, use any webbrowser at any computer/smartphone/TV to browse to your WeKan IP address, like http://192.168.0.100
|
||||
|
||||
## Mac M1 Wekan development
|
||||
|
||||
Meteor includes Node.js and MongoDB version, when developing. But if not developing, those can be installed like below in Bundle section.
|
||||
|
||||
1) Install rosetta:
|
||||
```
|
||||
softwareupdate --install-rosetta --agree-to-license
|
||||
```
|
||||
2) Clone Wekan:
|
||||
```
|
||||
git clone https://github.com/wekan/wekan
|
||||
cd wekan
|
||||
```
|
||||
3) Install Meteor etc
|
||||
```
|
||||
curl https://install.meteor.com/ | arch -x86_64 sh
|
||||
arch -x86_64 meteor npm install --save @babel/runtime
|
||||
```
|
||||
3a) Run Meteor on localhost port 4000:
|
||||
```
|
||||
WRITABLE_PATH=.. WITH_API=true RICHER_CARD_COMMENT_EDITOR=false arch -x86_64 meteor --port 4000
|
||||
```
|
||||
3b) Run Meteor on computer IP address on local network port 4000:
|
||||
```
|
||||
WRITABLE_PATH=.. ROOT_URL=http://192.168.0.100:4000 PORT=4000 WITH_API=true RICHER_CARD_COMMENT_EDITOR=false arch -x86_64 meteor --port 4000
|
||||
```
|
||||
|
||||
## Bundle for non-devepment use with start-wekan.sh
|
||||
|
||||
1. Download Node.js from https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4 , and MongoDB 6.x from https://www.mongodb.com/try/download/community
|
||||
2. Download wekan-VERSIONNUMBER.zip from https://releases.wekan.team
|
||||
3. Unzip file you downloaded at step 2. There will be directory called `bundle`.
|
||||
4. Download [start-wekan.sh script](https://raw.githubusercontent.com/wekan/wekan/master/start-wekan.sh) to directory `bundle` and set it as executeable with `chmod +x start-wekan.sh`
|
||||
5. Install Node.js version mentioned at https://wekan.github.io Download section
|
||||
6. Install MongoDB version mentioned at https://wekan.github.io Download section [with Mac install info](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/)
|
||||
7. Edit `start-wekan.sh` so that it has for example:
|
||||
```
|
||||
export WRITABLE_PATH=..
|
||||
export ROOT_URL=http://localhost:2000
|
||||
export PORT=2000
|
||||
export MONGO_URL=mongodb://127.0.0.1:27017/wekan
|
||||
```
|
||||
[More info about ROOT_URL](Settings)
|
||||
|
||||
8. Edit `start-wekan.sh` so that it starts in bundle directory command `node main.js`
|
||||
|
||||
## Build bundle from source and develop Wekan
|
||||
|
||||
1. Install XCode
|
||||
2. [With steps 3-6 fork and clone your fork of Wekan](https://github.com/wekan/wekan-maintainer/wiki/Developing-Wekan-for-Sandstorm#3-fork-wekan-and-clone-your-fork)
|
||||
|
||||
## Docker
|
||||
|
||||
Note: With Docker, please don't use latest tag. Only use release tags. See https://github.com/wekan/wekan/issues/3874
|
||||
|
||||
- [Repair Docker](Repair-Docker)
|
||||
- [Docker](Docker)
|
||||
- [Docker Dev Environment](https://github.com/wekan/wekan-dev)
|
||||
|
||||
If you don't need to build Wekan, use prebuilt container with docker-compose.yml from https://github.com/wekan/wekan like this:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
If you like to build from source, clone Wekan repo:
|
||||
```
|
||||
git clone https://github.com/wekan/wekan
|
||||
```
|
||||
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/main/docker-compose.yml#L132-L142) this way:
|
||||
```
|
||||
#-------------------------------------------------------------------------------------
|
||||
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
||||
# ==== and use commands: docker-compose up -d --build
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
- NODE_VERSION=${NODE_VERSION}
|
||||
- METEOR_RELEASE=${METEOR_RELEASE}
|
||||
- NPM_VERSION=${NPM_VERSION}
|
||||
- ARCHITECTURE=${ARCHITECTURE}
|
||||
- SRC_PATH=${SRC_PATH}
|
||||
- METEOR_EDGE=${METEOR_EDGE}
|
||||
- USE_EDGE=${USE_EDGE}
|
||||
#-------------------------------------------------------------------------------------
|
||||
```
|
||||
Then you can build Wekan with
|
||||
```
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
## macOS Finder: Show hidden files
|
||||
|
||||
Q: Is there file manager, that shows all files and directories that are at directory? Or should I use mc at zsh? For example, if there is directory /Users/username/repos, it is not visible in Finder, until I move it to /Users/username/Downloads/repos
|
||||
|
||||
A: I just add my home directory to the list of favorites. You can also just go to any directory you want with CMD+Shift+G .
|
||||
CMD+Shift+Period toggles hidden files on and off
|
||||
315
docs/Platforms/OS/OAuth2.md
Normal file
315
docs/Platforms/OS/OAuth2.md
Normal file
|
|
@ -0,0 +1,315 @@
|
|||
- [More RocketChat fixes here](https://github.com/wekan/wekan/wiki/RocketChat)
|
||||
- [OAuth2 small bug](https://github.com/wekan/wekan/issues/1874) - currently OAuth2 works mostly
|
||||
|
||||
# OAuth2 providers
|
||||
|
||||
You can use some OAuth2 providers for logging into Wekan, for example:
|
||||
- [Auth0](OAuth2#auth0) - works
|
||||
- [Rocket.Chat](OAuth2#rocketchat-providing-oauth2-login-to-wekan) - works
|
||||
- [GitLab](OAuth2#gitlab-providing-oauth2-login-to-wekan) - works
|
||||
- Google - not tested yet
|
||||
- [LemonLDAP::NG](OAuth2#lemonldapng) - works
|
||||
|
||||
You can ask your identity provider (LDAP, SAML etc) do they support adding OAuth2 application like Wekan.
|
||||
|
||||
## GitLab providing OAuth2 login to Wekan
|
||||
|
||||
[Thanks to derhelge who figured out GitLab login](https://github.com/wekan/wekan/issues/3156).
|
||||
|
||||
[GitLab login related debugging](https://github.com/wekan/wekan/issues/3321)
|
||||
|
||||
These are the settings (snap installation):
|
||||
```shell
|
||||
sudo snap set wekan oauth2-enabled='true'
|
||||
sudo snap set wekan oauth2-client-id='xxx'
|
||||
sudo snap set wekan oauth2-secret='xxx'
|
||||
sudo snap set wekan oauth2-server-url='https://gitlab.example.com/'
|
||||
sudo snap set wekan oauth2-auth-endpoint='oauth/authorize'
|
||||
sudo snap set wekan oauth2-userinfo-endpoint='oauth/userinfo'
|
||||
sudo snap set wekan oauth2-token-endpoint='oauth/token'
|
||||
sudo snap set wekan oauth2-id-map='sub'
|
||||
sudo snap set wekan oauth2-username-map='nickname'
|
||||
sudo snap set wekan oauth2-fullname-map='name'
|
||||
sudo snap set wekan oauth2-email-map='email'
|
||||
sudo snap set wekan oauth2-request-permissions='openid profile email'
|
||||
```
|
||||
And in GitLab you have to set the same scopes inside the created Application:
|
||||
* openid
|
||||
* profile
|
||||
* email
|
||||
|
||||
The redirect URL is described in the wekan wiki: https://wekan.example.com/_oauth/oidc
|
||||
|
||||
## Rocket.Chat providing OAuth2 login to Wekan
|
||||
|
||||
- [More RocketChat fixes here](https://github.com/wekan/wekan/wiki/RocketChat)
|
||||
- [RocketChat Skip Install Registration Wizard Fix](https://github.com/RocketChat/Rocket.Chat/issues/31163#issuecomment-1848364117)
|
||||
|
||||
> So for someone using snap, it means creating a file `/var/snap/rocketchat-server/common/override-setup-wizard.env ` (the name of the file itself could be anything as long as it has an .env extension) and setting its content to `OVERWRITE_SETTING_Show_Setup_Wizard=completed`
|
||||
>
|
||||
> Then, restarting the server by `systemctl restart snap.rocketchat-server.rocketchat-server.service`
|
||||
|
||||
- [RocketChat Webhook workaround](https://github.com/wekan/univention/issues/15)
|
||||
|
||||
Also, if you have Rocket.Chat using LDAP/SAML/Google/etc for logging into Rocket.Chat, then same users can login to Wekan when Rocket.Chat is providing OAuth2 login to Wekan.
|
||||
|
||||
If there is existing username/password account in Wekan, OAuth2 merges both logins.
|
||||
|
||||
Source: [OAuth2 Pull Request](https://github.com/wekan/wekan/pull/1578)
|
||||
|
||||
# Docker
|
||||
|
||||
https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml#L146-L166
|
||||
|
||||
# Snap
|
||||
|
||||
### 1) Install Rocket.Chat
|
||||
|
||||
[Rocket.Chat Snap](https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps/) has Node at port 3000 and mongodb at port 27017.
|
||||
```
|
||||
sudo snap install rocketchat-server
|
||||
sudo systemctl disable rocketchat-server.rocketchat-caddy
|
||||
sudo systemctl stop rocketchat-server.rocketchat-caddy
|
||||
```
|
||||
|
||||
### 2) Install Wekan
|
||||
|
||||
[Wekan Snap](https://github.com/wekan/wekan-snap/wiki/Install) has Node at port 3001 and MongoDB at port 27019.
|
||||
```
|
||||
sudo snap install wekan
|
||||
sudo snap set wekan root-url='https://BOARDS.YOURDOMAIN.COM'
|
||||
sudo snap set wekan port='3001'
|
||||
sudo snap set core refresh.schedule=02:00-04:00
|
||||
sudo snap set wekan with-api='true'
|
||||
```
|
||||
Email settings [ARE NOT REQUIRED](Troubleshooting-Mail), Wekan works without setting up Email.
|
||||
```
|
||||
sudo snap set wekan mail-url='smtps://user:pass@MAILSERVER.YOURDOMAIN.COM:453'
|
||||
sudo snap set wekan mail-from='Wekan Boards <support@YOURDOMAIN.COM>'
|
||||
```
|
||||
Edit Caddyfile:
|
||||
```
|
||||
sudo nano /var/snap/wekan/common/Caddyfile
|
||||
```
|
||||
Add Caddy config. This uses free Let's Encrypt SSL. You can also use [free CloudFlare wildcard SSL or any other SSL cert](Caddy-Webserver-Config).
|
||||
```
|
||||
boards.yourdomain.com {
|
||||
proxy / localhost:3001 {
|
||||
websocket
|
||||
transparent
|
||||
}
|
||||
}
|
||||
|
||||
chat.yourdomain.com {
|
||||
proxy / localhost:3000 {
|
||||
websocket
|
||||
transparent
|
||||
}
|
||||
}
|
||||
```
|
||||
Enable Wekan's Caddy:
|
||||
```
|
||||
sudo snap set wekan caddy-enabled='true'
|
||||
```
|
||||
|
||||
### 3) Add Rocket.Chat settings
|
||||
|
||||
Login to Rocket.Chat at https://chat.yourdomain.com .
|
||||
|
||||
Accept chat URL to be https://chat.yourdomain.com .
|
||||
|
||||
Click: (3 dots) Options / Administration / OAuth Apps / NEW APPLICATION
|
||||
|
||||
CHANGE BELOW ONLY THOSE THAT ARE UPPER CASE, AND URLs TO LOWER CASE.
|
||||
|
||||
Add settings:
|
||||
|
||||
```
|
||||
Active: [X] True
|
||||
Application Name: WEKAN
|
||||
Redirect URI: https://BOARDS.YOURDOMAIN.COM/_oauth/oidc
|
||||
Client ID: abcde12345 <=== Rocket.Chat generates random text to here
|
||||
Client Secret: 54321abcde <=== Rocket.Chat generates random text to here
|
||||
Authorization URL: https://CHAT.YOURDOMAIN.COM/oauth/authorize
|
||||
Access Token URL: https://CHAT.YOURDOMAIN.COM/oauth/token
|
||||
```
|
||||
Save Changes.
|
||||
|
||||
### 4) Add Wekan settings
|
||||
Copy below commands to `auth.sh` textfile, make it executeable `chmod +x auth.sh` and run it with `./auth.sh`.
|
||||
|
||||
CHANGE BELOW ONLY THOSE THAT ARE UPPER CASE, AND URLs TO LOWER CASE.
|
||||
```
|
||||
sudo snap set wekan oauth2-enabled='true'
|
||||
sudo snap set wekan oauth2-client-id='YOUR-CLIENT-ID'
|
||||
sudo snap set wekan oauth2-secret='YOUR-CLIENT-SECRET'
|
||||
sudo snap set wekan oauth2-server-url='https://CHAT.YOURDOMAIN.COM/'
|
||||
sudo snap set wekan oauth2-auth-endpoint='oauth/authorize'
|
||||
sudo snap set wekan oauth2-userinfo-endpoint='oauth/userinfo'
|
||||
sudo snap set wekan oauth2-token-endpoint='oauth/token'
|
||||
sudo snap set wekan oauth2-id-map='preffered_username'
|
||||
sudo snap set wekan oauth2-username-map='preffered_username'
|
||||
sudo snap set wekan oauth2-fullname-map='preffered_username'
|
||||
sudo snap set wekan oauth2-email-map='email'
|
||||
```
|
||||
### If login does not work, debug it
|
||||
```
|
||||
sudo snap set wekan debug='true'
|
||||
```
|
||||
Click Oidc button. Then:
|
||||
```
|
||||
sudo snap logs wekan.wekan
|
||||
sudo systemctl status snap.wekan.wekan
|
||||
```
|
||||
|
||||
### 5) Login to Wekan
|
||||
|
||||
1) Go to https://boards.example.com
|
||||
|
||||
2) Click `Sign in with Oidc`
|
||||
|
||||
3) Click `Authorize` . This is asked only first time when logging in to Wekan with Rocket.Chat.
|
||||
|
||||
<img src="https://wekan.github.io/oauth2-login.png" width="60%" alt="Wekan login to Rocket.Chat" />
|
||||
|
||||
### 6) Set your Full Name
|
||||
|
||||
Currently Full Name is not preserved, so you need to change it.
|
||||
|
||||
1) Click `Your username / Profile`
|
||||
|
||||
2) Add info and Save.
|
||||
|
||||
<img src="https://wekan.github.io/oauth2-profile-settings.png" width="60%" alt="Wekan login to Rocket.Chat" />
|
||||
|
||||
### 7) Add more login options to Rocket.Chat
|
||||
|
||||
1) At Rocket.Chat, Click: (3 dots) Options / Administration
|
||||
|
||||
2) There are many options at OAuth menu. Above and below of OAuth are also CAS, LDAP and SAML.
|
||||
|
||||
<img src="https://wekan.github.io/oauth-rocketchat-options.png" width="100%" alt="Wekan login to Rocket.Chat" />
|
||||
|
||||
# Auth0
|
||||
|
||||
[Auth0](https://auth0.com) can provide PasswordlessEmail/Google/Facebook/LinkedIn etc login options to Wekan.
|
||||
|
||||
### 1) Auth0 / Applications / Add / Regular Web Application / Auth0 Settings
|
||||
|
||||
CHANGE BELOW ONLY THOSE THAT ARE UPPER CASE, AND URLs TO LOWER CASE.
|
||||
```
|
||||
Client ID: <== Copy to below snap settings
|
||||
Secret: <== Copy to below snap settings
|
||||
Account url: YOURACCOUNT.eu.auth0.com <== Copy to below snap settings
|
||||
Application Logo: <== Add your logo
|
||||
Application Type: Single Page Application
|
||||
Token Endpoint Authentication Method: Post
|
||||
Allowed Callback URLs: https://BOARDS.YOURDOMAIN.COM/_oauth/oidc <== Change your Wekan address
|
||||
Allowed Web Origins: https://BOARDS.YOURDOMAIN.COM <== Change your Wekan address
|
||||
Use Auth0 instead of the IdP to do Single Sign On: [X]
|
||||
```
|
||||
If you need more info, they are at bottom of the page Advanced Settings / Endpoint / OAuth
|
||||
|
||||
2) Auth0 Dashboard => Rules => Add Rule
|
||||
|
||||
CHANGE BELOW ONLY THOSE THAT ARE UPPER CASE, AND URLs TO LOWER CASE.
|
||||
|
||||
Rule Name: Encrich Wekan login
|
||||
```
|
||||
function (user, context, callback) {
|
||||
// Only use this rule for Auth0 Dashboard / Applications / WekanApplication
|
||||
if(context.clientName !== 'YOUR-APPLICATION-NAME'){
|
||||
return callback(null, user, context);
|
||||
}
|
||||
user.user_metadata = user.user_metadata || {};
|
||||
var ns = "https://BOARDS.YOURDOMAIN.COM/";
|
||||
context.idToken[ns + "id"] = user.user_id;
|
||||
context.idToken[ns + "email"] = user.email;
|
||||
context.idToken[ns + "name"] = user.name || user.user_metadata.name;
|
||||
context.idToken[ns + "picture"] = user.picture;
|
||||
callback(null, user, context);
|
||||
}
|
||||
```
|
||||
|
||||
### 3) Snap settings, change to it from above client-id, secret, server-url and web-origin (=namespace for rules function above).
|
||||
|
||||
Note: namespace works for multiple apps. For example, you can use same namespace url for many different wekan board apps that have different client-id etc, and different board url, and still use same namespace url like https://boards.example.com .
|
||||
|
||||
CHANGE BELOW ONLY THOSE THAT ARE UPPER CASE.
|
||||
```
|
||||
sudo snap set wekan oauth2-client-id='YOUR-CLIENT-ID'
|
||||
sudo snap set wekan oauth2-secret='YOUR-SECRET'
|
||||
sudo snap set wekan oauth2-server-url='https://YOURACCOUNT.eu.auth0.com'
|
||||
sudo snap set wekan oauth2-auth-endpoint='/authorize'
|
||||
sudo snap set wekan oauth2-userinfo-endpoint='/userinfo'
|
||||
sudo snap set wekan oauth2-token-endpoint='/oauth/token'
|
||||
sudo snap set wekan oauth2-id-map='https://BOARDS.YOURDOMAIN.COM/id'
|
||||
sudo snap set wekan oauth2-username-map='https://BOARDS.YOURDOMAIN.COM/email'
|
||||
sudo snap set wekan oauth2-fullname-map='https://BOARDS.YOURDOMAIN.COM/name'
|
||||
sudo snap set wekan oauth2-email-map='https://BOARDS.EXAMPLE.COM/email'
|
||||
```
|
||||
For login to work, you need to:
|
||||
- Create first Admin user
|
||||
- Add other users with REST API or Password registration
|
||||
- Login with OIDC button
|
||||
- Have Auth0 configured for passwordless email login (on some other login)
|
||||
|
||||
### 4) Auth0 ID provider to Custom OAuth RocketChat
|
||||
|
||||
These do work currently so that Auth0 passwordless login to RocketChat does work,
|
||||
but there is some additional code also that is not added as PR to RocketChat yet.
|
||||
Code mainly has generating custom authorization cookie from user email with addition to
|
||||
RocketChat API, and using it and login_token + rc_token to check on RocketChat login page
|
||||
using router repeating trigger so that if those cookies exist then automatically login
|
||||
user in using RocketChat Custom OAuth2.
|
||||
|
||||
CHANGE BELOW ONLY THOSE THAT ARE UPPER CASE, AND URLs TO LOWER CASE.
|
||||
```
|
||||
Enable: [X] True
|
||||
URL: https://YOURACCOUNT.eu.auth0.com/
|
||||
Token Path: oauth/token
|
||||
Token Sent Via: Payload
|
||||
Identity Token Sent Via: Same as "Token Sent Via"
|
||||
Identity Path: userinfo
|
||||
Authorize Path: authorize
|
||||
Scope: openid profile email
|
||||
ID: YOUR-ACCOUNT-ID
|
||||
Secret: YOUR-ACCOUNT-SECRET
|
||||
Login Style: Redirect
|
||||
Button Text: JOIN CHAT
|
||||
Button Text Color: #FFFFFF
|
||||
Button Color: #000000
|
||||
Username field: (empty)
|
||||
Merge users: [X] True
|
||||
```
|
||||
|
||||
# lemonldapng
|
||||
|
||||
Official documentation : https://lemonldap-ng.org/documentation/latest/applications/wekan
|
||||
|
||||
## Wekan Config
|
||||
|
||||
Basically, you need to set theses variables to your wekan env :
|
||||
|
||||
```
|
||||
OAUTH2_ENABLED: TRUE
|
||||
OAUTH2_CLIENT_ID: ClientID
|
||||
OAUTH2_SECRET: Secret
|
||||
OAUTH2_SERVER_URL: https://auth.example.com/
|
||||
OAUTH2_AUTH_ENDPOINT: oauth2/authorize
|
||||
OAUTH2_USERINFO_ENDPOINT: oauth2/userinfo
|
||||
OAUTH2_TOKEN_ENDPOINT: oauth2/token
|
||||
OAUTH2_ID_MAP: sub
|
||||
```
|
||||
|
||||
## LemonLDAP::NG Config
|
||||
|
||||
You need to set a new OpenID Connect Relay Party (RP) with theses parameters :
|
||||
|
||||
* Client ID: the same you set in Wekan configuration (same as OAUTH2_CLIENT_ID)
|
||||
* Client Secret: the same you set in Wekan configuration (same as OAUTH2_SECRET)
|
||||
* Add the following exported attributes
|
||||
* name: session attribute containing the user's full name
|
||||
* email: session attribute containing the user's email or _singleMail
|
||||
|
||||
See LLNG doc for more details
|
||||
38
docs/Platforms/OS/OpenSuse.md
Normal file
38
docs/Platforms/OS/OpenSuse.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
## Install WeKan for OpenSuse amd64
|
||||
|
||||
1) Install Snap:
|
||||
|
||||
https://snapcraft.io/docs/installing-snap-on-opensuse
|
||||
|
||||
2) Install WeKan:
|
||||
|
||||
```
|
||||
sudo snap install wekan --channel=latest/candidate
|
||||
sudo snap set wekan root-url='http://localhost'
|
||||
sudo snap set wekan port='80'
|
||||
```
|
||||
|
||||
3) Register at at http://localhost/sign-up
|
||||
|
||||
Login at http://localhost/sign-in
|
||||
|
||||
More info at https://github.com/wekan/wekan/wiki/Adding-users
|
||||
|
||||
4) If you instead would like to access WeKan from other
|
||||
laptops on your local network, check what is your computer
|
||||
IP address, and change your IP address here:
|
||||
|
||||
```
|
||||
sudo snap set wekan root-url='http://192.168.0.200'
|
||||
```
|
||||
|
||||
More info at https://github.com/wekan/wekan/wiki/Settings
|
||||
|
||||
5) Create app icon for your mobile devices on local WLAN:
|
||||
|
||||
https://github.com/wekan/wekan/wiki/PWA
|
||||
|
||||
6) Some more info:
|
||||
|
||||
- https://github.com/wekan/wekan-snap/wiki/Install
|
||||
- https://github.com/wekan/wekan/wiki
|
||||
Loading…
Add table
Add a link
Reference in a new issue