This is Tuleap 16.1.99.82
[tuleap.git] / docker-compose.yml
blob0bea1e605989bec21a7bc0f2321f215707cbc1b9
1 # Please see https://docs.tuleap.org/installation-guide/docker-image.html
3 # This docker-compose file is meant to be used by developers working on the Tuleap codebase
5 services:
6   reverse-proxy:
7     build:
8       context: tools/docker/reverse-proxy
9       platforms:
10         - linux/amd64
11     volumes:
12       - ./tools/docker/reverse-proxy/nginx.conf:/etc/nginx/nginx.conf:ro,cached
13       - reverse-proxy-cert:/etc/pki/tls
14     depends_on:
15     - web
16     networks:
17       default:
18         aliases:
19           - tuleap-web.tuleap-aio-dev.docker # Same as the default sys_default_domain setting in a dev setup
21   web:
22     image: ghcr.io/enalean/tuleap-aio-dev:el9-php82
23     hostname: web
24     volumes:
25       - .:/usr/share/tuleap:cached
26       - tuleap-data:/data
27       - reverse-proxy-cert:/front-cert:ro
28       - /sys/fs/cgroup:/sys/fs/cgroup:rw
29       - .env:/root/.tuleap_env:ro
30     tmpfs: /run
31     env_file:
32     - .env
33     environment:
34     - TULEAP_SYS_DBHOST=db
35     cgroup: host
36     depends_on:
37     - ldap
38     - db
39     - mailhog
41   mailhog:
42     image: mailhog/mailhog
44   ldap:
45     image: ghcr.io/enalean/ldap
46     env_file:
47     - .env
48     volumes:
49       - ldap-data:/data
51   gerrit:
52     build:
53       context: tools/docker/gerrit
54       platforms:
55         - linux/amd64
56     env_file:
57       - .env
58     environment:
59       - CANONICAL_WEB_URL=http://gerrit.tuleap-aio-dev.docker:8080
60     volumes:
61       - gerrit-data:/data
62     depends_on:
63       - ldap
65   jenkins:
66     build:
67       context: tools/docker/jenkins
68       platforms:
69         - linux/amd64
70     environment:
71       - JENKINS_OPTS="--prefix=/jenkins"
72     volumes:
73     - jenkins-data:/var/jenkins_home
74     - reverse-proxy-cert:/opt/reverse-proxy-cert:ro
76   gitlab:
77     build:
78       context: tools/docker/gitlab
79       platforms:
80         - linux/amd64
81     hostname: 'gitlab.local'
82     environment:
83       GITLAB_OMNIBUS_CONFIG: |
84         external_url 'https://gitlab.local'
85         letsencrypt['enable'] = false
86     volumes:
87       - gitlab-config:/etc/gitlab
88       - gitlab-data:/var/opt/gitlab
89     networks:
90       default:
91         aliases:
92           - gitlab.local
94   onlyoffice:
95     image: onlyoffice/documentserver:8.1.0@sha256:423328ee377374c48a30c2aa416e4afedf621faff068f97966cb9b87a28550bd
96     environment:
97       - JWT_ENABLED=true
98       - JWT_SECRET=TULEAP_DO_NOT_USE_THIS_IN_PRODUCTION
99       - USE_UNAUTHORIZED_STORAGE=true
101   keycloak:
102     image: quay.io/keycloak/keycloak:20.0.3
103     command:
104       - start-dev
105       - --import-realm
106       - --hostname-url https://tuleap-web.tuleap-aio-dev.docker/keycloak
107       - --hostname-strict=false
108     environment:
109       - KEYCLOAK_ADMIN=admin
110       - KEYCLOAK_ADMIN_PASSWORD=admin
111     volumes:
112       - ./tools/docker/keycloak/data/import:/opt/keycloak/data/import
114   db:
115     image: mysql:8.0
116     env_file:
117       - .env
118     command: --upgrade=FORCE
119     volumes:
120       - ./src/etc/tuleap-mysql80-dev.cnf:/etc/mysql/conf.d/tuleap.cnf:ro,cached
121       - db80-data:/var/lib/mysql
123   redis:
124     image: redis:6.2.7@sha256:a93c14584715ec5bd9d2648d58c3b27f89416242bee0bc9e5fb2edc1a4cbec1d
125     volumes:
126       - redis-data:/data
127     command: redis-server --appendonly yes --auto-aof-rewrite-percentage 20 --auto-aof-rewrite-min-size 200kb
129   prometheus:
130     image: prom/prometheus:v2.3.0
131     volumes:
132       - .metrics_secret.key:/metrics_secret.key
133       - ./prometheus.yml:/etc/prometheus/prometheus.yml
134       - prom-data:/prometheus
136   meilisearch:
137     image: getmeili/meilisearch:v1.6.0@sha256:5d43759296bfd10786bc08fce9df04792baae1ab7484710c1f635492087762c7
138     volumes:
139       - meilisearch-data:/meili_data
140     environment:
141       - MEILI_ENV=development
142       - MEILI_NO_ANALYTICS=true
143       - MEILI_MASTER_KEY=MEILI_MASTER_KEY_DO_NOT_USE_IN_PRODUCTION
145   ldap-admin:
146     image: osixia/phpldapadmin:0.7.1
147     volumes:
148       - ldap-data:/data
149     ports:
150       - "6443:443"
151     environment:
152       - PHPLDAPADMIN_LDAP_HOSTS=ldap
154 volumes:
155   tuleap-data:
156   ldap-data:
157   gerrit-data:
158   gitlab-config:
159   gitlab-data:
160   db80-data:
161   redis-data:
162   reverse-proxy-cert:
163   prom-data:
164   jenkins-data:
165   meilisearch-data: