-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
75 lines (73 loc) · 2.85 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
---
services:
postgres:
image: "postgres:16-alpine"
volumes:
- "/juicefs/services/reactive-resume/postgres:/var/lib/postgresql/data"
environment:
POSTGRES_DB: "${POSTGRES_DB:-postgres}"
POSTGRES_USER: "${POSTGRES_USER:-postgres}"
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:-postgres}"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: "10s"
timeout: "5s"
retries: 5
deploy:
mode: "replicated"
replicas: 1
restart_policy:
condition: "on-failure"
placement:
constraints:
- "node.role != manager"
chrome:
image: "ghcr.io/browserless/chromium:latest"
environment:
TIMEOUT: "${CHROME_TIMEOUT:-10000}"
CONCURRENT: "${CHROME_CONCURRENT:-2}"
TOKEN: "${CHROME_TOKEN:-Chr0m3_T0k3n}"
EXIT_ON_HEALTH_FAILURE: "${CHROME_EXIT_ON_HEALTH_FAILURE:-true}"
PRE_REQUEST_HEALTH_CHECK: "${CHROME_PRE_REQUEST_HEALTH_CHECK:-true}"
deploy:
mode: "replicated"
replicas: 1
restart_policy:
condition: "on-failure"
placement:
constraints:
- "node.role != manager"
app:
image: "amruthpillai/reactive-resume:latest"
environment:
PORT: "${APP_PORT:-3000}"
NODE_ENV: "${APP_NODE_ENV:-production}"
NODE_TLS_REJECT_UNAUTHORIZED: "${APP_NODE_TLS_REJECT_UNAUTHORIZED:-0}"
PUBLIC_URL: "${APP_PUBLIC_URL:-https://cv.example.com}"
STORAGE_URL: "${APP_STORAGE_URL:-https://storage.example.com}/${APP_STORAGE_BUCKET:-cvbucket}" # workaround to expose correct URL paths
CHROME_TOKEN: "${CHROME_TOKEN:-Chr0m3_T0k3n}"
CHROME_URL: "${APP_CHROME_URL:-ws://chrome:3000}"
DATABASE_URL: "postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-postgres}"
ACCESS_TOKEN_SECRET: "${APP_ACCESS_TOKEN_SECRET:-pitsos}"
REFRESH_TOKEN_SECRET: "${APP_REFRESH_TOKEN_SECRET:-pipitsos}"
MAIL_FROM: "${APP_MAIL_FROM:[email protected]}"
STORAGE_ENDPOINT: "${APP_STORAGE_ENDPOINT:-storage.example.com}"
STORAGE_PORT: "${APP_STORAGE_PORT:-9000}"
STORAGE_REGION: "${APP_STORAGE_REGION:-homelab}"
STORAGE_BUCKET: "${APP_STORAGE_BUCKET:-cvbucket}"
STORAGE_ACCESS_KEY: "${APP_STORAGE_ACCESS_KEY:-fretse}"
STORAGE_SECRET_KEY: "${APP_STORAGE_SECRET_KEY:-fretsepetsi}"
STORAGE_USE_SSL: "${APP_STORAGE_USE_SSL:-true}"
STORAGE_SKIP_BUCKET_CHECK: "${APP_STORAGE_SKIP_BUCKET_CHECK:-false}"
DISABLE_SIGNUPS: "${APP_DISABLE_SIGNUPS:-false}" # register first and then disable
DISABLE_EMAIL_AUTH: "${APP_DISABLE_EMAIL_AUTH:-false}"
ports:
- "${APP_PORT}:${APP_PORT}"
deploy:
mode: "replicated"
replicas: 1
restart_policy:
condition: "on-failure"
placement:
constraints:
- "node.role != manager"