forked from tegonhq/tegon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.prod.yaml
129 lines (121 loc) · 3.65 KB
/
docker-compose.prod.yaml
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
version: "3.8"
services:
supertokens:
image: registry.supertokens.io/supertokens/supertokens-postgresql:latest
environment:
POSTGRESQL_CONNECTION_URI: ${SUPERTOKEN_DATABASE_URL}
REFRESH_TOKEN_VALIDITY: 2592000 # 30 days in seconds
ACCESS_TOKEN_VALIDITY: 2592000 # 30 days in seconds
ports:
- 3567:3567
networks:
- tegon
restart: unless-stopped
redis:
image: redis:alpine3.19
networks:
- tegon
restart: unless-stopped
server:
image: "tegonhq/tegon-server:${VERSION}"
container_name: tegon-server
depends_on:
- supertokens
- redis
- typesense
restart: unless-stopped
networks:
- tegon
environment:
- DATABASE_URL=${DATABASE_URL}
- FRONTEND_HOST=${FRONTEND_HOST}
- PUBLIC_FRONTEND_HOST=${PUBLIC_FRONTEND_HOST}
- BACKEND_HOST=${BACKEND_HOST}
- PORT=${BACKEND_PORT}
- SUPERTOKEN_CONNECTION_URI=${SUPERTOKEN_CONNECTION_URI}
- MASTER_TOKEN=${MASTER_TOKEN}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- REPLICATION_DATABASE_URL=${REPLICATION_DATABASE_URL}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_SCHEMA=${DB_SCHEMA}
- REDIS_URL=${REDIS_URL}
- REDIS_PORT=${REDIS_PORT}
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_HOST=${TYPESENSE_HOST}
- TYPESENSE_PORT=${TYPESENSE_PORT}
- TYPESENSE_PROTOCOL=${TYPESENSE_PROTOCOL}
- GOOGLE_LOGIN_CLIENT_ID=${GOOGLE_LOGIN_CLIENT_ID}
- GOOGLE_LOGIN_CLIENT_SECRET=${GOOGLE_LOGIN_CLIENT_SECRET}
- SLACK_CLIENT_ID=${SLACK_CLIENT_ID}
- SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}
- SENTRY_CLIENT_ID=${SENTRY_CLIENT_ID}
- SENTRY_CLIENT_SECRET=${SENTRY_CLIENT_SECRET}
- GCP_BUCKET_NAME=${GCP_BUCKET_NAME}
- GCP_SERVICE_ACCOUNT_FILE=${GCP_SERVICE_ACCOUNT_FILE}
- PUBLIC_ATTACHMENT_URL=${PUBLIC_ATTACHMENT_URL}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_USER=${SMTP_USER}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_DEFAULT_FROM=${SMTP_DEFAULT_FROM}
ports:
- 3001:3001
webapp:
image: "tegonhq/tegon-webapp:${VERSION}"
container_name: tegon-webapp
restart: unless-stopped
depends_on:
- server
networks:
- tegon
environment:
- BACKEND_URL=${BACKEND_URL}
- NEXT_PUBLIC_BASE_HOST=${PUBLIC_FRONTEND_HOST}
- NEXT_PUBLIC_VERSION=${VERSION}
- NEXT_PUBLIC_SYNC_SERVER=${NEXT_PUBLIC_SYNC_SERVER}
- NEXT_PUBLIC_SENTRY_DSN=${NEXT_PUBLIC_SENTRY_DSN}
ports:
- 8000:3000
prisma:
image: "tegonhq/tegon-prisma:${VERSION}"
container_name: tegon-prisma
restart: unless-stopped
networks:
- tegon
environment:
- DATABASE_URL=${DATABASE_URL}
- REPLICATION_DATABASE_URL=${REPLICATION_DATABASE_URL}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_SCHEMA=${DB_SCHEMA}
ports:
- 5555:5555
typesense:
image: typesense/typesense:0.26.0.rc61
container_name: tegon-typesense
ports:
- "8108:8108"
volumes:
- typesense-data:/data
networks:
- tegon
restart: unless-stopped
command: --data-dir /data --api-key=${TYPESENSE_API_KEY} --enable-cors
networks:
app_network:
driver: bridge
tegon: {}
volumes:
postgres-data:
kafka-volume:
zookeeper-volume:
typesense-data: