Skip to content

Commit ba95af7

Browse files
committed
add traefik support
1 parent 4dc20bb commit ba95af7

File tree

2 files changed

+74
-23
lines changed

2 files changed

+74
-23
lines changed

.github/workflows/docker-image.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@ on:
66
- master
77
paths:
88
- 'Dockerfile'
9+
- 'docker-compose.yaml'
910
- '*.sh'
1011
- '*.html'
1112
- 'js/*.js'
13+
- 'css/*.css'
14+
- 'assets/*'
1215
- '.github/workflows/docker-publish.yml'
1316

1417
jobs:

docker-compose.yaml

Lines changed: 71 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ services:
66
container_name: fetch-medical
77
ports:
88
- "8080:80"
9-
volumes:
10-
# Mount logs for debugging (optional)
11-
- ./logs:/var/log/nginx
129
environment:
1310
- NGINX_HOST=localhost
1411
- NGINX_PORT=80
@@ -19,28 +16,79 @@ services:
1916
timeout: 10s
2017
retries: 3
2118
start_period: 40s
19+
# labels:
20+
# - "traefik.enable=true"
21+
# - "traefik.http.routers.medical-app.rule=Host(`medical-diagnostics.local`)"
22+
# - "traefik.http.services.medical-app.loadbalancer.server.port=80"
23+
networks:
24+
- traefik
2225
labels:
23-
- "traefik.enable=true"
24-
- "traefik.http.routers.medical-app.rule=Host(`medical-diagnostics.local`)"
25-
- "traefik.http.services.medical-app.loadbalancer.server.port=80"
26+
traefik.enable: "true"
27+
traefik.http.routers.client.rule: Host(`$DOMAIN_NAME`)
28+
traefik.http.routers.client.entrypoints: websecure
29+
traefik.http.routers.client.tls: "true"
30+
traefik.http.services.client.loadbalancer.server.port: "80"
31+
traefik:
32+
image: traefik:v2.10
33+
command:
34+
- --api.insecure=false
35+
- --providers.docker=true
36+
- --providers.docker.exposedbydefault=false
37+
- --entrypoints.web.address=:80
38+
- --entrypoints.websecure.address=:443
39+
- --entrypoints.websecure.http.tls.options=default@file
40+
- --providers.file.directory=/etc/traefik/dynamic
41+
- --providers.file.watch=true
42+
ports:
43+
- 80:80
44+
- 443:443
45+
volumes:
46+
- /var/run/docker.sock:/var/run/docker.sock:ro
47+
- /mnt/secure/cert:/certs:ro
48+
networks:
49+
- traefik
50+
configs:
51+
- source: tls_config
52+
target: /etc/traefik/dynamic/tls.yml
53+
networks:
54+
traefik:
55+
driver: bridge
56+
configs:
57+
tls_config:
58+
content: |-
59+
tls:
60+
certificates:
61+
- certFile: /certs/secret_vm_fullchain.pem
62+
keyFile: /certs/secret_vm_private.pem
63+
stores:
64+
default:
65+
defaultCertificate:
66+
certFile: /certs/secret_vm_fullchain.pem
67+
keyFile: /certs/secret_vm_private.pem
68+
69+
70+
71+
72+
73+
2674
2775
# Optional: Add a reverse proxy for SSL/domain routing
2876
# Uncomment if you want to use Traefik for routing
29-
# traefik:
30-
# image: traefik:v2.10
31-
# container_name: traefik
32-
# command:
33-
# - "--api.insecure=true"
34-
# - "--providers.docker=true"
35-
# - "--providers.docker.exposedbydefault=false"
36-
# - "--entrypoints.web.address=:80"
37-
# ports:
38-
# - "80:80"
39-
# - "8081:8080" # Traefik dashboard
40-
# volumes:
41-
# - /var/run/docker.sock:/var/run/docker.sock:ro
42-
# restart: unless-stopped
77+
# traefik:
78+
# image: traefik:v2.10
79+
# container_name: traefik
80+
# command:
81+
# - "--api.insecure=true"
82+
# - "--providers.docker=true"
83+
# - "--providers.docker.exposedbydefault=false"
84+
# - "--entrypoints.web.address=:80"
85+
# ports:
86+
# - "80:80"
87+
# - "8081:8080" # Traefik dashboard
88+
# volumes:
89+
# - /var/run/docker.sock:/var/run/docker.sock:ro
90+
# restart: unless-stopped
4391

44-
networks:
45-
default:
46-
name: medical-diagnostics-network
92+
# networks:
93+
# default:
94+
# name: medical-diagnostics-network

0 commit comments

Comments
 (0)