File tree Expand file tree Collapse file tree 3 files changed +106
-4
lines changed
Expand file tree Collapse file tree 3 files changed +106
-4
lines changed Original file line number Diff line number Diff line change 1- version : ' 3.9'
1+ networks :
2+ web :
3+ external : true
24
35services :
46 django :
5- image : ghcr.io/spokanetech/spokanepythonweb:latest
67 container_name : django
8+ image : ghcr.io/spokanetech/spokanepythonweb:latest
79 build :
810 context : ../..
911 dockerfile : src/docker/Dockerfile
1012 env_file :
1113 - ../envs/.env.docker-compose
12- command : ./entrypoint.sh
14+ command : " ./entrypoint.sh"
1315 ports :
14- - " 8000:8000"
16+ - " 8000:8000"
17+ labels :
18+ - " traefik.enable=true"
19+
20+ # Router for HTTPS
21+ - " traefik.http.routers.django.rule=Host(`davidslusser.website`) || Host(`www.davidslusser.website`)"
22+ - " traefik.http.routers.django.entrypoints=websecure"
23+ - " traefik.http.routers.django.tls.certresolver=myresolver"
24+
25+ # Service settings
26+ - " traefik.http.services.django.loadbalancer.server.port=8000"
27+ networks :
28+ - web
1529 depends_on :
1630 - db
1731 restart : unless-stopped
@@ -25,6 +39,8 @@ services:
2539 - " 5432:5432"
2640 env_file :
2741 - ../envs/.env.docker-compose
42+ networks :
43+ - web
2844 restart : unless-stopped
2945
3046volumes :
Original file line number Diff line number Diff line change 1+ services :
2+ django :
3+ image : ghcr.io/spokanetech/spokanepythonweb:latest
4+ container_name : django
5+ build :
6+ context : ../..
7+ dockerfile : src/docker/Dockerfile
8+ env_file :
9+ - ../envs/.env.docker-compose
10+ command : ./entrypoint.sh
11+ ports :
12+ - " 8000:8000"
13+ depends_on :
14+ - db
15+ restart : unless-stopped
16+
17+ db :
18+ image : postgres:17
19+ container_name : postgres
20+ volumes :
21+ - spokanepython_postgres:/var/lib/postgresql/data
22+ ports :
23+ - " 5432:5432"
24+ env_file :
25+ - ../envs/.env.docker-compose
26+ restart : unless-stopped
27+
28+ volumes :
29+ spokanepython_postgres :
Original file line number Diff line number Diff line change 1+ version : ' 3.9'
2+
3+ networks :
4+ web :
5+ external : true
6+
7+ services :
8+ traefik :
9+ image : traefik:v3.0
10+ container_name : traefik
11+ env_file :
12+ - src/docker/.env.traefik
13+ command :
14+ - " --api.dashboard=true"
15+ - " --providers.docker=true"
16+ - " --providers.docker.exposedbydefault=false"
17+
18+ # Entry points
19+ - " --entrypoints.web.address=:80"
20+ - " --entrypoints.websecure.address=:443"
21+
22+ # Redirect HTTP to HTTPS
23+ - " --entrypoints.web.http.redirections.entrypoint.to=websecure"
24+ - " --entrypoints.web.http.redirections.entrypoint.scheme=https"
25+
26+ # Let's Encrypt
27+ - " --certificatesresolvers.myresolver.acme.tlschallenge=true"
28+ - " --certificatesresolvers.myresolver.acme.email=admin@davidslusser.website"
29+ - " --certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
30+
31+ ports :
32+ - " 80:80"
33+ - " 443:443"
34+ - " 8080:8080"
35+
36+ volumes :
37+ - " /var/run/docker.sock:/var/run/docker.sock:ro"
38+ - " letsencrypt:/letsencrypt"
39+
40+ networks :
41+ - web
42+ restart : unless-stopped
43+
44+ labels :
45+ - " traefik.enable=true"
46+
47+ # Dashboard route
48+ - " traefik.http.routers.traefik.rule=Host(`traefik.davidslusser.website`)"
49+ - " traefik.http.routers.traefik.service=api@internal"
50+ - " traefik.http.routers.traefik.entrypoints=websecure"
51+ - " traefik.http.routers.traefik.tls.certresolver=myresolver"
52+ # Auth middleware for dashboard
53+ - " traefik.http.middlewares.traefik-auth.basicauth.users=${TRAEFIK_DASH_AUTH}"
54+ - " traefik.http.routers.traefik.middlewares=traefik-auth"
55+
56+ volumes :
57+ letsencrypt :
You can’t perform that action at this time.
0 commit comments