mirror of
				https://github.com/brmlab/brmkan.git
				synced 2025-10-31 16:34:01 +01:00 
			
		
		
		
	Added docker-compose.yml for Friend.
This commit is contained in:
		
							parent
							
								
									54b6ae2804
								
							
						
					
					
						commit
						756a979280
					
				
					 2 changed files with 236 additions and 0 deletions
				
			
		
							
								
								
									
										92
									
								
								friend/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								friend/README.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,92 @@ | |||
| # Docker: Wekan <=> MongoDB for Friend | ||||
| 
 | ||||
| * [Wekan kanban board, made with Meteor.js framework, running on | ||||
|   Node.js](https://wekan.io) -- [GitHub](https://github.com/wekan/wekan) | ||||
| * [MongoDB NoSQL database](https://www.mongodb.com) | ||||
| 
 | ||||
| ## Screenshot | ||||
| 
 | ||||
| ![Screenshot of Wekan][screenshot] | ||||
| 
 | ||||
| ## Install | ||||
| 
 | ||||
| 1) Install docker-compose. | ||||
| 
 | ||||
| 2) Clone this repo. | ||||
| 
 | ||||
| ```bash | ||||
| git clone https://github.com/wekan/wekan-mongodb.git | ||||
| cd wekan-mongodb | ||||
| git checkout friend | ||||
| ``` | ||||
| 
 | ||||
| 3a) Detached mode: | ||||
| 
 | ||||
| ```bash | ||||
| docker-compose up -d | ||||
| ``` | ||||
| 
 | ||||
| 3b) Running attached to console, so Ctrl-c stops it: | ||||
| 
 | ||||
| ```bash | ||||
| docker-compose up | ||||
| ``` | ||||
| 
 | ||||
| 4) Wekan is at http://localhost (port 80) | ||||
| 
 | ||||
| 5) MongoDB is at 127.0.0.1:27017 | ||||
| 
 | ||||
| 6) Wekan and databases bind to address 0.0.0.0 so could be also available to other | ||||
|    computers in network. I have not tested this. | ||||
| 
 | ||||
| 7) [Restore your MongoDB data](https://github.com/wekan/wekan/wiki/Export-Docker-Mongo-Data). | ||||
| 
 | ||||
| ## Backup before upgrading | ||||
| 
 | ||||
| [Backup all data from MongoDB](https://github.com/wekan/wekan/wiki/Export-Docker-Mongo-Data) | ||||
| 
 | ||||
| ## Upgrading Wekan | ||||
| 
 | ||||
| 1) In wekan-mongodb directory, stop Wekan: | ||||
| 
 | ||||
| ```bash | ||||
| docker-compose stop | ||||
| ``` | ||||
| 
 | ||||
| 2) Check what is CONTAINER ID of wekanteam/wekan:latest container. Then remove container. | ||||
| 
 | ||||
| ```bash | ||||
| docker ps | ||||
| docker rm CONTAINER-ID-HERE | ||||
| ``` | ||||
| 
 | ||||
| 3) Check Docker images, what is IMAGE ID of wekanteam/wekan:latest, and remove wekanteam/wekan:latest image: | ||||
| 
 | ||||
| ```bash | ||||
| docker images | ||||
| docker rmi IMAGE-ID-HERE | ||||
| ``` | ||||
| 
 | ||||
| 4) If you have made backups of MongoDB container to outside of Docker, and want to upgrade MongoDB, you could also delete MongoDB container and image. | ||||
| 
 | ||||
| 5) Start Wekan again in background: | ||||
| 
 | ||||
| ```bash | ||||
| docker-compose up -d | ||||
| ``` | ||||
| 
 | ||||
| 6) You can also check container logs: | ||||
| 
 | ||||
| ```bash | ||||
| docker ps | ||||
| docker logs CONTAINER-ID-OF-Wekan-or-MongoDB-HERE | ||||
| ``` | ||||
| 
 | ||||
| 7) Restore MongoDB data if needed. | ||||
| 
 | ||||
| ## Feedback | ||||
| 
 | ||||
| [Create GitHub issue](https://github.com/wekan/wekan/issues) | ||||
| 
 | ||||
| [screenshot]: https://wekan.github.io/screenshot.png | ||||
| 
 | ||||
							
								
								
									
										144
									
								
								friend/docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								friend/docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,144 @@ | |||
| version: '2' | ||||
| 
 | ||||
| services: | ||||
| 
 | ||||
|   # 1) Create a dedicated user for Wekan, for example: | ||||
|   #      sudo useradd -d /home/wekan -m -s /bin/bash wekan | ||||
|   # 2) Add this user to the docker group, then logout+login or reboot: | ||||
|   #      sudo usermod -aG docker wekan | ||||
|   # 3) Then login as user wekan. | ||||
|   # 4) Create this file /home/wekan/docker-compose.yml with your modifications. | ||||
|   # 5a) Running Docker as service, on Systemd like Debian 9, Ubuntu 16.04, CentOS 7: | ||||
|   #      sudo systemctl enable docker | ||||
|   #      sudo systemctl start docker | ||||
|   # 5b) Running Docker as service, on init.d like Debian 8, Ubuntu 14.04, CentOS 6: | ||||
|   #      sudo update-rc.d docker defaults | ||||
|   #      sudo service docker start | ||||
|   # 6) For seeing does Wekan work, try this and check with your webbroser: | ||||
|   #      docker-compose up | ||||
|   # 7) Stop Wekan and start Wekan in background: | ||||
|   #     docker-compose stop | ||||
|   #     docker-compose up -d | ||||
|   # 8) See running Docker containers: | ||||
|   #     docker ps | ||||
|   # 9) See stopped Docker containers: | ||||
|   #     docker ps -a | ||||
| 
 | ||||
|   # Upgrading Wekan to new version: | ||||
|   # 1) Stop Wekan: | ||||
|   #      docker-compose stop | ||||
|   # 2) Download new version: | ||||
|   #      docker-compose pull wekan | ||||
|   # 3) If you have more networks for VPN etc as described at bottom of | ||||
|   #    this config, download for them too: | ||||
|   #      docker-compose pull wekan2 | ||||
|   # 4) Start Wekan: | ||||
|   #      docker-compose start | ||||
| 
 | ||||
|   wekandb: | ||||
|     # All Wekan data is stored in MongoDB. For backup and restore, see: | ||||
|     #   https://github.com/wekan/wekan/wiki/Export-Docker-Mongo-Data | ||||
|     image: mongo:3.2.19 | ||||
|     container_name: wekan-db | ||||
|     restart: always | ||||
|     command: mongod --smallfiles --oplogSize 128 | ||||
|     networks: | ||||
|       - wekan-tier | ||||
|     expose: | ||||
|       - 27017 | ||||
|     volumes: | ||||
|       - wekan-db:/data/db | ||||
|       - wekan-db-dump:/dump | ||||
| 
 | ||||
|   wekan: | ||||
|     # Wekan container only has Node.js and related code, | ||||
|     # there is no data stored here. | ||||
|     # | ||||
|     # Docker Hub, usually broken: | ||||
|     #image: wekanteam/wekan:latest | ||||
|     # | ||||
|     # Quay, usually works, updates faster: | ||||
|     image: quay.io/wekan/wekan:friend | ||||
|     container_name: wekan-app | ||||
|     restart: always | ||||
|     networks: | ||||
|       - wekan-tier | ||||
|     #--------------------------------------------------------------- | ||||
|     # For running Wekan in different port like 3000, use: 3000:80 | ||||
|     ports: | ||||
|       - 80:80 | ||||
|     environment: | ||||
|       #--------------------------------------------------------------- | ||||
|       # == ROOT_URL SETTING == | ||||
|       # Change ROOT_URL to your real Wekan URL, for example: | ||||
|       #   http://example.com | ||||
|       #   http://example.com/wekan | ||||
|       #   http://192.168.1.100 | ||||
|       #--------------------------------------------------------------- | ||||
|       - ROOT_URL=http://example.com | ||||
|       #--------------------------------------------------------------- | ||||
|       # == PORT SETTING == | ||||
|       # Not needed on Docker, but if you had installed from source, | ||||
|       #   you could also have setup Wekan Node.js port at localhost | ||||
|       #   with setting: PORT=3001 | ||||
|       #   and have Nginx proxy to port 3001, see Wekan wiki. | ||||
|       #--------------------------------------------------------------- | ||||
|       # - PORT=3001 | ||||
|       #--------------------------------------------------------------- | ||||
|       # == MONGO URL AND OPLOG SETTINGS == | ||||
|       # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-378343587 | ||||
|       # We've fixed our CPU usage problem today with an environment | ||||
|       # change around Wekan. I wasn't aware during implementation | ||||
|       # that if you're using more than 1 instance of Wekan | ||||
|       # (or any MeteorJS based tool) you're supposed to set | ||||
|       # MONGO_OPLOG_URL as an environment variable. | ||||
|       # Without setting it, Meteor will perform a pull-and-diff | ||||
|       # update of it's dataset. With it, Meteor will update from | ||||
|       # the OPLOG. See here | ||||
|       #   https://blog.meteor.com/tuning-meteor-mongo-livedata-for-scalability-13fe9deb8908 | ||||
|       # After setting | ||||
|       # MONGO_OPLOG_URL=mongodb://<username>:<password>@<mongoDbURL>/local?authSource=admin&replicaSet=rsWekan | ||||
|       # the CPU usage for all Wekan instances dropped to an average | ||||
|       # of less than 10% with only occasional spikes to high usage | ||||
|       # (I guess when someone is doing a lot of work) | ||||
|       #--------------------------------------------------------------- | ||||
|       - MONGO_URL=mongodb://wekandb:27017/wekan | ||||
|       #--------------------------------------------------------------- | ||||
|       # - MONGO_OPLOG_URL=mongodb://<username>:<password>@<mongoDbURL>/local?authSource=admin&replicaSet=rsWekan | ||||
|       #--------------------------------------------------------------- | ||||
|       # == EMAIL SETTINGS == | ||||
|       # Email settings are required in both MAIL_URL and Admin Panel, | ||||
|       #   see https://github.com/wekan/wekan/wiki/Troubleshooting-Mail | ||||
|       #   For SSL in email, change smtp:// to smtps:// | ||||
|       # NOTE: Special characters need to be url-encoded in MAIL_URL. | ||||
|       #--------------------------------------------------------------- | ||||
|       - MAIL_URL=smtp://user:pass@mailserver.example.com:25/ | ||||
|       - MAIL_FROM='Example Wekan Support <support@example.com>' | ||||
|     depends_on: | ||||
|       - wekandb | ||||
| 
 | ||||
| #------------------------------------------------------------------ | ||||
| #  When using Wekan both at office LAN and remote VPN: | ||||
| #    1) Have above Wekan docker container config with LAN IP address | ||||
| #    2) Copy all of above Wekan config below, change name to different | ||||
| #       like wekan2 or wekanvpn, and change ROOT_URL to server VPN IP | ||||
| #       address. | ||||
| #    3) This way both Wekan containers can use same MongoDB database | ||||
| #       and see the same Wekan boards. | ||||
| #    4) You could also add 3rd Wekan container for 3rd network etc. | ||||
| #------------------------------------------------------------------ | ||||
| #  wekan2: | ||||
| #    ....COPY CONFIG FROM ABOVE TO HERE... | ||||
| #    environment: | ||||
| #      - ROOT_URL='http://10.10.10.10' | ||||
| #      ...COPY CONFIG FROM ABOVE TO HERE... | ||||
| 
 | ||||
| volumes: | ||||
|   wekan-db: | ||||
|     driver: local | ||||
|   wekan-db-dump: | ||||
|     driver: local | ||||
| 
 | ||||
| networks: | ||||
|   wekan-tier: | ||||
|     driver: bridge | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lauri Ojansivu
						Lauri Ojansivu