forked from webgrip/backstage-application
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
87 lines (83 loc) · 3.04 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
services:
backstage-application:
container_name: backstage-application
build:
context: backstage
dockerfile: Dockerfile-multistage
target: runtime
env_file:
- .env
environment:
POSTGRES_HOST: backstage-postgres
POSTGRES_USER: backstage
POSTGRES_PASSWORD: backstage
POSTGRES_DB: backstage
depends_on:
backstage-mkcert:
condition: service_completed_successfully
volumes:
- ./backstage/app-config.yaml:/app/app-config.yaml:ro
- ./backstage/catalog:/app/catalog:ro
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "3000:3000"
- "7007:7007"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.sslheaders.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.routers.backstage.entrypoints=http"
- "traefik.http.routers.backstage.rule=Host(`backstage.test`)"
- "traefik.http.routers.backstage.middlewares=traefik-https-redirect"
- "traefik.http.routers.backstage-secure.entrypoints=https"
- "traefik.http.routers.backstage-secure.rule=Host(`backstage.test`)"
- "traefik.http.routers.backstage-secure.tls=true"
- "traefik.http.routers.backstage-secure.tls.domains[0].main=backstage.test"
- "traefik.http.routers.backstage-secure.tls.domains[0].sans=*.backstage.test"
- "traefik.http.routers.backstage-secure.service=backstage"
- "traefik.http.services.backstage.loadbalancer.server.scheme=https"
- "traefik.http.services.backstage.loadbalancer.server.port=7007"
backstage-mkcert:
container_name: backstage-mkcert
image: webgrip/traefik-local-development-mkcert:latest
pull_policy: always
volumes:
- ~/.config/mkcert:/root/.local/share/mkcert:ro
- certificate-data:/certificate-data:rw
entrypoint: [ "/app/entrypoint.sh", "backstage.test" ]
backstage-postgres:
container_name: backstage-postgres
image: webgrip/backstage-application-postgres:latest
build:
context: ops/docker/postgresql
dockerfile: Dockerfile
volumes:
- ./ops/postgresql/docker-entrypoint-initdb:/docker-entrypoint-initdb.d/
- postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_USER: backstage
POSTGRES_PASSWORD: backstage
POSTGRES_DB: backstage
ports:
- "5432:5432"
#
# structurizr:
# container_name: structurizr
# image: structurizr/lite:latest
# volumes:
# - ./docs/structurizr/config:/usr/local/structurizr/config:ro
# - ./docs/structurizr/workspace:/usr/local/structurizr/workspace
# ports:
# - "9998:8080"
# environment:
# - SPRING_PROFILES_ACTIVE=custom-profile
# - STRUCTURIZR_WORKSPACE_PATH=workspace
# command: ["java", "--enable-native-access=ALL-UNNAMED", "--add-modules=jdk.incubator.vector", "-jar", "/usr/local/structurizr-lite.war"]
networks:
default:
external: true
name: webgrip
volumes:
certificate-data:
external: true
postgres-data: