-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.yml
72 lines (68 loc) · 2.66 KB
/
docker-compose.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
services:
zeiterfassung:
image: ghcr.io/urlaubsverwaltung/zeiterfassung/zeiterfassung:1.6.8
network_mode: "host"
environment:
SERVER_PORT: 8080
# Database
SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/zeiterfassung
SPRING_DATASOURCE_USERNAME: user
SPRING_DATASOURCE_PASSWORD: password
# Mail
ZEITERFASSUNG_MAIL_FROM: zeiterfassung@example.org
ZEITERFASSUNG_MAIL_FROMDISPLAYNAME: zeiterfassung
ZEITERFASSUNG_MAIL_REPLYTO: replyto@example.org
ZEITERFASSUNG_MAIL_REPLYTODISPLAYNAME: replyto
SPRING_MAIL_HOST: localhost
SPRING_MAIL_PORT: 1025
# OpenID Connect identity provider
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_CLIENT-ID: zeiterfassung
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_CLIENT-SECRET: zeiterfassung-secret
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_CLIENT-NAME: zeiterfassung
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_PROVIDER: default
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_SCOPE: openid,profile,email,roles
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_AUTHORIZATION-GRANT-TYPE: authorization_code
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_DEFAULT_REDIRECT-URI: http://{baseHost}:8080/login/oauth2/code/{registrationId}
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_DEFAULT_ISSUER-URI: http://localhost:8090/realms/zeiterfassung-realm
ZEITERFASSUNG_SECURITY_OIDC_SERVER-URL: http://localhost:8090
ZEITERFASSUNG_SECURITY_OIDC_LOGIN-FORM-URL: http://localhost:8080/oauth2/authorization/default
SPRING_AUTOCONFIGURE_EXCLUDE: org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
depends_on:
keycloak:
condition: service_started
postgres:
condition: service_healthy
mailhog:
condition: service_started
postgres:
image: postgres:16.1
ports:
- '5432:5432'
environment:
POSTGRES_DB: zeiterfassung
POSTGRES_USER: user
POSTGRES_PASSWORD: password
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 3s
timeout: 1s
retries: 5
mailhog:
image: mailhog/mailhog:v1.0.1
ports:
- '1025:1025'
- '8025:8025'
keycloak:
image: quay.io/keycloak/keycloak:26.0.6
command: ["start-dev", "--import-realm"]
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_HTTP_PORT: 8090
KC_HOSTNAME_STRICT: 'false'
KC_HOSTNAME_STRICT_HTTPS: 'false'
KC_CACHE: 'local'
ports:
- '8090:8090'
volumes:
- ./keycloak/import:/opt/keycloak/data/import