diff --git a/pica-wekan/docker-compose.yml b/pica-wekan/docker-compose.yml index 2d78bf3cd7f9a5325ebd8abf162b633f3def2a7c..ee942ba588f33420af44b33d58ade453587488ba 100644 --- a/pica-wekan/docker-compose.yml +++ b/pica-wekan/docker-compose.yml @@ -1,31 +1,143 @@ -version: '2' +version: '2.4' + +networks: + docker_default: + external: true + name: "docker_default" + + services: - wekandb: - image: registry.picasoft.net:5000/mongo:3.2.21 - restart: always + + wekan-db: + #------------------------------------------------------------------------------------- + # ==== MONGODB AND METEOR VERSION ==== + # a) For Wekan Meteor 1.8.x version at meteor-1.8 branch, use mongo 4.x + #image: mongo:4.0.4 + # b) For Wekan Meteor 1.6.x version at master/devel/edge branches. + # Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x + image: mongo:3.2.21 + #------------------------------------------------------------------------------------- container_name: wekan-db + restart: always command: mongod --smallfiles --oplogSize 128 + networks: + - docker_default expose: - 27017 - volumes: - - /DATA/docker/wekan-db:/data/db - - /DATA/docker/wekan-db-dump:/dump - - wekan: - ports: - - 8080:8080 - labels: - - "traefik.frontend.rule=Host:wekan.test.picasoft.net" - - "traefik.port=80" - - "traefik.enable=true" - image: registry.picasoft.net:5000/wekan:master + #volumes: + #- wekan-db:/data/db + #- wekan-db-dump:/dump + #volumes: + #- /DATA/docker/wekan-db:/data/db + wekan-app: + #------------------------------------------------------------------------------------- + # ==== MONGODB AND METEOR VERSION ==== + # a) For Wekan Meteor 1.8.x version at meteor-1.8 branch, + # using https://quay.io/wekan/wekan automatic builds + #image: quay.io/wekan/wekan:meteor-1.8 + # b) For Wekan Meteor 1.6.x version at master/devel/edge branches. + # Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x + image: pica-wekan:2.75 + # c) Using specific Meteor 1.6.x version tag: + # image: quay.io/wekan/wekan:v1.95 + # c) Using Docker Hub automatic builds https://hub.docker.com/r/wekanteam/wekan + # image: wekanteam/wekan:meteor-1.8 + # image: wekanteam/wekan:v1.95 + #------------------------------------------------------------------------------------- container_name: wekan-app restart: always links: - - wekandb:wekandb + - wekan-db:wekan-db + networks: + - docker_default + #------------------------------------------------------------------------------------- + # ==== 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} + #------------------------------------------------------------------------------------- + labels: + - "traefik.frontend.rule=Host:wekan2.test.picasoft.net" + - "traefik.port=8080" + - "traefik.enable=true" environment: - - MONGO_URL=mongodb://wekandb:27017/wekan - - ROOT_URL=https://wekan.test.picasoft.net + - MONGO_URL=mongodb://wekan-db:27017/wekan + - ROOT_URL=http://wekan2.test.picasoft.net # <=== using only at same laptop/desktop where Wekan is installed + # https://github.com/wekan/wekan/wiki/REST-API + # https://github.com/wekan/wekan-gogs + # If you disable Wekan API with false, Export Board does not work. + - WITH_API=true + #--------------------------------------------------------------- + # + # LOGOUT_ON_MINUTES : The number of minutes + # example : LOGOUT_ON_MINUTES=55 + #- LOGOUT_ON_MINUTES= + #------------------------------------------------------------------- + depends_on: - - wekandb + - wekan-db + +#--------------------------------------------------------------------------------- +# ==== OPTIONAL: SHARE DATABASE TO OFFICE LAN AND REMOTE VPN ==== +# 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 container config below, look above of this part above and all config below it, +# before above depends_on: part: +# +# wekan: +# #------------------------------------------------------------------------------------- +# # ==== MONGODB AND METEOR VERSION ==== +# # a) For Wekan Meteor 1.8.x version at meteor-1.8 branch, ..... +# +# +# and change name to different name 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. +# EXAMPLE: +# wekan2: +# ....COPY CONFIG FROM ABOVE TO HERE... +# environment: +# - ROOT_URL='http://10.10.10.10' +# ...COPY CONFIG FROM ABOVE TO HERE... +#--------------------------------------------------------------------------------- + +# OPTIONAL NGINX CONFIG FOR REVERSE PROXY +# nginx: +# image: nginx +# container_name: nginx +# restart: always +# networks: +# - wekan-tier +# depends_on: +# - wekan +# ports: +# - 80:80 +# - 443:443 +# volumes: +# - ./nginx/ssl:/etc/nginx/ssl/:ro +# - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro +## Alternative volume config: +## volumes: +## - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro +## - ./nginx/ssl/ssl.conf:/etc/nginx/conf.d/ssl/ssl.conf:ro +## - ./nginx/ssl/testvm-ehu.crt:/etc/nginx/conf.d/ssl/certs/mycert.crt:ro +## - ./nginx/ssl/testvm-ehu.key:/etc/nginx/conf.d/ssl/certs/mykey.key:ro +## - ./nginx/ssl/pphrase:/etc/nginx/conf.d/ssl/pphrase:ro + +volumes: + wekan-db: + driver: local + wekan-db-dump: + driver: local