-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
executable file
·87 lines (80 loc) · 2.75 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
version: "3"
services:
traefik:
image: traefik:2.2
restart: always
command:
--api.insecure=true
--providers.docker
--entryPoints.web.address=:80
--entryPoints.websecure.address=:443
--certificatesResolvers.le.acme.storage=/acme/acme.json
--certificatesResolvers.le.acme.tlsChallenge=true
--entrypoints.web.http.redirections.entryPoint.to=websecure
--entrypoints.web.http.redirections.entryPoint.scheme=https
# --log.level=DEBUG
# --certificatesResolvers.le.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory
ports:
# The HTTP port
- "80:80"
# The HTTPS port
- "443:443"
# The Web UI enabled by --api.insecure=true
- "8080:8080"
volumes:
# So that Traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock
- "./docker_volumes/acme/:/acme/"
environment:
- HTTP_PROXY=http://bby-nsx-proxy.its.sfu.ca:8080
- HTTPS_PROXY=http://bby-nsx-proxy.its.sfu.ca:8080
- NO_PROXY=www.npatlas.org,127.0.0.0/8,172.24.0.0/8
# separate static file server
static:
image: nginx
restart: always
# pass location of static files
volumes:
- "./static_deploy:/usr/share/nginx/html/static"
labels:
- traefik.http.routers.static.rule=Host(`www.npatlas.org`)&&PathPrefix(`/static`)
- traefik.http.routers.static.tls=true
- traefik.http.routers.static.tls.certresolver=le
api:
image: npatlas_api:0.0.11
restart: always
env_file:
- api.env
labels:
- traefik.http.routers.atlas-api.rule=Host(`www.npatlas.org`)&&PathPrefix(`/api`)
- traefik.http.routers.atlas-api.tls=true
- traefik.http.routers.atlas-api.tls.certresolver=le
# Dont expose ports - no auth
redis:
image: redis
# Enable persistent data
volumes:
- "./docker_volumes/redis:/data"
command: ["redis-server", "--appendonly", "yes"]
marvinws:
image: marvinws:latest
restart: always
labels:
- "traefik.http.routers.webservice.rule=Host(`www.npatlas.org`)&&PathPrefix(`/webservices2`)"
- "traefik.http.middlewares.wsstrip.stripprefix.prefixes=/webservices2"
- traefik.http.routers.webservice.middlewares=wsstrip@docker
- traefik.http.routers.webservice.tls=true
- traefik.http.routers.webservice.tls.certresolver=le
app:
image: npatlas:2.0.6
restart: always
env_file:
- app.env
# Persistent SQLite DB
volumes:
- "./db:/usr/src/app/db"
labels:
- traefik.http.routers.atlas.rule=Host(`www.npatlas.org`)&&PathPrefix(`/`)
- traefik.http.routers.atlas.tls=true
- traefik.http.routers.atlas.tls.certresolver=le