-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
120 lines (112 loc) · 3.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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
---
services:
nginx-proxy:
image: "ghcr.io/rkoval/infrastructure:nginx-latest"
build:
context: ./nginx
x-bake:
platforms:
- linux/amd64
restart: always
ports:
- "80:80"
- "443:443"
environment:
- ENABLE_IPV6=true
labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true
volumes:
- /opt/nginx/certs:/etc/nginx/certs
- letsencrypt-vhost:/etc/nginx/vhost.d-letsencrypt
- letsencrypt-html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
letsencrypt-nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion:v1.12.1
restart: always
depends_on:
- nginx-proxy
volumes:
- /opt/nginx/certs:/etc/nginx/certs
- letsencrypt-vhost:/etc/nginx/vhost.d
- letsencrypt-html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
# environment:
# uncomment to test with staging certs that have no rate limits
# - ACME_CA_URI=https://acme-staging-v02.api.letsencrypt.org/directory
order-me-pizza:
image: "ghcr.io/rkoval/order-me-pizza:latest"
restart: always
build:
context: ./order-me-pizza
x-bake:
platforms:
- linux/amd64
environment:
- VIRTUAL_HOST=ryankoval.pizza,www.ryankoval.pizza,ryankoval.pizza.local
- LETSENCRYPT_HOST=ryankoval.pizza,www.ryankoval.pizza
- NODE_CONFIG={}
- NODE_ENV=production
ryankoval.com:
image: "ghcr.io/rkoval/ryankoval.com:latest"
restart: always
build:
context: ./ryankoval.com
x-bake:
platforms:
- linux/amd64
environment:
- VIRTUAL_HOST=ryankoval.com,www.ryankoval.com,resume.ryankoval.com,ryankoval.local,resume.ryankoval.local,avatar.ryankoval.com,avatar.ryankoval.local,bookmarks.ryankoval.com,dotfiles.ryankoval.com,github.ryankoval.com,linkedin.ryankoval.com,twitter.ryankoval.com,portfolio.ryankoval.com
- LETSENCRYPT_HOST=ryankoval.com,www.ryankoval.com,resume.ryankoval.com,avatar.ryankoval.com,bookmarks.ryankoval.com,dotfiles.ryankoval.com,github.ryankoval.com,linkedin.ryankoval.com,twitter.ryankoval.com,portfolio.ryankoval.com
- NODE_ENV=production
ghost:
image: ghost:5.55.2-alpine
restart: always
environment:
- VIRTUAL_HOST=blog.ryankoval.com,blog.ryankoval.local
- LETSENCRYPT_HOST=blog.ryankoval.com
- NODE_ENV=production
- database__client=mysql
- database__connection__host=ghost-db
- database__connection__user=root
- database__connection__password=example
- database__connection__database=ghost
- url=https://blog.ryankoval.com
volumes:
- ./ghost-data:/var/lib/ghost/content
ghost-db:
image: mysql:8.0
restart: always
environment:
- MYSQL_ROOT_PASSWORD=example
wedding-website:
image: "ghcr.io/rkoval/wedding-website:latest"
restart: always
build:
context: ./wedding-website
x-bake:
platforms:
- linux/amd64
environment:
- VIRTUAL_HOST=caterina.and.ryankoval.com,caterina.and.ryankoval.local
- LETSENCRYPT_HOST=caterina.and.ryankoval.com
- NODE_ENV=production
rooooney:
image: "ghcr.io/rkoval/rooooney:latest"
restart: always
build:
context: ./rooooney
x-bake:
platforms:
- linux/amd64
environment:
- VIRTUAL_HOST=rooooney.ryankoval.com,rooooney.local
- LETSENCRYPT_HOST=rooooney.ryankoval.com
- NODE_ENV=production
volumes:
letsencrypt-html:
letsencrypt-vhost: