forked from TonicAI/tonic_docker_compose
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
138 lines (138 loc) · 5.72 KB
/
docker-compose.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
130
131
132
133
134
135
136
137
138
version: '2.4'
services:
tonic_web_server:
image: quay.io/tonicai/tonic_web_server:${VERSION_TAG:-latest}
environment:
TONIC_DB_HOST: ${TONIC_DB_HOST}
TONIC_DB_PORT: ${TONIC_DB_PORT}
TONIC_DB_DATABASE: ${TONIC_DB_DATABASE}
TONIC_DB_USERNAME: ${TONIC_DB_USERNAME}
TONIC_DB_PASSWORD: ${TONIC_DB_PASSWORD}
TONIC_DB_SSLMODE: ${TONIC_DB_SSLMODE:-require}
# License should be configured by an admin within the Tonic UI. It can optionally be set here if there is no admin.
# TONIC_LICENSE: ${TONIC_LICENSE}
ENABLE_LOG_COLLECTION: ${ENABLE_LOG_COLLECTION:-false}
TONIC_STATISTICS_SEED: ${TONIC_STATISTICS_SEED}
ENVIRONMENT_NAME: ${ENVIRONMENT_NAME}
TONIC_HOST_INTEGRATION: ${TONIC_HOST_INTEGRATION:-"None"}
TONIC_HOST_INTEGRATION_ACL: ${TONIC_HOST_INTEGRATION_ACL}
TONIC_ADMINISTRATORS: ${TONIC_ADMINISTRATORS}
container_name: tonic_web_server
mem_limit: 3072m
ports:
- 80:80
- 443:443
networks:
- tonic-ai
tonic_worker:
image: quay.io/tonicai/tonic_worker:${VERSION_TAG:-latest}
environment:
TONIC_DB_HOST: ${TONIC_DB_HOST}
TONIC_DB_PORT: ${TONIC_DB_PORT}
TONIC_DB_DATABASE: ${TONIC_DB_DATABASE}
TONIC_DB_USERNAME: ${TONIC_DB_USERNAME}
TONIC_DB_PASSWORD: ${TONIC_DB_PASSWORD}
TONIC_DB_SSLMODE: ${TONIC_DB_SSLMODE:-require}
ENABLE_LOG_COLLECTION: ${ENABLE_LOG_COLLECTION:-false}
TONIC_STATISTICS_SEED: ${TONIC_STATISTICS_SEED}
ENVIRONMENT_NAME: ${ENVIRONMENT_NAME}
# should be the same as the tonic web server service name
TONIC_WEB_URL: https://tonic_web_server
ports:
- 8080:80
- 4433:443
container_name: tonic_worker
mem_limit: 10240m
depends_on:
- tonic_web_server
networks:
- tonic-ai
tonic_notifications:
image: quay.io/tonicai/tonic_notifications:${VERSION_TAG:-latest}
container_name: tonic_notifications
mem_limit: 1024m
ports:
- 7000:80
- 7001:443
environment:
ENVIRONMENT_NAME: ${ENVIRONMENT_NAME}
ENABLE_LOG_COLLECTION: ${ENABLE_LOG_COLLECTION:-false}
TONIC_DB_HOST: ${TONIC_DB_HOST}
TONIC_DB_PORT: ${TONIC_DB_PORT}
TONIC_DB_DATABASE: ${TONIC_DB_DATABASE}
TONIC_DB_USERNAME: ${TONIC_DB_USERNAME}
TONIC_DB_PASSWORD: ${TONIC_DB_PASSWORD}
TONIC_DB_SSLMODE: ${TONIC_DB_SSLMODE:-require}
# PROFESSIONAL AND ENTERPRISE TIER ONLY, OPTIONAL: The following variable must be set to enable Tonic to send notification emails as part of workspace comment functionality
# TONIC_URL: [tonic base URL, for links]
# TONIC_NOTIFICATION_SENDING_ADDRESS: notifications@[yourdomain.com]
# TONIC_NOTIFICATION_SMTP_SERVER_ADDRESS: [smtp_host]
# TONIC_NOTIFICATION_SMTP_SERVER_PORT: [smtp_port, 465]
# TONIC_NOTIFICATION_SMTP_USERNAME: [smtp_username]
# TONIC_NOTIFICATION_SMTP_PASSWORD: [smtp_password]
logging:
driver: "json-file"
options:
max-size: "200m"
max-file: "2"
depends_on:
- tonic_web_server
networks:
- tonic-ai
tonic_pyml_service:
image: quay.io/tonicai/tonic_pyml_service:${VERSION_TAG:-latest}
container_name: tonic_pyml_service
# OPTIONAL: Uncomment to enable GPU resource. Additional configuration must be completed. See: https://docs.docker.com/config/containers/resource_constraints/#gpu
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [ gpu ]
mem_limit: 1024m
environment:
ENABLE_LOG_COLLECTION: ${ENABLE_LOG_COLLECTION:-false}
ENVIRONMENT_NAME: ${ENVIRONMENT_NAME}
logging:
driver: "json-file"
options:
max-size: "200m"
max-file: "2"
ports:
- 7700:7700
networks:
- tonic-ai
# START HOST INTEGRATION
# Uncomment this container of you would like to enable Host Integration for Docker Compose. You will also need to uncomment
# the similar section in your `.env` file. See the `.template.env` file for reference.
# tonic_docker_acl:
# image: quay.io/tonicai/tonic_docker_acl:${VERSION_TAG:-latest}
# container_name: tonic_docker_acl
# mem_limit: 512m
# environment:
# ENABLE_LOG_COLLECTION: ${ENABLE_LOG_COLLECTION:-"false"}
# ENVIRONMENT_NAME: ${ENVIRONMENT_NAME}
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# networks:
# - tonic-ai
# END ONE-CLICK UPDATE
# OPTIONAL: Tonic recommends a Postgres database running outside of Docker, however the section below can be used if needed.
# If using this, please ensure the mounted location is backed up regularly.
# tonic_db:
# image: postgres:14
# restart: always
# volumes:
# - ./postgres-data:/var/lib/postgresql/data
# environment:
# POSTGRES_USER: ${TONIC_DB_USERNAME}
# POSTGRES_PASSWORD: ${TONIC_DB_PASSWORD}
# POSTGRES_DB: ${TONIC_DB_DATABASE}
# container_name: tonic_db
# mem_limit: 512m
# networks:
# - tonic-ai
networks:
tonic-ai:
driver: bridge