mirror of
https://github.com/wekan/wekan.git
synced 2025-12-21 01:40:13 +01:00
Reorganized Docs. In Progress.
This commit is contained in:
parent
1961e22cbd
commit
ce89ff4833
202 changed files with 0 additions and 0 deletions
242
docs/Docker/Docker.md
Normal file
242
docs/Docker/Docker.md
Normal file
|
|
@ -0,0 +1,242 @@
|
|||
## Docker Containers
|
||||
|
||||
- [GitHub](https://github.com/wekan/wekan/pkgs/container/wekan)
|
||||
- [Docker Hub](https://hub.docker.com/r/wekanteam/wekan)
|
||||
- [Quay](https://quay.io/repository/wekan/wekan)
|
||||
|
||||
docker-compose.yml at https://github.com/wekan/wekan
|
||||
|
||||
Edit it to have IP address of your server
|
||||
```
|
||||
export ROOT_URL=http://SERVER-IP-ADDRESS-HERE
|
||||
```
|
||||
Then start WeKan with:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
SSL/TLS info at https://github.com/wekan/wekan/wiki/Settings
|
||||
|
||||
## Please only use Docker release tags
|
||||
|
||||
## Repair Docker
|
||||
|
||||
[Repair Docker](Repair-Docker)
|
||||
|
||||
## Using only Docker commands
|
||||
|
||||
[](https://quay.io/repository/wekan/wekan)
|
||||
|
||||
[Many tags available](https://quay.io/repository/wekan/wekan?tab=tags)
|
||||
|
||||
## Note: docker-compose.yml works
|
||||
|
||||
There is much more settings at well-documented [docker-compose.yml](https://raw.githubusercontent.com/wekan/wekan/master/docker-compose.yml), those can also be added to be used below.
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
## Example for latest Wekan, port 2000 to Docker Wekan internal port 8080
|
||||
```
|
||||
docker run -d --restart=always --name wekan-db mongo:5
|
||||
|
||||
docker run -d --restart=always --name wekan --link "wekan-db:db" -e "WITH_API=true" -e "MONGO_URL=mongodb://wekan-db:27017/wekan" -e "ROOT_URL=http://192.168.1.200:2000" -p 2000:8080 wekanteam/wekan:v5.41
|
||||
```
|
||||
Specific release in above URL, not latest:
|
||||
```
|
||||
quay.io/wekan/wekan:v3.37
|
||||
```
|
||||
For latest development version, use without tag:
|
||||
```
|
||||
quay.io/wekan/wekan
|
||||
```
|
||||
|
||||
## DockerBunker: Easy Docker management
|
||||
|
||||
[Managing Docker containers with DockerBunker](https://github.com/chaosbunker/dockerbunker)
|
||||
|
||||
## CaptainDuckDuck
|
||||
|
||||
[Managing Docker containers with CaptainDuckDuck](https://github.com/wekan/wekan/issues/1375#issuecomment-413626075)
|
||||
|
||||
## Backup and Upgrade
|
||||
|
||||
[Import/Export MongoDB data to/from Docker container](Export-Docker-Mongo-Data)
|
||||
|
||||
[Move Docker containers to other computer](Move-Docker-containers-to-other-computer), needs more details
|
||||
|
||||
### Backup before upgrade
|
||||
```
|
||||
docker stop wekan-app
|
||||
docker exec -it wekan-db bash
|
||||
cd /data
|
||||
rm -rf dump
|
||||
mongodump
|
||||
exit
|
||||
docker start wekan-app
|
||||
docker cp wekan-db:/data/dump .
|
||||
```
|
||||
### Upgrade
|
||||
```
|
||||
docker stop wekan-app
|
||||
docker rm wekan-app
|
||||
```
|
||||
Then edit docker-compose.yml to have higher wekan-app image version tag, like `image: wekanteam/wekan:v4.12`. Then:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
### Images
|
||||
Quay: `image: quay.io/wekan/wekan:v4.07`
|
||||
Docker Hub: `image: wekanteam/wekan:v4.07`
|
||||
|
||||
### Restore
|
||||
```
|
||||
docker stop wekan-app
|
||||
docker exec -it wekan-db bash
|
||||
cd /data
|
||||
rm -rf dump
|
||||
exit
|
||||
docker cp dump wekan-db:/data/
|
||||
docker exec -it wekan-db bash
|
||||
cd /data
|
||||
mongorestore --drop
|
||||
exit
|
||||
docker start wekan-app
|
||||
```
|
||||
## Cleanup
|
||||
|
||||
[Cleanup and delete all Docker data to get Docker Compose working](https://github.com/wekan/wekan/issues/985)
|
||||
|
||||
[Cleanup scripts to remove old data](https://github.com/wekan/wekan-cleanup)
|
||||
|
||||
## Docker Compose
|
||||
|
||||
[Docker Compose: Wekan <=> MongoDB](https://github.com/wekan/wekan-mongodb). REQUIRED: READ AND ADD SETTINGS LIKE ROOT_URL ETC TO docker-compose.yml textfile. It also has info about using same MongoDB database for office and VPN users.
|
||||
|
||||
[Docker Compose: Wekan <=> MongoDB <=> ToroDB => PostgreSQL read-only mirroring](https://github.com/wekan/wekan-postgresql)
|
||||
|
||||
TODO: [Docker Compose: Wekan <=> MongoDB <=> ToroDB => MySQL read-only mirroring](https://github.com/torodb/stampede/issues/203)
|
||||
|
||||
## OpenShift
|
||||
|
||||
[OpenShift](OpenShift)
|
||||
|
||||
## SLES
|
||||
|
||||
[SLES SP1](Install-Wekan-Docker-on-SUSE-Linux-Enterprise-Server-12-SP1)
|
||||
|
||||
## Rancher
|
||||
|
||||
[Rancher Rancher Active Proxy](Rancher---Rancher-Active-Proxy---Wekan-MongoDB-Docker)
|
||||
|
||||
## Testing
|
||||
|
||||
[Install for testing](Install-Wekan-Docker-for-testing)
|
||||
|
||||
## Production
|
||||
|
||||
[Production setup for thousands of users with Docker at AWS](AWS)
|
||||
|
||||
[Other way to do production](Install-Wekan-Docker-in-production)
|
||||
|
||||
## External MongoDB auth
|
||||
|
||||
[External MongoDB authentication](https://github.com/wekan/wekan/issues/1375)
|
||||
|
||||
## Admin Panel
|
||||
|
||||
First registered Wekan user will get Admin Panel on new Docker and source based
|
||||
installs. You can also [enable Admin Panel manually](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease)
|
||||
|
||||
## Docker Hub - sometimes broken
|
||||
|
||||
Currently there are two dockerhub builds for wekan. One at [mquandalle dockerhub](https://hub.docker.com/r/mquandalle/wekan/builds/) and another at [wekanteam dockerhub](https://hub.docker.com/r/wekanteam/wekan/builds/).
|
||||
|
||||
[wekanteam dockerhub](https://hub.docker.com/r/wekanteam/wekan/builds/) is usually broken.
|
||||
|
||||
## Development:
|
||||
|
||||
### `docker run` examples
|
||||
|
||||
- MongoDB:
|
||||
|
||||
```
|
||||
docker run -d --restart=always --name wekan-db mongo:3.2.20
|
||||
```
|
||||
|
||||
- No build step, pull from the [quay](https://quay.io/repository/wekan/wekan?tab=tags) and
|
||||
specify docker variables
|
||||
|
||||
```
|
||||
docker run -d --restart=always --name wekan --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://localhost:8080" -p 8080:8080 quay.io/wekan/wekan
|
||||
```
|
||||
|
||||
|
||||
### `docker-compose` examples
|
||||
|
||||
- No build step and pull from [quay](https://quay.io/repository/wekan/wekan?tab=tags)
|
||||
|
||||
```
|
||||
sudo docker-compose up -d --nobuild
|
||||
```
|
||||
|
||||
- Build default
|
||||
```
|
||||
sudo docker-compose up -d --build
|
||||
```
|
||||
|
||||
- Build with newer Node version:
|
||||
```
|
||||
echo 'NODE_VERSION=v8.11.1' >> .env && \
|
||||
sudo docker-compose up -d --build
|
||||
```
|
||||
|
||||
- Build custom image off a release candidate or beta for meteor
|
||||
```
|
||||
echo 'METEOR_EDGE=1.5-beta.17' >> .env && \
|
||||
echo 'USE_EDGE=true' >> .env && \
|
||||
sudo docker-compose up -d --build
|
||||
```
|
||||
|
||||
## Docker env for Wekan dev
|
||||
|
||||
* [Docker environment for Wekan Development](https://github.com/wekan/wekan-dev)
|
||||
|
||||
## Alpine, needs testing
|
||||
|
||||
* [Docker Compose: Alpine Linux and Wekan <=> MongoDB](https://github.com/wekan/wekan-launchpad)
|
||||
|
||||
## Webserver Config
|
||||
|
||||
* [Caddy Webserver Config](Caddy-Webserver-Config)
|
||||
* [Nginx Webserver Config](Nginx-Webserver-Config)
|
||||
* [Apache Webserver Config](Apache)
|
||||
205
docs/Docker/Export-Docker-Mongo-Data.md
Normal file
205
docs/Docker/Export-Docker-Mongo-Data.md
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
[Managing Docker containers with DockerBunker](https://github.com/chaosbunker/dockerbunker)
|
||||
|
||||
## Important info
|
||||
|
||||
You need to stop Wekan before importing MongoDB database with command:
|
||||
|
||||
`docker stop wekan-app`
|
||||
|
||||
And also check that in your start-wekan.sh or docker-compose.yml or similar that
|
||||
you have corrent MongoDB database name admin, wekan, etc.
|
||||
Otherwise it will be empty.
|
||||
|
||||
Docker containers are at `/var/lib/docker`, so it [may contain important data that could be hard to recover](https://github.com/wekan/wekan-mongodb/issues/8). Restoring mongodump files is much easier. [Related backup feature request](https://github.com/wekan/wekan/issues/1534). With backups it's important to [save file and directory permissions](https://askubuntu.com/questions/225865/copy-files-without-losing-file-folder-permissions).
|
||||
|
||||
***
|
||||
|
||||
|
||||
Check from your Dockerfile or docker-compose.yml what is name of MongoDB container.
|
||||
It can be wekan-db, mongodb or something else.
|
||||
|
||||
1) You can run Wekan on Docker locally like this on http://localhost:8080/
|
||||
(or other port it you change 8080 in script):
|
||||
```bash
|
||||
docker run -d --restart=always --name wekan-db mongo:3.2.18
|
||||
|
||||
docker run -d --restart=always --name wekan-app --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://localhost:8080" -p 8080:80 wekanteam/wekan:latest
|
||||
```
|
||||
|
||||
2) List docker containers, your ID:s will be different:
|
||||
```bash
|
||||
docker ps
|
||||
```
|
||||
Result:
|
||||
```bash
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
1234wekanid wekanteam/wekan:latest "/bin/sh -c 'bash $ME" About an hour ago Up 46 minutes 0.0.0.0:8080->80/tcp wekan-app
|
||||
4321mongoid mongo "/entrypoint.sh mongo" About an hour ago Up 46 minutes 27017/tcp wekan-db
|
||||
```
|
||||
|
||||
3) Enter inside mongo container:
|
||||
```bash
|
||||
docker exec -it wekan-db bash
|
||||
```
|
||||
|
||||
4) OPTIONAL: If you want to browse data inside container, you can use CLI commands like listed at
|
||||
|
||||
https://docs.mongodb.com/manual/reference/mongo-shell/
|
||||
|
||||
like this:
|
||||
|
||||
```bash
|
||||
> mongo <==== START MONGO CLI
|
||||
MongoDB shell version: 3.2.18
|
||||
connecting to: test
|
||||
Server has startup warnings:
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten]
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten]
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
|
||||
2016-06-25T11:39:55.913+0000 I CONTROL [initandlisten]
|
||||
> show dbs <=== SHOW DATABASES
|
||||
admin 0.034GB
|
||||
local 0.000GB
|
||||
> use admin <=== CHANGE TO USE ADMIN DATABASE
|
||||
switched to db admin
|
||||
> show collections <=== SHOWS TABLES
|
||||
activities
|
||||
boards
|
||||
card_comments
|
||||
cards
|
||||
cfs._tempstore.chunks
|
||||
cfs.attachments.filerecord
|
||||
cfs_gridfs._tempstore.chunks
|
||||
cfs_gridfs._tempstore.files
|
||||
cfs_gridfs.attachments.chunks
|
||||
cfs_gridfs.attachments.files
|
||||
esCounts
|
||||
lists
|
||||
meteor-migrations
|
||||
meteor_accounts_loginServiceConfiguration
|
||||
presences
|
||||
users
|
||||
> db.users.find() <=== LISTS ALL USERS
|
||||
(list of all users here)
|
||||
> exit <=== EXIT MONGO CLI
|
||||
```
|
||||
|
||||
5) Go to / directory:
|
||||
```bash
|
||||
cd /
|
||||
```
|
||||
|
||||
6) Backup database to files inside container to directory /dump, only Wekan database with name "wekan" is included, not local:
|
||||
```bash
|
||||
mongodump -o /dump/
|
||||
```
|
||||
|
||||
7) Exit from inside of container:
|
||||
```bash
|
||||
exit
|
||||
```
|
||||
|
||||
8) Copy backup directory /dump from inside of container to current directory:
|
||||
```bash
|
||||
docker cp wekan-db:/dump .
|
||||
```
|
||||
|
||||
9a) Restore backup later (restore from /data/dump):
|
||||
```bash
|
||||
docker cp dump wekan-db:/data/
|
||||
docker exec -it wekan-db bash
|
||||
cd /data
|
||||
## Only if you get errors about existing indexes, use this instead:
|
||||
## mongorestore --drop --noIndexRestore --db wekan /data/dump/wekan/
|
||||
mongorestore --drop --db wekan /data/dump/wekan/
|
||||
exit
|
||||
```
|
||||
|
||||
That dbname can be for example wekan:
|
||||
```
|
||||
## Only if you get errors about existing indexes, use this instead:
|
||||
## mongorestore --drop --noIndexRestore --db wekan /data/dump/wekan/
|
||||
mongorestore --drop --db wekan /data/dump/wekan/
|
||||
```
|
||||
|
||||
9b) Or restore to another mongo database, in different port:
|
||||
```bash
|
||||
mongorestore --port 11235
|
||||
```
|
||||
|
||||
10) If you would like to browse mongo database that is outside of docker in GUI, you could try some admin interface:
|
||||
|
||||
https://docs.mongodb.com/ecosystem/tools/administration-interfaces/
|
||||
|
||||
11) If you sometime after backups want to remove wekan containers to reinstall them, do (CAREFUL):
|
||||
```bash
|
||||
docker stop wekan-app wekan-db
|
||||
docker rm wekan-app wekan-db
|
||||
```
|
||||
Then you can reinstall from step 1.
|
||||
|
||||
12) If latest version of Wekan Docker image is broken, here's how to run older version:
|
||||
|
||||
https://github.com/wekan/wekan/issues/659
|
||||
|
||||
## Backup and restore scripts
|
||||
|
||||
Edit these to suit your own requirements - they will delete backups older than 7 days.
|
||||
|
||||
Backup Script
|
||||
```bash
|
||||
#!/bin/bash
|
||||
DATE=$(date +%Y-%m-%d-%H-%M)
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
cd $SCRIPTPATH
|
||||
mkdir -p backups/$DATE
|
||||
docker ps -a | grep 'wekan-db' &> /dev/null
|
||||
if [ $? = 0 ]; then
|
||||
docker exec -t wekan-db bash -c "rm -fr /dump ; mkdir /dump ; mongodump -o /dump/"
|
||||
docker cp wekan-db:/dump $SCRIPTPATH/backups/$DATE
|
||||
tar -zc -f backups/$DATE.tgz -C $SCRIPTPATH/backups/$DATE/dump wekan
|
||||
if [ -f backups/$DATE.tgz ]; then
|
||||
rm -fr backups/$DATE
|
||||
find $SCRIPTPATH/backups/ -name "*.tgz" -mtime +7 -delete
|
||||
fi
|
||||
else
|
||||
echo "wekan-db container is not running"
|
||||
exit 1
|
||||
fi
|
||||
```
|
||||
|
||||
Restore Script
|
||||
```bash
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
echo "Supply a path to a tgz file!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
DATE=$(basename $1 .tgz)
|
||||
|
||||
docker ps -a | grep 'wekan-db' &> /dev/null
|
||||
if [ $? = 0 ]; then
|
||||
|
||||
if [ -f $1 ]; then
|
||||
docker stop wekan-app
|
||||
mkdir -p $SCRIPTPATH/backups/$DATE-restore
|
||||
tar -zx -f $1 -C $SCRIPTPATH/backups/$DATE-restore
|
||||
docker exec -t wekan-db bash -c "rm -fr /restore ; mkdir /restore"
|
||||
docker cp $SCRIPTPATH/backups/$DATE-restore/wekan wekan-db:/restore
|
||||
## Only if you get errors about existing indexes, use this instead:
|
||||
## docker exec -t wekan-db bash -c "mongorestore --drop --noIndexRestore --db wekan /restore/wekan/"
|
||||
docker exec -t wekan-db bash -c "mongorestore --drop --db wekan /restore/wekan/"
|
||||
docker start wekan-app
|
||||
fi
|
||||
else
|
||||
echo "wekan-db container is not running"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
```
|
||||
104
docs/Docker/Install-Wekan-Docker-for-testing.md
Normal file
104
docs/Docker/Install-Wekan-Docker-for-testing.md
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
**Purpose**: just to try Wekan on your own Linux workstation
|
||||
|
||||
1. [Install Docker](http://docs.docker.com/linux/step_one/)
|
||||
1. [Install Docker-Compose](http://docs.docker.com/compose/install/)
|
||||
1. Say we want to save our Wekan data on the host in directory `/home/johndoe/wekan/data`
|
||||
1. In a given directory (say `/home/johndoe/wekan`), create a `docker-compose.yml` file with:
|
||||
|
||||
Use this docker-compose.yml:
|
||||
|
||||
https://raw.githubusercontent.com/wekan/wekan/devel/docker-compose.yml
|
||||
|
||||
Then, from the directory containing the `docker-compose.yml` (i.e. `/home/johndoe/wekan`), simply run `docker-compose up`. If you want it to be deamonized, you could run `docker-compose up -d`.
|
||||
|
||||
Your wekan data are in `/home/johndoe/wekan/data` and thus can be backed up.
|
||||
|
||||
**Note**
|
||||
If the default host port 80 has been used and you would like to set up Wekan for another port, say, 1234, the configuration above
|
||||
```
|
||||
ports:
|
||||
- 80:8080
|
||||
```
|
||||
can be replaced by
|
||||
```
|
||||
ports:
|
||||
- 1234:8080
|
||||
```
|
||||
|
||||
also need to change
|
||||
```
|
||||
- ROOT_URL=http://localhost
|
||||
```
|
||||
|
||||
to the new port
|
||||
```
|
||||
- ROOT_URL=http://localhost:1234
|
||||
```
|
||||
|
||||
(This procedure has been tested on Linux Ubuntu 14.04 and Mac OS 10.11.6.) (Tested on Docker for Windows 17.06.2-ce-win27, MongoDB does not support using mounted Windows volumes, simply remove volumes: from wekandb:)
|
||||
|
||||
## Testing with mail server
|
||||
|
||||
Above method will create an instance of Wekan without mailing features (users inviting, password recovery, neat registration) because MAIL_URL env var isn't set. This `docker-compose.yml` solves that problem by adding *mailserver* container.
|
||||
|
||||
```yaml
|
||||
wekan:
|
||||
image: quay.io/wekan/wekan
|
||||
links:
|
||||
- wekandb
|
||||
- mailserver
|
||||
environment:
|
||||
- MONGO_URL=mongodb://wekandb/wekan
|
||||
- ROOT_URL=http://10.2.0.180:8081
|
||||
- MAIL_URL=smtp://wekan:wekan@mailserver:25
|
||||
ports:
|
||||
- 8081:80
|
||||
|
||||
wekandb:
|
||||
image: mongo:3.2.21
|
||||
volumes:
|
||||
- /home/wekan/data:/data/db
|
||||
|
||||
mailserver:
|
||||
image: marvambass/versatile-postfix
|
||||
volumes:
|
||||
- /home/wekan/dkim:/etc/postfix/dkim/
|
||||
- /home/wekan/maildirs:/var/mail
|
||||
command: wekan.com wekan:wekan
|
||||
environment:
|
||||
- ALIASES=postmaster:root;hostmaster:root;webmaster:root
|
||||
```
|
||||
|
||||
Several additional steps needed.
|
||||
|
||||
1. Create dirs `/home/wekan/dkim`, `/home/wekan/maildirs` that are used by *mailserver* container
|
||||
|
||||
```bash
|
||||
mkdir /home/wekan/dkim
|
||||
mkdir /home/wekan/maildirs
|
||||
```
|
||||
2. Generate DKIM key
|
||||
|
||||
```bash
|
||||
apt-get install opendkim-tools
|
||||
cd /home/wekan/maildirs
|
||||
opendkim-genkey -s mail -d example.com
|
||||
mv mail.private dkim.key
|
||||
```
|
||||
|
||||
## Show mails with a Docker image, without mail configuration
|
||||
When you did **NOT** setup the `MAIL_URL` environment variable in Wekan, the mail message will be 'sent' to the terminal output instead of sending an actual e-mail. If you are using Docker images, list the containers via:
|
||||
|
||||
```sh
|
||||
docker ps
|
||||
```
|
||||
|
||||
Then display the process output:
|
||||
|
||||
```sh
|
||||
docker logs -f <container_id>
|
||||
```
|
||||
|
||||
With the `-f` flag (`f` for `follow`), you will see the real-time output of the process. You can exit with **CTRL + C** without affecting the Wekan process.
|
||||
|
||||
Via the web-interface press the '_forgot your password?_' link and trigger a reset mail. And watch the terminal output for the e-mail.
|
||||
46
docs/Docker/Install-Wekan-Docker-in-production.md
Normal file
46
docs/Docker/Install-Wekan-Docker-in-production.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# Different wiki page: [Production setup for thousands of users at AWS](AWS)
|
||||
|
||||
|
||||
***
|
||||
|
||||
|
||||
## Single server install, for small teams
|
||||
|
||||
## Also see: [Using same database for both LAN and VPN Wekan](https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml#L86-L100)
|
||||
|
||||
**Purpose:** run Wekan on a production Linux server with Docker and Apache or Nginx as a front-end server (reverse proxy)
|
||||
|
||||
## 1. Install newest Docker and Docker Compose
|
||||
|
||||
[Docker website](https://docker.com)
|
||||
|
||||
## 2. Use Wekan-MongoDB with Docker Compose
|
||||
|
||||
https://github.com/wekan/wekan-mongodb
|
||||
|
||||
[External MongoDB authentication](https://github.com/wekan/wekan/issues/1375)
|
||||
|
||||
## 3. Email
|
||||
|
||||
[Troubleshooting Email](Troubleshooting-Mail)
|
||||
|
||||
## 4. Configure webserver as a front-end proxy
|
||||
|
||||
* [Caddy](Caddy-Webserver-Config)
|
||||
* [Nginx](Nginx-Webserver-Config)
|
||||
* [Apache](Apache)
|
||||
|
||||
## 5. Launch Wekan
|
||||
|
||||
As `wekan` user and from `/home/wekan`, run `docker-compose up -d`
|
||||
|
||||
## 6. Improvements to bring to this doc
|
||||
|
||||
* Verify everything works
|
||||
|
||||
|
||||
## 7. Tested on...
|
||||
|
||||
This procedure has been tested on:
|
||||
|
||||
* [VPS-SSD 2016 from OVH](https://www.ovh.com/fr/vps/vps-ssd.xml) with Ubuntu 14.04
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
More complete Docker info at:
|
||||
|
||||
* [Docker](Docker)
|
||||
|
||||
Tested to work on AWS cloud:
|
||||
|
||||
```
|
||||
ec2-user@ip:~> cat /etc/os-release
|
||||
NAME="SLES"
|
||||
VERSION="12-SP1"
|
||||
VERSION_ID="12.1"
|
||||
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP1"
|
||||
ID="sles"
|
||||
ANSI_COLOR="0;32"
|
||||
CPE_NAME="cpe:/o:suse:sles:12:sp1"
|
||||
```
|
||||
|
||||
As root:
|
||||
|
||||
1) Install all updates and Docker (recommended):
|
||||
|
||||
```
|
||||
zypper update
|
||||
zypper in docker
|
||||
```
|
||||
|
||||
2) Start editing textfile to add rights for Docker to access network:
|
||||
|
||||
```
|
||||
vi /etc/sysconfig/SuSEfirewall2
|
||||
```
|
||||
|
||||
3) In that textfile change FW_ROUTE line to this and save:
|
||||
|
||||
```
|
||||
FW_ROUTE="yes"
|
||||
```
|
||||
|
||||
4) Add rights to use docker as another user, examples: ec2-user, virtual
|
||||
|
||||
```
|
||||
/usr/sbin/usermod -a -G docker ec2-user
|
||||
```
|
||||
|
||||
5) Start Docker and enable it on booting
|
||||
|
||||
```
|
||||
systemctl start docker
|
||||
chkconfig docker on
|
||||
```
|
||||
|
||||
6) Reboot so updates and firewall changes start working:
|
||||
|
||||
```
|
||||
reboot
|
||||
```
|
||||
|
||||
7) As normal user (examples: ec2-user, virtual) (root works still too), install MongoDB and Wekan, you can change 8080 to be another port:
|
||||
|
||||
```
|
||||
docker run -d --restart=always --name wekan-db -v /volume1/docker/wekan/wekan-db:/data/db mongo:3.2.12
|
||||
|
||||
docker run -d --restart=always --name wekan --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://localhost:8080" -p 8080:80 wekanteam/wekan:meteor-1.4
|
||||
```
|
||||
|
||||
8) Now Wekan is available at http://ip-address:port , for example: http://192.168.100.50:8080 . Wekan starts at boot, and restarts on error conditions.
|
||||
46
docs/Docker/Move-Docker-containers-to-other-computer.md
Normal file
46
docs/Docker/Move-Docker-containers-to-other-computer.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
Copy all docker containers and data to new server, replacing all of docker on new server:
|
||||
```
|
||||
ssh ubuntu@oldserver.com
|
||||
cd repos/wekan
|
||||
sudo su
|
||||
docker-compose stop
|
||||
systemctl stop docker
|
||||
cd /var/lib
|
||||
tar cvpzf docker.tar.gz docker
|
||||
systemctl start docker
|
||||
scp docker.tar.gz root@newserver.com:/var/lib/
|
||||
exit
|
||||
exit
|
||||
```
|
||||
Then on new server restore:
|
||||
```
|
||||
ssh ubuntu@newserver.com
|
||||
sudo su
|
||||
systemctl stop docker
|
||||
cd /var/lib
|
||||
mv docker old-docker
|
||||
tar xpvzf docker.tar.gz
|
||||
systemctl start docker
|
||||
exit
|
||||
exit
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
OLD INFO:
|
||||
|
||||
This page is work in progress, and needs more details.
|
||||
|
||||
1) If you have installed Wekan with Docker like at this page:
|
||||
|
||||
https://github.com/wekan/wekan/wiki/Export-Docker-Mongo-Data
|
||||
|
||||
2) and you want to move Docker containers to another computer (laptop, server etc) that also has Docker installed, use Docker export and import commands:
|
||||
|
||||
https://docs.docker.com/engine/reference/commandline/export/
|
||||
|
||||
https://docs.docker.com/engine/reference/commandline/import/
|
||||
|
||||
3) If mongo data is on volume, also use this:
|
||||
|
||||
https://docs.docker.com/engine/tutorials/dockervolumes/#backup-restore-or-migrate-data-volumes
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
You can read up how to set up Rancher on a host together with Rancher Active Proxy and a Wekan/MongoDB Docker Stack.
|
||||
|
||||
This way you have Wekan running on a rancher host with automatic letsencrypt retrieval/renewal and proxying to a domain of your choice.
|
||||
|
||||
Here's how to set up Rancher + Rancher Active Proxy:
|
||||
https://github.com/adi90x/rancher-active-proxy/issues/21
|
||||
|
||||
Alter the wekan service in the docker-compose like this:
|
||||
```
|
||||
wekan:
|
||||
image: wekanteam/wekan:meteor-1.4
|
||||
container_name: whatever-you-like
|
||||
restart: always
|
||||
ports:
|
||||
- 80
|
||||
labels:
|
||||
- io.rancher.container.pull_image=always
|
||||
- rap.port=80
|
||||
- rap.host=your.domain.com
|
||||
- rap.le_host=your.domain.com
|
||||
- rap.le_email=your@mail.com
|
||||
environment:
|
||||
- MONGO_URL=mongodb://wekandb:27017/wekan
|
||||
- ROOT_URL=https://your.domain.com
|
||||
depends_on:
|
||||
- wekandb
|
||||
```
|
||||
76
docs/Docker/Repair-Docker.md
Normal file
76
docs/Docker/Repair-Docker.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
## 1) Create Backups first
|
||||
|
||||
[Backup](Backup)
|
||||
|
||||
Docker data is usually at `/var/lib/docker` or `/var/snap/docker/common/` (in Snap version of Docker).
|
||||
|
||||
## 2) No errors of MongoDB ?
|
||||
|
||||
- Check does docker-compose.yml have like `mongod --logpath=/dev/null --quiet`. Well, it's very quiet.
|
||||
- Just remove logpath, or set it to syslog with `--syslog`.
|
||||
- Or add path to somewhere where mongod service has write access, like `--logpath=/var/lib/docker/mongodb.log` or `--logpath=/var/snap/docker/common/mongodb.log`.
|
||||
- If you remove `--quiet`, you get even more verbose logs.
|
||||
|
||||
## 3) Errors of Wekan connecting to MongoDB ?
|
||||
|
||||
Probably did upgrade your kernel. Please reboot.
|
||||
|
||||
## 4) Errors about too new or old version of MongoDB ?
|
||||
|
||||
Check your docker-compose.yml . Did newer Wekan with newest docker-compose.yml from https://github.com/wekan/wekan have different version of MongoDB? If yes, you should change to that old version. For example:
|
||||
```
|
||||
docker-compose stop
|
||||
```
|
||||
Then in docker-compose.yml, `image: mongo:latest` to some other like `image: mongo:3.2` or 3.2.22 or 4.2 or something. Then:
|
||||
```
|
||||
docker-compose start
|
||||
```
|
||||
Or alternatively:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
## 5) MongoDB corruption?
|
||||
|
||||
a) [Repair MongoDB](Repair-MongoDB)
|
||||
|
||||
b) [Using Meteor MongoDB to repair files](Export-from-Wekan-Sandstorm-grain-.zip-file)
|
||||
|
||||
## 6) Trying to upgrade Wekan?
|
||||
|
||||
### 1) [Backup](Backup)
|
||||
|
||||
### 2a) Nice way:
|
||||
```
|
||||
docker-compose stop
|
||||
|
||||
docker rm wekan-app
|
||||
```
|
||||
Then edit docker-compose.yml wekan-app version tag, for example:
|
||||
```
|
||||
image: quay.io/wekan/wekan:v4.55
|
||||
```
|
||||
And start Wekan:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
Done!
|
||||
|
||||
### 2b) Brutal way: Destroy all Docker data!
|
||||
|
||||
Deletes all containers etc! Clean, empty, data loss possible if you did not backup all Docker containers, and no conflicts when installing.
|
||||
```
|
||||
git clone https://github.com/wekan/docker-cleanup-volumes
|
||||
|
||||
cd docker-cleanup-columes
|
||||
|
||||
./start.sh
|
||||
```
|
||||
If you have Snap version of Docker, you need to add to scripts path of docker command, that is `/snap/bin/docker`.
|
||||
|
||||
Get newest docker-compose.yml from https://github.com/wekan/wekan
|
||||
|
||||
Start Wekan
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
[Restore](Backup)
|
||||
Loading…
Add table
Add a link
Reference in a new issue