163 lines
4.5 KiB
YAML
163 lines
4.5 KiB
YAML
|
version: '3.4'
|
|||
|
|
|||
|
services:
|
|||
|
mongo:
|
|||
|
image: 'mongo:latest'
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
ports:
|
|||
|
- 27017:27017
|
|||
|
container_name: mongo
|
|||
|
volumes:
|
|||
|
- oc-data:/data/db
|
|||
|
- oc-data:/data/configdb
|
|||
|
|
|||
|
mongo-express:
|
|||
|
image: "mongo-express:latest"
|
|||
|
restart: always
|
|||
|
depends_on:
|
|||
|
- mongo
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
ports:
|
|||
|
- 8081:8081
|
|||
|
environment:
|
|||
|
- ME_CONFIG_BASICAUTH_USERNAME=test
|
|||
|
- ME_CONFIG_BASICAUTH_PASSWORD=test
|
|||
|
nats:
|
|||
|
image: 'nats:latest'
|
|||
|
container_name: nats
|
|||
|
ports:
|
|||
|
- 4222:4222
|
|||
|
command:
|
|||
|
- "--debug"
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
loki:
|
|||
|
image: 'grafana/loki'
|
|||
|
container_name: loki
|
|||
|
labels:
|
|||
|
- "traefik.enable=true"
|
|||
|
- "traefik.http.routers.loki.entrypoints=web"
|
|||
|
- "traefik.http.routers.loki.rule=PathPrefix(`/tools/loki`)"
|
|||
|
- "traefik.http.services.loki.loadbalancer.server.port=3100"
|
|||
|
- "traefik.http.middlewares.loki-stripprefix.stripprefix.prefixes=/tools/loki"
|
|||
|
- "traefik.http.routers.loki.middlewares=loki-stripprefix"
|
|||
|
- "traefik.http.middlewares.loki.forwardauth.address=http://oc-auth:8080/oc/forward"
|
|||
|
ports :
|
|||
|
- "3100:3100"
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
grafana:
|
|||
|
image: 'grafana/grafana'
|
|||
|
container_name: grafana
|
|||
|
ports:
|
|||
|
- '3000:3000'
|
|||
|
labels:
|
|||
|
- "traefik.enable=true"
|
|||
|
- "traefik.http.routers.grafana.entrypoints=web"
|
|||
|
- "traefik.http.routers.grafana.rule=PathPrefix(`/tools/grafana`)"
|
|||
|
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
|
|||
|
- "traefik.http.middlewares.grafana-stripprefix.stripprefix.prefixes=/tools/grafana"
|
|||
|
- "traefik.http.routers.grafana.middlewares=grafana-stripprefix"
|
|||
|
- "traefik.http.middlewares.grafana.forwardauth.address=http://oc-auth:8080/oc/forward"
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
volumes:
|
|||
|
- ./conf/grafana_data_source.yml:/etc/grafana/provisioning/datasources/datasource.yml
|
|||
|
environment:
|
|||
|
- GF_SECURITY_ADMIN_PASSWORD=pfnirt # Change this to anything but admin to not have a password change page at startup
|
|||
|
- GF_SECURITY_ADMIN_USER=admin
|
|||
|
- GF_SECURITY_DISABLE_INITIAL_ADMIN_PASSWORD_CHANGE=true
|
|||
|
hydra-client:
|
|||
|
image: oryd/hydra:v2.2.0
|
|||
|
container_name: hydra-client
|
|||
|
environment:
|
|||
|
HYDRA_ADMIN_URL: http://hydra:4445
|
|||
|
ORY_SDK_URL: http://hydra:4445
|
|||
|
command:
|
|||
|
- create
|
|||
|
- oauth2-client
|
|||
|
- --skip-tls-verify
|
|||
|
- --name
|
|||
|
- test-client
|
|||
|
- --secret
|
|||
|
- oc-auth-got-secret
|
|||
|
- --response-type
|
|||
|
- id_token,token,code
|
|||
|
- --grant-type
|
|||
|
- implicit,refresh_token,authorization_code,client_credentials
|
|||
|
- --scope
|
|||
|
- openid,profile,email,roles
|
|||
|
- --token-endpoint-auth-method
|
|||
|
- client_secret_post
|
|||
|
- --redirect-uri
|
|||
|
- http://localhost:3000
|
|||
|
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
deploy:
|
|||
|
restart_policy:
|
|||
|
condition: none
|
|||
|
depends_on:
|
|||
|
- hydra
|
|||
|
healthcheck:
|
|||
|
test: ["CMD", "curl", "-f", "http://hydra:4445"]
|
|||
|
interval: 10s
|
|||
|
timeout: 10s
|
|||
|
retries: 10
|
|||
|
hydra:
|
|||
|
container_name: hydra
|
|||
|
image: oryd/hydra:v2.2.0
|
|||
|
environment:
|
|||
|
SECRETS_SYSTEM: oc-auth-got-secret
|
|||
|
LOG_LEAK_SENSITIVE_VALUES: true
|
|||
|
# OAUTH2_TOKEN_HOOK_URL: http://oc-auth:8080/oc/claims
|
|||
|
URLS_SELF_ISSUER: http://hydra:4444
|
|||
|
URLS_SELF_PUBLIC: http://hydra:4444
|
|||
|
WEBFINGER_OIDC_DISCOVERY_SUPPORTED_SCOPES: profile,email,phone,roles
|
|||
|
WEBFINGER_OIDC_DISCOVERY_SUPPORTED_CLAIMS: name,family_name,given_name,nickname,email,phone_number
|
|||
|
DSN: memory
|
|||
|
command: serve all --dev
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
ports:
|
|||
|
- "4444:4444"
|
|||
|
- "4445:4445"
|
|||
|
deploy:
|
|||
|
restart_policy:
|
|||
|
condition: on-failure
|
|||
|
ldap:
|
|||
|
image: pgarrett/ldap-alpine
|
|||
|
container_name: ldap
|
|||
|
volumes:
|
|||
|
- "./ldap.ldif:/ldif/ldap.ldif"
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
ports:
|
|||
|
- "390:389"
|
|||
|
deploy:
|
|||
|
restart_policy:
|
|||
|
condition: on-failure
|
|||
|
keto:
|
|||
|
image: oryd/keto:v0.7.0-alpha.1-sqlite
|
|||
|
ports:
|
|||
|
- "4466:4466"
|
|||
|
- "4467:4467"
|
|||
|
command: serve -c /home/ory/keto.yml
|
|||
|
restart: on-failure
|
|||
|
volumes:
|
|||
|
- type: bind
|
|||
|
source: .
|
|||
|
target: /home/ory
|
|||
|
container_name: keto
|
|||
|
networks:
|
|||
|
- oc
|
|||
|
|
|||
|
volumes:
|
|||
|
oc-data:
|
|||
|
|
|||
|
networks:
|
|||
|
oc:
|
|||
|
external: true
|