-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.local.yml
93 lines (88 loc) · 2.33 KB
/
docker-compose.local.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
networks:
frontend:
external: true
name: reverse-proxy
backend:
driver: ${NETWORKS_DRIVER}
services:
db:
image: mariadb:10.11
restart: ${RESTART}
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "true"
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
volumes:
- database_volume:/var/lib/mysql
- ./backups:/backups
networks:
- backend
mailhog:
build: ./docker/mailhog
expose:
- 8025
- 1025
networks:
- frontend
- backend
labels:
# enable traefik
- "traefik.enable=true"
- "traefik.docker.network=reverse-proxy"
- "traefik.http.services.mailhog.loadbalancer.server.port=8025"
# http
- "traefik.http.routers.mailhog.rule=Host(`mailhog.passbolt.localhost`)"
- "traefik.http.routers.mailhog.entrypoints=web"
passbolt:
image: passbolt/passbolt:latest-ce
#Alternatively you can use rootless:
#image: passbolt/passbolt:latest-ce-non-root
restart: ${RESTART}
depends_on:
- db
- mailhog
environment:
APP_FULL_BASE_URL: http://${DOMAIN}
DATASOURCES_DEFAULT_HOST: "db"
DATASOURCES_DEFAULT_USERNAME: ${DB_USER}
DATASOURCES_DEFAULT_PASSWORD: ${DB_PASSWORD}
DATASOURCES_DEFAULT_DATABASE: ${DB_DATABASE}
EMAIL_DEFAULT_FROM_NAME: ${MAIL_FROM_NAME}
EMAIL_DEFAULT_FROM: ${MAIL_FROM}
EMAIL_TRANSPORT_DEFAULT_HOST: ${MAIL_HOST}
EMAIL_TRANSPORT_DEFAULT_PORT: ${MAIL_PORT}
EMAIL_TRANSPORT_DEFAULT_USERNAME: ${MAIL_USER}
EMAIL_TRANSPORT_DEFAULT_PASSWORD: ${MAIL_PASSWORT}
EMAIL_TRANSPORT_DEFAULT_TLS: ${MAIL_TLS}
volumes:
- gpg_volume:/etc/passbolt/gpg
- jwt_volume:/etc/passbolt/jwt
command:
[
"/usr/bin/wait-for.sh",
"-t",
"0",
"db:3306",
"--",
"/docker-entrypoint.sh",
]
# ports:
# - 80:80
# - 443:443
#Alternatively for non-root images:
# - 80:8080
# - 443:4433
networks:
- frontend
- backend
labels:
- "traefik.enable=true"
- "traefik.docker.network=reverse-proxy"
# http
- "traefik.http.routers.passbolt.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.passbolt.entrypoints=web"
volumes:
database_volume:
gpg_volume:
jwt_volume: