-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdocker-compose.website.yml
More file actions
54 lines (48 loc) · 1.53 KB
/
docker-compose.website.yml
File metadata and controls
54 lines (48 loc) · 1.53 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
version: '3.9'
name: service
########################### EXTENSION FIELDS
# Common environment values
x-environment: &default-tz-puid-pgid
TZ: 'America/Chicago'
PUID: '1000'
PGID: '1000'
# Keys common to some of the dependent services/apps
x-common-keys-apps: &common-keys-apps
security_opt:
- no-new-privileges:true
restart: unless-stopped
########################### SERVICES
services:
website:
<<: *common-keys-apps
build:
context: ./
dockerfile: ./Dockerfile
# Only will build development stage from our dockerfile
target: development
container_name: website
working_dir: /usr/src/app
ports:
- 3000:3000
environment:
<<: *default-tz-puid-pgid
volumes:
- ./src:/usr/src/app/src
- ./public:/usr/src/app/public
networks:
website-net:
labels:
- com.centurylinklabs.watchtower.enable=true
- traefik.enable=true
- traefik.docker.network=website-net
- traefik.http.services.website-svc.loadbalancer.server.port=3000
- traefik.http.routers.website.rule=Host(`${DNS_DOMAIN}`) || Host(`chat.${DNS_DOMAIN}`) || Host(`drugs.${DNS_DOMAIN}`)
- traefik.http.routers.website.service=website-svc
- traefik.http.routers.website.tls.certresolver=letsencrypt
- traefik.http.routers.website.middlewares=default@file,redirectFactsheets@file,redirectWebchat@file
- traefik.http.routers.website.entrypoints=websecure
########################### NETWORKS
networks:
website-net:
name: website-net
# external: true