docker-compose.yml 2.27 KB
Newer Older
Quentin Duchemin's avatar
Quentin Duchemin committed
1
version: '3.7'
dheninli's avatar
dheninli committed
2

3
4
5
volumes:
  wekan:

dheninli's avatar
dheninli committed
6
networks:
7
  proxy:
Quentin Duchemin's avatar
Quentin Duchemin committed
8
    external: true
9
  wekan:
10
    name: wekan
Guillaume Damiens's avatar
Guillaume Damiens committed
11
12

services:
13
  wekan-db:
14
    image: mongo:4.4
15
    container_name: wekan-db
Quentin Duchemin's avatar
Quentin Duchemin committed
16
    command: mongod --oplogSize 128
17
18
19
20
21
22
    expose:
      - 27017
    volumes:
      - wekan:/data/db
    networks:
      - wekan
Quentin Duchemin's avatar
Quentin Duchemin committed
23
    restart: unless-stopped
dheninli's avatar
dheninli committed
24
25

  wekan-app:
26
    image: quay.io/wekan/wekan-gantt-gpl:v5.28
27
    build:
28
      context: http://github.com/wekan/wekan-gantt-gpl.git#v5.28
Guillaume Damiens's avatar
Guillaume Damiens committed
29
30
    container_name: wekan-app
    environment:
dheninli's avatar
dheninli committed
31
      - MONGO_URL=mongodb://wekan-db:27017/wekan
32
      - ROOT_URL=https://kanban.picasoft.net
Quentin Duchemin's avatar
Quentin Duchemin committed
33
34
35
36
37
38
39
40
      # ==== WEKAN API AND EXPORT BOARD ====
      # Wekan Export Board works when WITH_API=true.
      # https://github.com/wekan/wekan/wiki/REST-API
      - WITH_API=true
      # ==== PASSWORD BRUTE FORCE PROTECTION ====
      - ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE=10
      - ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD=60
      - ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW=15
41
    env_file: ./secrets/mail.secrets
Guillaume Damiens's avatar
Guillaume Damiens committed
42
    depends_on:
dheninli's avatar
dheninli committed
43
      - wekan-db
Quentin Duchemin's avatar
Quentin Duchemin committed
44
    labels:
45
46
47
      traefik.http.routers.wekan-app.entrypoints: websecure
      traefik.http.routers.wekan-app.rule: Host(`kanban.picasoft.net`)
      traefik.http.services.wekan-app.loadbalancer.server.port: 8080
Quentin Duchemin's avatar
Quentin Duchemin committed
48
      traefik.enable: true
dheninli's avatar
dheninli committed
49
    networks:
50
      - proxy
51
      - wekan
Quentin Duchemin's avatar
Quentin Duchemin committed
52
    restart: unless-stopped
53
54

  wekan-filter-hooks:
Quentin Duchemin's avatar
Quentin Duchemin committed
55
    image: registry.picasoft.net/wekan-filter-hooks:v0.2
56
57
58
    build: ./filter-hooks
    container_name: wekan-filter-hooks
    networks:
59
      - wekan
60
    restart: unless-stopped
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

  wekan-exporter:
    image: registry.picasoft.net/pica-wekan-exporter:0.1.0
    build: ./prometheus-exporter
    container_name: wekan-exporter
    env_file: ./secrets/wekan-exporter.secrets
    networks:
      - proxy
    labels:
      traefik.http.routers.wekan-metrics.entrypoints: websecure
      traefik.http.routers.wekan-metrics.rule: "Host(`kanban.picasoft.net`) && PathPrefix(`/metrics`)"
      traefik.http.routers.wekan-metrics.service: wekan-metrics
      traefik.http.routers.wekan-metrics.middlewares: "wekan-metrics-auth@docker"
      traefik.http.middlewares.wekan-metrics-auth.basicauth.users: "${METRICS_AUTH}"
      traefik.http.services.wekan-metrics.loadbalancer.server.port: 8000
      traefik.enable: true
    restart: unless-stopped