1services:
2 base:
3 image: ${CHART_PROJECT_IMAGE_NAME}
4 profiles: ["dontuse"]
5 network_mode: host
6 env_file: .env
7 volumes:
8 - /pfs:/pfs
9 - /tcenas:/tcenas
10<<<hidden due to potential security issue>>>
11 - ~:/app/home
12 - ${CHART_HOST_PASSWD}:/etc/passwd
13 - ${CHART_HOST_GROUP}:/etc/group
14 - /offlinearchive:/offlinearchive
15 security_opt:
16 - seccomp:unconfined
17 user: ${CHART_USER_ID}:${CHART_GROUP_ID}
18 logging:
19 driver: "json-file"
20 options:
21 max-size: "10m"
22 max-file: "10"
23 environment:
24 CHART_DEBUG: ${CHART_DEBUG-false}
25 terminal:
26 extends:
27 service: base
28 profiles: ["debug"]
29 environment:
30 PSQL_HISTORY: /app/home/.chart.psql_history
31 HISTFILE: /app/home/.chart.bash_history
32 command: bash
33 debug_webserver:
34 extends:
35 service: base
36 profiles: ["debug"]
37 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-debugwebserver
38 command: scripts/debug_webserver.sh
39 webserver:
40 extends:
41 service: base
42 profiles: ["ipr", "epp-ipr", "web"]
43 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-webserver
44 volumes:
45 - static:/mnt/static
46 command: scripts/webserver.sh
47 # healthcheck:
48 # test: ["CMD", "curl", "-f", "http://localhost"]
49 # interval: 1m30s
50 # timeout: 10s
51 # retries: 3
52 # start_period: 40s
53 deploy:
54 resources:
55 limits:
56 memory: 8GB
57 restart: unless-stopped
58 environment:
59 CHART_STATIC_ROOT: /mnt/static
60 scheduler:
61 extends:
62 service: base
63 profiles: ["ipr"]
64 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-scheduler
65 command: scripts/scheduler.sh
66 restart: unless-stopped
67 worker_1:
68 extends:
69 service: base
70 profiles: ["ipr"]
71 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-1
72 command: scripts/worker.sh
73 deploy:
74 resources:
75 limits:
76 memory: 5GB
77 restart: unless-stopped
78 environment:
79 CHART_WORKER_NAME: worker_1
80 CHART_WORKER_MAX_WEIGHT: 1
81 worker_2:
82 extends:
83 service: base
84 profiles: ["ipr"]
85 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-2
86 command: scripts/worker.sh
87 deploy:
88 resources:
89 limits:
90 memory: 5GB
91 restart: unless-stopped
92 environment:
93 CHART_WORKER_NAME: worker_2
94 CHART_WORKER_MAX_WEIGHT: 1
95 worker_heavy:
96 extends:
97 service: base
98 profiles: ["ipr"]
99 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-heavy
100 command: scripts/worker.sh
101 deploy:
102 resources:
103 limits:
104 memory: 48GB
105 restart: unless-stopped
106 environment:
107 CHART_WORKER_NAME: worker_heavy
108 CHART_BATCH_SIZE: "7 --exclude-activities APEX_EVENTS"
109 # worker_apex_events:
110 # extends:
111 # service: base
112 # profiles: ["ipr"]
113 # container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-apex-events
114 # command: scripts/worker.sh
115 # deploy:
116 # resources:
117 # limits:
118 # memory: 8GB
119 # restart: unless-stopped
120 # environment:
121 # CHART_WORKER_NAME: "worker_apex_events"
122 # CHART_BATCH_SIZE: "--only-activities APEX_EVENTS"
123 proxy:
124 network_mode: host
125 env_file: .env
126 profiles: ["ipr", "epp-ipr", "web"]
127 container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-proxy
128 image: ${CHART_PROXY_IMAGE_NAME}
129 security_opt:
130 - seccomp:unconfined
131 volumes:
132 - /pfs:/pfs
133 - /tcenas:/tcenas
134 - static:/mnt/static
135 environment:
136 CHART_PREFIX: ${CHART_PREFIX}
137 CHART_FRONTEND_PORT: ${CHART_FRONTEND_PORT}
138 CHART_PORT: ${CHART_PORT}
139 CHART_LOG_DIR: ${CHART_LOG_DIR}/apache
140 CHART_STATIC_ROOT: /mnt/static
141 restart: unless-stopped
142volumes:
143 static:
144 external: false
145 name: ${CHART_VOLUME_PREFIX}${CHART_PROJECT_NAME}-static