-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
83 lines (79 loc) · 2.93 KB
/
Copy pathdocker-compose.yml
File metadata and controls
83 lines (79 loc) · 2.93 KB
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
version: "3.8"
services:
backendim-brain:
image: backendim-brain
build: .
environment:
- KUBECONFIG_MODE=${KUBECONFIG_MODE:-aws} # Explicit mode declaration
- KUBECONFIG_FILE=${KUBECONFIG_FILE:-/dev/null}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
- KUBE_CLUSTER_NAME=${KUBE_CLUSTER_NAME}
expose:
- "8080"
ports:
- "80:8080"
volumes:
- repos-data:/app/repos
- ${KUBECONFIG_FILE}:/home/backenduser/.kube/manual/config # Only for manual mode
labels:
- "traefik.enable=true"
# service
- "traefik.http.services.backendim-brain.loadbalancer.server.port=8080"
# http
- "traefik.http.routers.backendim-brain-http.entrypoints=web"
- "traefik.http.routers.backendim-brain-http.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.backendim-brain-http.service=backendim-brain"
# tls
- "traefik.http.routers.backendim-brain-https.tls=true"
- "traefik.http.routers.backendim-brain-https.tls.certresolver=myresolver"
- "traefik.http.routers.backendim-brain-https.entrypoints=websecure"
- "traefik.http.routers.backendim-brain-https.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.backendim-brain-https.service=backendim-brain"
- "traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto = https"
# tls redirect
- "traefik.http.routers.backendim-brain-http.middlewares=redirect-https"
- "traefik.http.middlewares.redirect-https.redirectScheme.scheme=https"
- "traefik.http.middlewares.redirect-https.redirectScheme.permanent=true"
networks:
- backend-net
# traefik:
# image: traefik:v2
# container_name: traefik
# restart: unless-stopped
# command:
# # provider
# - "--providers.docker=true"
# - "--providers.docker.exposedbydefault=false"
# # metrics
# - "--metrics.prometheus=true"
# - "--metrics.prometheus.buckets=0.1,0.3,1.2,5.0"
# - "--log.level=DEBUG"
# # logs
# - "--accesslog=true"
# # entrypoints
# - "--entrypoints.web.address=:80"
# - "--entrypoints.websecure.address=:443"
# # certificatesresolvers
# - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
# - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
# - "--certificatesresolvers.myresolver.acme.email=${ACME_EMAIL}"
# - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
# expose:
# - "8080"
# ports:
# - "80:80"
# - "443:443"
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock:ro"
# - traefik_letsencrypt:/letsencrypt
# networks:
# - backend-net
volumes:
traefik_letsencrypt:
repos-data:
kube-config:
networks:
backend-net:
driver: bridge