forked from Samagra-Development/oauth2-fa-proxy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
106 lines (99 loc) · 2.98 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# This docker-compose file can be used to bring up an example instance of oauth2-proxy
# for manual testing and exploration of features.
# Alongside OAuth2-Proxy, this file also starts fa to act as the identity provider,
# etcd for storage for fa and HTTPBin as an example upstream.
#
# This can either be created using docker-compose
# docker-compose -f docker-compose.yaml <command>
# Or:
# make <command> (eg. make up, make down)
#
# Access http://localhost:4180 to initiate a login cycle
version: '3.0'
services:
oauth2-proxy:
container_name: oauth2-proxy
image: quay.io/oauth2-proxy/oauth2-proxy:v7.3.0
command: --config /oauth2-proxy.cfg
ports:
- 4180:4180/tcp
hostname: oauth2-proxy
volumes:
- "./oauth2-proxy.cfg:/oauth2-proxy.cfg"
restart: unless-stopped
networks:
fa: {}
depends_on:
- fa-search
- fusionauth
- fa-db
fa-search:
container_name: fa-search-oa2
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.1
environment:
- cluster.name=fusionauth
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=${ES_JAVA_OPTS}"
- discovery.type=single-node
restart: unless-stopped
networks:
fa: {}
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- fa-es-data:/usr/share/elasticsearch/data
fusionauth:
container_name: fusionauth-oa2
image: fusionauth/fusionauth-app:latest
depends_on:
- fa-search
environment:
DATABASE_URL: jdbc:postgresql://fa-db:${FUSIONAUTH_POSTGRES_PORT}/fusionauth
DATABASE_ROOT_USERNAME: ${FUSIONAUTH_POSTGRES_USER}
DATABASE_ROOT_PASSWORD: ${FUSIONAUTH_POSTGRES_PASSWORD}
DATABASE_USERNAME: ${FUSIONAUTH_DATABASE_USER}
DATABASE_PASSWORD: ${FUSIONAUTH_DATABASE_USERNAME}
FUSIONAUTH_SEARCH_ENGINE_TYPE: elasticsearch
FUSIONAUTH_SEARCH_SERVERS: http://fa-search:9200
FUSIONAUTH_URL: http://fusionauth:9011
FUSIONAUTH_API_KEY: ${FUSIONAUTH_API_KEY}
FUSIONAUTH_APP_KICKSTART_FILE: ${FUSIONAUTH_APP_KICKSTART_FILE}
FUSIONAUTH_ADMIN_EMAIL: ${FUSIONAUTH_ADMIN_EMAIL}
FUSIONAUTH_ADMIN_PASSWORD: ${FUSIONAUTH_ADMIN_PASSWORD}
restart: unless-stopped
networks:
fa: {}
ports:
- 9012:9011
volumes:
- fa-config:/usr/local/fusionauth/config
- ./kickstart:/usr/local/fusionauth/kickstart
fa-db:
container_name: fa-db-oa2
image: postgres:12
environment:
- POSTGRES_USER=${FUSIONAUTH_POSTGRES_USER}
- POSTGRES_PASSWORD=${FUSIONAUTH_POSTGRES_PASSWORD}
ports:
- "5437:${FUSIONAUTH_POSTGRES_PORT}"
networks:
fa: {}
volumes:
- ./pgdata-fa-db:/var/lib/postgresql/data
etcd:
container_name: etcd
image: gcr.io/etcd-development/etcd:v3.4.7
entrypoint: /usr/local/bin/etcd
command:
- --listen-client-urls=http://0.0.0.0:2379
- --advertise-client-urls=http://etcd:2379
networks:
etcd: {}
networks:
fa: {}
etcd: {}
volumes:
fa-es-data:
fa-config: