forked from stack-auth/stack-auth
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker.compose.yaml
More file actions
180 lines (160 loc) · 5.29 KB
/
docker.compose.yaml
File metadata and controls
180 lines (160 loc) · 5.29 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
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# dashboard: 32101
# backend: 32102
# svix-server: 32201
# mock-oauth-server: 32202
# inbucket: 32203
# freestyle-mock: 32204
# s3mock: 32205
services:
# ================= Stack Auth Server =================
server:
build:
context: ../..
dockerfile: docker/server/Dockerfile
ports:
- 32101:8101
- 32102:8102
environment:
NEXT_PUBLIC_STACK_API_URL: "http://localhost:32102"
NEXT_PUBLIC_STACK_DASHBOARD_URL: "http://localhost:32101"
STACK_DATABASE_CONNECTION_STRING: "postgres://postgres:PASSWORD-PLACEHOLDER--uqfEC1hmmv@db:5432/stackframe"
STACK_DIRECT_DATABASE_CONNECTION_STRING: "postgres://postgres:PASSWORD-PLACEHOLDER--uqfEC1hmmv@db:5432/stackframe"
STACK_SERVER_SECRET: "23-wuNpik0gIW4mruTz25rbIvhuuvZFrLOLtL7J4tyo"
STACK_SEED_INTERNAL_PROJECT_ALLOW_LOCALHOST: "true"
STACK_RUN_MIGRATIONS: "true"
STACK_RUN_SEED_SCRIPT: "true"
STACK_EMULATOR_ENABLED: "true"
NEXT_PUBLIC_STACK_EMULATOR_ENABLED: "true"
STACK_EMULATOR_PROJECT_ID: "dff88d17-6d39-4b08-b4e2-c87c81f7218a"
NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID: "dff88d17-6d39-4b08-b4e2-c87c81f7218a"
NEXT_PUBLIC_STACK_SVIX_SERVER_URL: "http://localhost:32201"
STACK_SVIX_SERVER_URL: "http://svix-server:8071"
STACK_SVIX_API_KEY: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2NTUxNDA2MzksImV4cCI6MTk3MDUwMDYzOSwibmJmIjoxNjU1MTQwNjM5LCJpc3MiOiJzdml4LXNlcnZlciIsInN1YiI6Im9yZ18yM3JiOFlkR3FNVDBxSXpwZ0d3ZFhmSGlyTXUifQ.En8w77ZJWbd0qrMlHHupHUB-4cx17RfzFykseg95SUk"
NEXT_PUBLIC_STACK_INBUCKET_WEB_URL: "http://localhost:32203"
STACK_EMAIL_HOST: "inbucket"
STACK_EMAIL_PORT: 2500
STACK_EMAIL_SECURE: "false"
STACK_EMAIL_USERNAME: "none"
STACK_EMAIL_PASSWORD: "none"
STACK_EMAIL_SENDER: "noreply@example.com"
STACK_FORWARD_MOCK_OAUTH_SERVER: "true"
STACK_OAUTH_MOCK_URL: "http://localhost:32202"
STACK_GITHUB_CLIENT_ID: "MOCK"
STACK_GITHUB_CLIENT_SECRET: "MOCK"
STACK_GOOGLE_CLIENT_ID: "MOCK"
STACK_GOOGLE_CLIENT_SECRET: "MOCK"
STACK_MICROSOFT_CLIENT_ID: "MOCK"
STACK_MICROSOFT_CLIENT_SECRET: "MOCK"
STACK_SPOTIFY_CLIENT_ID: "MOCK"
STACK_SPOTIFY_CLIENT_SECRET: "MOCK"
STACK_S3_ENDPOINT: "http://localhost:32205"
STACK_S3_BUCKET: "stack-storage"
STACK_S3_REGION: "us-east-1"
STACK_S3_ACCESS_KEY_ID: "S3RVER"
STACK_S3_SECRET_ACCESS_KEY: "S3RVER"
depends_on:
db:
condition: service_healthy
inbucket:
condition: service_started
svix-server:
condition: service_started
s3mock:
condition: service_healthy
freestyle-mock:
condition: service_started
# ================= Mock OAuth Server =================
mock-oauth-server:
build:
context: ../..
dockerfile: docker/mock-oauth-server/Dockerfile
ports:
- 32202:32202
# ================= PostgreSQL =================
db:
image: postgres:15
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: PASSWORD-PLACEHOLDER--uqfEC1hmmv
POSTGRES_DB: stackframe
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "stackframe"]
interval: 5s
timeout: 10s
retries: 5
start_period: 10s
# ================= Inbucket =================
inbucket:
image: inbucket/inbucket:latest
ports:
- 32203:9000
volumes:
- inbucket-data:/data
# ================= Svix =================
svix-db:
image: "docker.io/postgres:16.1"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: PASSWORD-PLACEHOLDER--KsoIMcchtp
POSTGRES_DB: svix
volumes:
- svix-postgres-data:/var/lib/postgresql/data
svix-redis:
image: docker.io/redis:7-alpine
command: --save 60 500 --appendonly yes --appendfsync everysec --requirepass PASSWORD-PLACEHOLDER--oVn8GSD6b9
volumes:
- svix-redis-data:/data
svix-server:
image: svix/svix-server
environment:
WAIT_FOR: 'true'
SVIX_REDIS_DSN: redis://:PASSWORD-PLACEHOLDER--oVn8GSD6b9@svix-redis:6379
SVIX_DB_DSN: postgres://postgres:PASSWORD-PLACEHOLDER--KsoIMcchtp@svix-db:5432/svix
SVIX_CACHE_TYPE: memory
SVIX_JWT_SECRET: secret
SVIX_LOG_LEVEL: trace
SVIX_QUEUE_TYPE: redis
ports:
- 32201:8071
depends_on:
- svix-redis
- svix-db
# ================= Adobe S3 Mock =================
s3mock:
image: adobe/s3mock:latest
ports:
- 32205:9090
environment:
- initialBuckets=stack-storage
- root=s3mockroot
- debug=false
volumes:
- s3mock-data:/tmp/s3mock
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9090/"]
interval: 30s
timeout: 10s
retries: 3
# ================= Freestyle mock =================
freestyle-mock:
build:
context: ../dependencies/freestyle-mock
dockerfile: Dockerfile
image: freestyle-mock
container_name: freestyle-mock
ports:
- "32204:8080"
environment:
DENO_DIR: /deno-cache
volumes:
- deno-cache:/deno-cache
# ================= volumes =================
volumes:
postgres-data:
inbucket-data:
svix-redis-data:
svix-postgres-data:
s3mock-data:
deno-cache: