docker-compose.yml 7.2 KB
Newer Older
Chris Szabo's avatar
Chris Szabo committed
1
2
version: '3.4'
services:
janskoruba's avatar
janskoruba committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - '/var/run/docker.sock:/tmp/docker.sock:ro'
      - './shared/nginx/vhost.d:/etc/nginx/vhost.d'
      - './shared/nginx/certs:/etc/nginx/certs:ro'
    networks:
      proxy: null
      identityserverui:
        aliases:
          - sts.skoruba.local
          - admin.skoruba.local
          - admin-api.skoruba.local
    restart: always
Chris Szabo's avatar
Chris Szabo committed
21
  skoruba.identityserver4.admin:
janskoruba's avatar
janskoruba committed
22
    image: '${DOCKER_REGISTRY-}skoruba-identityserver4-admin'
Chris Szabo's avatar
Chris Szabo committed
23
24
25
26
27
    build:
      context: .
      dockerfile: src/Skoruba.IdentityServer4.Admin/Dockerfile
    container_name: skoruba-identityserver4-admin
    environment:
janskoruba's avatar
janskoruba committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
      - VIRTUAL_HOST=admin.skoruba.local
      - 'ConnectionStrings__ConfigurationDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__PersistedGrantDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__IdentityDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__AdminLogDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__AdminAuditLogDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__DataProtectionDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'AdminConfiguration__IdentityAdminBaseUrl=https://admin.skoruba.local'
      - 'AdminConfiguration__IdentityAdminRedirectUri=https://admin.skoruba.local/signin-oidc'
      - 'AdminConfiguration__IdentityServerBaseUrl=https://sts.skoruba.local'
      - AdminConfiguration__RequireHttpsMetadata=false
      - 'IdentityServerData__Clients__0__ClientUri=https://admin.skoruba.local'
      - 'IdentityServerData__Clients__0__RedirectUris__0=https://admin.skoruba.local/signin-oidc'
      - 'IdentityServerData__Clients__0__FrontChannelLogoutUri=https://admin.skoruba.local/signin-oidc'
      - 'IdentityServerData__Clients__0__PostLogoutRedirectUris__0=https://admin.skoruba.local/signout-callback-oidc'
      - 'IdentityServerData__Clients__0__AllowedCorsOrigins__0=https://admin.skoruba.local'
      - 'IdentityServerData__Clients__1__RedirectUris__0=https://admin-api.skoruba.local/swagger/oauth2-redirect.html'
      - 'Serilog__WriteTo__1__Args__connectionString=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - DockerConfiguration__UpdateCaCertificate=true
      - ASPNETCORE_ENVIRONMENT=Development
Chris Szabo's avatar
Chris Szabo committed
48
49
50
51
    command: dotnet Skoruba.IdentityServer4.Admin.dll /seed
    depends_on:
      - db
      - skoruba.identityserver4.sts.identity
52
    volumes:
janskoruba's avatar
janskoruba committed
53
54
55
56
57
58
      - './shared/serilog.json:/app/serilog.json'
      - './shared/identitydata.json:/app/identitydata.json'
      - './shared/identityserverdata.json:/app/identityserverdata.json'
      - './shared/nginx/certs/cacerts.crt:/usr/local/share/ca-certificates/cacerts.crt'
    networks:
      identityserverui: null
Chris Szabo's avatar
Chris Szabo committed
59
  skoruba.identityserver4.admin.api:
janskoruba's avatar
janskoruba committed
60
    image: '${DOCKER_REGISTRY-}skoruba-identityserver4-admin-api'
Chris Szabo's avatar
Chris Szabo committed
61
62
63
64
    build:
      context: .
      dockerfile: src/Skoruba.IdentityServer4.Admin.Api/Dockerfile
    container_name: skoruba-identityserver4-admin-api
