-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
106 lines (102 loc) · 3.33 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
#
# Tested with docker compose plugin v2.24.5
#
# Usage:
# Start app.
# DOCKER_HOST_FQDN=$(hostname -f) DOCKER_PUBLISH_REGISTRY=docker.io [IMAGE_TAG=<tag>] docker compose up
# If "hostname -f" doesn't provide a fully qualified hostname, set
# DOCKER_HOST_FQDN explicitly.
#
# Build
# DOCKER_PUBLISH_REGISTRY=docker.io [IMAGE_TAG=<tag>] docker compose build --build-arg "http_proxy" --build-arg "https_proxy" --build-arg "no_proxy"
# If the proxy variables are not set in your environment, define them with
# --build-arg "http_proxy=<your proxy>" for each of the three settings.
#
# Push built image to registry. May need "docker login" to registry first.
# Change "docker.io" to your desired registry
# DOCKER_PUBLISH_REGISTRY=docker.io [IMAGE_TAG=<tag>] docker compose push
#
#
#
# The following variables should be defined on the command line or
# exported in the environment.
#
# DOCKER_PUBLISH_REGISTRY
# "docker.io" if you don't have a registry or if you use dockerhub
# or your private registry, if you have one.
#
# DOCKER_HOST_FQDN
# The fully qualified domain name of the public url you intend to access the system
# from. Typically the output from "hostname -f", ie DOCKER_HOST_FQDN=$(hostname -f)
#
# DOCKER_ORG
# Name of the Organization path where the image will be hosted on dockerhub or
# your private docker registry
#
# IMAGE_TAG
# [Optional] The tag to use when building or running the image. If not specified, "latest"
# will be used.
#
# Typical cli invocation might be
# DOCKER_PUBLISH_REGISTRY=docker.io \
# DOCKER_HOST_FQDN=$(hostname -f) \
# DOCKER_ORG=mycompany
#
#
services:
qrdm-ui:
container_name: qrdm-ui
build:
context: .
target: qrdm-ui
args:
- http_proxy=
- https_proxy=
- no_proxy=
- IMAGE_TAG=${IMAGE_TAG:-latest}
image: ${DOCKER_PUBLISH_REGISTRY}/${DOCKER_ORG}/qrdm-ui:${IMAGE_TAG:-latest}
environment:
- STREAMLIT_SERVER_ADDRESS=0.0.0.0
- STREAMLIT_SERVER_PORT=8501
- STREAMLIT_SERVER_BASE_URL_PATH=/qrdm-ui
- STREAMLIT_SERVER_ENABLE_CORS=true
- STREAMLIT_BROWSER_SERVER_ADDRESS=${DOCKER_HOST_FQDN}
- STREAMLIT_BROWSER_SERVER_PORT=80
qrdm-api:
container_name: qrdm-api
build:
context: .
target: qrdm-api
args:
- http_proxy=
- https_proxy=
- no_proxy=
- IMAGE_TAG=${IMAGE_TAG:-latest}
image: ${DOCKER_PUBLISH_REGISTRY}/${DOCKER_ORG}/qrdm-api:${IMAGE_TAG:-latest}
environment:
- QRDM_SERVER_PORT=8182
- QRDM_SERVER_ADDRESS=0.0.0.0
- QRDM_NUM_WORKERS=1
- QRDM_BASE_URL_PATH=/qrdm-api
- QRDM_JSON_LOGS=true
- QRDM_LOG_LEVEL=INFO
nginx:
image: "nginx:1.25.3"
container_name: qrdm-nginx
ports:
- "80:80"
- "443:443"
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
# environment:
# ENV_NGINX_SSL_VERIFY: ${ENV_NGINX_SSL_VERIFY}
# ENV_NGINX_PRIVATE_IP: ${ENV_NGINX_PRIVATE_IP}
# EXT_NGINX_HTTP_PORT: ${EXT_NGINX_HTTP_PORT}
# EXT_NGINX_HTTPS_PORT: ${EXT_NGINX_HTTPS_PORT}
volumes:
- ${PWD}/conf/nginx/nginx.conf:/etc/nginx/nginx.conf
- ${PWD}/conf/nginx/conf.d:/etc/nginx/conf.d:ro
- ${PWD}/conf/nginx/private:/etc/ssl/private:ro