janskoruba's avatar
janskoruba committed
65
66
67
68
69
70
71
72
73
74
75
76
77
    environment:
      - VIRTUAL_HOST=admin-api.skoruba.local
      - AdminApiConfiguration__RequireHttpsMetadata=false
      - 'AdminApiConfiguration__ApiBaseUrl=https://admin-api.skoruba.local'
      - 'AdminApiConfiguration__IdentityServerBaseUrl=https://sts.skoruba.local'
      - 'ConnectionStrings__ConfigurationDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__PersistedGrantDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__IdentityDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__AdminLogDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__AdminAuditLogDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__DataProtectionDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - DockerConfiguration__UpdateCaCertificate=true
      - ASPNETCORE_ENVIRONMENT=Development
78
    volumes:
janskoruba's avatar
janskoruba committed
79
80
81
82
      - './shared/serilog.json:/app/serilog.json'
      - './shared/nginx/certs/cacerts.crt:/usr/local/share/ca-certificates/cacerts.crt'
    networks:
      identityserverui: null
Chris Szabo's avatar
Chris Szabo committed
83
  skoruba.identityserver4.sts.identity:
janskoruba's avatar
janskoruba committed
84
    image: '${DOCKER_REGISTRY-}skoruba-identityserver4-sts-identity'
Chris Szabo's avatar
Chris Szabo committed
85
86
87
88
89
    build:
      context: .
      dockerfile: src/Skoruba.IdentityServer4.STS.Identity/Dockerfile
    container_name: skoruba-identityserver4-sts-identity
    environment:
janskoruba's avatar
janskoruba committed
90
91
92
93
94
95
96
97
98
99
      - VIRTUAL_HOST=sts.skoruba.local
      - 'ConnectionStrings__ConfigurationDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__PersistedGrantDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__IdentityDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'ConnectionStrings__DataProtectionDbConnection=Server=db;Database=IdentityServer4Admin;User Id=sa;Password=${DB_PASSWORD:-Password_123};MultipleActiveResultSets=true'
      - 'AdminConfiguration__IdentityAdminBaseUrl=https://admin.skoruba.local'
      - 'AdvancedConfiguration__PublicOrigin=https://sts.skoruba.local'
      - 'AdvancedConfiguration__IssuerUri=https://sts.skoruba.local'
      - DockerConfiguration__UpdateCaCertificate=true
      - ASPNETCORE_ENVIRONMENT=Development
Chris Szabo's avatar
Chris Szabo committed
100
101
    depends_on:
      - db
102
    volumes:
janskoruba's avatar
janskoruba committed
103
104
      - './shared/serilog.json:/app/serilog.json'
      - './shared/nginx/certs/cacerts.crt:/usr/local/share/ca-certificates/cacerts.crt'
Chris Szabo's avatar
Chris Szabo committed
105
    networks:
janskoruba's avatar
janskoruba committed
106
      identityserverui:
Chris Szabo's avatar
Chris Szabo committed
107
        aliases:
janskoruba's avatar
janskoruba committed
108
          - sts.skoruba.local
Chris Szabo's avatar
Chris Szabo committed
109
  db:
janskoruba's avatar
janskoruba committed
110
    image: 'mcr.microsoft.com/mssql/server:2017-CU20-ubuntu-16.04'
Chris Szabo's avatar
Chris Szabo committed
111
    ports:
janskoruba's avatar
janskoruba committed
112
      - '7900:1433'
Chris Szabo's avatar
Chris Szabo committed
113
114
    container_name: skoruba-identityserver4-db
    environment:
janskoruba's avatar
janskoruba committed
115
116
      SA_PASSWORD: '${DB_PASSWORD:-Password_123}'
      ACCEPT_EULA: 'Y'
Chris Szabo's avatar
Chris Szabo committed
117
    volumes:
janskoruba's avatar
janskoruba committed
118
119
120
      - 'dbdata:/var/opt/mssql'
    networks:
      identityserverui: null
Chris Szabo's avatar
Chris Szabo committed
121
122
123
124
volumes:
  dbdata:
    driver: local
networks:
janskoruba's avatar
janskoruba committed
125
126
127
128
  proxy:
    driver: bridge
  identityserverui:
    driver: bridge