##// END OF EJS Templates
rccontrol: bump nginx
super-admin -
Show More
@@ -1,248 +1,248 b''
1 version: '3.9'
1 version: '3.9'
2
2
3 x-logging: &custom-logging
3 x-logging: &custom-logging
4 # docker plugin install grafana/loki-docker-driver:2.7.1 --alias loki --grant-all-permissions
4 # docker plugin install grafana/loki-docker-driver:2.7.1 --alias loki --grant-all-permissions
5 # NOTE: loki logging driver ONLY works for host type networks...
5 # NOTE: loki logging driver ONLY works for host type networks...
6 driver: loki
6 driver: loki
7 options:
7 options:
8 #loki-url: "http://loki:3100/loki/api/v1/push"
8 #loki-url: "http://loki:3100/loki/api/v1/push"
9 loki-url: "http://127.0.0.1:3100/loki/api/v1/push"
9 loki-url: "http://127.0.0.1:3100/loki/api/v1/push"
10 loki-retries: "5"
10 loki-retries: "5"
11 loki-timeout: "1s"
11 loki-timeout: "1s"
12 loki-max-backoff: "800ms"
12 loki-max-backoff: "800ms"
13
13
14 volumes:
14 volumes:
15
15
16 # volume for redis data store
16 # volume for redis data store
17 redis_data:
17 redis_data:
18 labels:
18 labels:
19 "keep": 1
19 "keep": 1
20
20
21 # volume for Postgres db store
21 # volume for Postgres db store
22
22
23 # volume for Postgres Data
23 # volume for Postgres Data
24 pg_data:
24 pg_data:
25 labels:
25 labels:
26 "keep": 1
26 "keep": 1
27
27
28 # volume for rhodecode elasticsearch
28 # volume for rhodecode elasticsearch
29 es_data:
29 es_data:
30 labels:
30 labels:
31 "keep": 1
31 "keep": 1
32
32
33
33
34 services:
34 services:
35
35
36 channelstream:
36 channelstream:
37 networks:
37 networks:
38 - rhodecode_network
38 - rhodecode_network
39 image: channelstream/channelstream:0.7.1
39 image: channelstream/channelstream:0.7.1
40
40
41 restart: always
41 restart: always
42
42
43 # ports:
43 # ports:
44 # - "127.0.0.1:9800:9800"
44 # - "127.0.0.1:9800:9800"
45 env_file:
45 env_file:
46 - ${RC_ENV_FILE:?must-specify-rc-env-file}
46 - ${RC_ENV_FILE:?must-specify-rc-env-file}
47 command: ["channelstream"]
47 command: ["channelstream"]
48
48
49 healthcheck:
49 healthcheck:
50 test: [ "CMD", "curl", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://channelstream:8000/admin/sign_in" ]
50 test: [ "CMD", "curl", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://channelstream:8000/admin/sign_in" ]
51 timeout: 5s
51 timeout: 5s
52 interval: 60s
52 interval: 60s
53 retries: 10
53 retries: 10
54
54
55 volumes:
55 volumes:
56 - confvolume:/etc/rhodecode/conf
56 - confvolume:/etc/rhodecode/conf
57 - logvolume:/var/log/rhodecode
57 - logvolume:/var/log/rhodecode
58
58
59 logging:
59 logging:
60 *custom-logging
60 *custom-logging
61
61
62 labels:
62 labels:
63 - "traefik.enable=false"
63 - "traefik.enable=false"
64 #- "traefik.http.routers.channelstream.entrypoints=http"
64 #- "traefik.http.routers.channelstream.entrypoints=http"
65 #- "traefik.http.services.channelstream.loadbalancer.server.port=9800"
65 #- "traefik.http.services.channelstream.loadbalancer.server.port=9800"
66
66
67 profiles:
67 profiles:
68 ["channelstream"]
68 ["channelstream"]
69
69
70 nginx:
70 nginx:
71 networks:
71 networks:
72 - rhodecode_network
72 - rhodecode_network
73 image: library/nginx:1.23.2
73 image: library/nginx:1.23.3
74
74
75 restart: always
75 restart: always
76
76
77 environment:
77 environment:
78 NGINX_ENTRYPOINT_QUIET_LOGS: 1
78 NGINX_ENTRYPOINT_QUIET_LOGS: 1
79 env_file:
79 env_file:
80 - ${RC_ENV_FILE:?must-specify-rc-env-file}
80 - ${RC_ENV_FILE:?must-specify-rc-env-file}
81
81
82 healthcheck:
82 healthcheck:
83 # change port 80 to 443 when only using SSL
83 # change port 80 to 443 when only using SSL
84 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:80/_health" ]
84 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:80/_health" ]
85 timeout: 30s
85 timeout: 30s
86 interval: 60s
86 interval: 60s
87 retries: 10
87 retries: 10
88
88
89 # depends_on:
89 # depends_on:
90 # - channelstream
90 # - channelstream
91
91
92 volumes:
92 volumes:
93 - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
93 - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
94 - ./config/nginx/http.conf:/etc/nginx/http.conf:ro
94 - ./config/nginx/http.conf:/etc/nginx/http.conf:ro
95 - ./config/nginx/proxy.conf:/etc/nginx/proxy.conf:ro
95 - ./config/nginx/proxy.conf:/etc/nginx/proxy.conf:ro
96 - logvolume:/var/log/rhodecode
96 - logvolume:/var/log/rhodecode
97 - rc_datavolume:/var/opt/rhodecode_data
97 - rc_datavolume:/var/opt/rhodecode_data
98
98
99 logging:
99 logging:
100 *custom-logging
100 *custom-logging
101
101
102 labels:
102 labels:
103 - "traefik.enable=true"
103 - "traefik.enable=true"
104 - "traefik.http.routers.nginx.entrypoints=http"
104 - "traefik.http.routers.nginx.entrypoints=http"
105 - "traefik.http.routers.nginx.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`) && ( PathPrefix(`/_health`) || PathPrefix(`/_channelstream`) || PathPrefix(`/_static/rhodecode`) )"
105 - "traefik.http.routers.nginx.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`) && ( PathPrefix(`/_health`) || PathPrefix(`/_channelstream`) || PathPrefix(`/_static/rhodecode`) )"
106 - "traefik.http.services.nginx.loadbalancer.server.port=80"
106 - "traefik.http.services.nginx.loadbalancer.server.port=80"
107
107
108 elasticsearch:
108 elasticsearch:
109 networks:
109 networks:
110 - rhodecode_network
110 - rhodecode_network
111 image: elasticsearch:6.8.23
111 image: elasticsearch:6.8.23
112
112
113 environment:
113 environment:
114 - cluster.name=elasticsearch-cluster
114 - cluster.name=elasticsearch-cluster
115 - network.host=0.0.0.0
115 - network.host=0.0.0.0
116 - bootstrap.memory_lock=true
116 - bootstrap.memory_lock=true
117 - discovery.type=single-node
117 - discovery.type=single-node
118 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
118 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
119 env_file:
119 env_file:
120 - ${RC_ENV_FILE:?must-specify-rc-env-file}
120 - ${RC_ENV_FILE:?must-specify-rc-env-file}
121 healthcheck:
121 healthcheck:
122 # change port 80 to 443 when only using SSL
122 # change port 80 to 443 when only using SSL
123 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "elasticsearch:9200/_cat/health" ]
123 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "elasticsearch:9200/_cat/health" ]
124 timeout: 30s
124 timeout: 30s
125 interval: 60s
125 interval: 60s
126 retries: 10
126 retries: 10
127
127
128 ulimits:
128 ulimits:
129 memlock:
129 memlock:
130 soft: -1
130 soft: -1
131 hard: -1
131 hard: -1
132
132
133 volumes:
133 volumes:
134 - es_data:/usr/share/elasticsearch/data
134 - es_data:/usr/share/elasticsearch/data
135
135
136 logging:
136 logging:
137 *custom-logging
137 *custom-logging
138
138
139 profiles:
139 profiles:
140 ["elasticsearch"]
140 ["elasticsearch"]
141
141
142 redis:
142 redis:
143 networks:
143 networks:
144 - rhodecode_network
144 - rhodecode_network
145 image: library/redis:7.0.5
145 image: library/redis:7.0.5
146
146
147 restart: always
147 restart: always
148 env_file:
148 env_file:
149 - ${RC_ENV_FILE:?must-specify-rc-env-file}
149 - ${RC_ENV_FILE:?must-specify-rc-env-file}
150 command:
150 command:
151 - "redis-server"
151 - "redis-server"
152 - "/etc/redis/redis.conf"
152 - "/etc/redis/redis.conf"
153 - "--maxmemory-policy allkeys-lru"
153 - "--maxmemory-policy allkeys-lru"
154 - "--maxmemory ${RC_REDIS_MAXMEMORY:?must-specify-redis-maxmemory}"
154 - "--maxmemory ${RC_REDIS_MAXMEMORY:?must-specify-redis-maxmemory}"
155
155
156 # ports:
156 # ports:
157 # - "127.0.0.1::6379"
157 # - "127.0.0.1::6379"
158
158
159 healthcheck:
159 healthcheck:
160 test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
160 test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
161 interval: 60s
161 interval: 60s
162
162
163 volumes:
163 volumes:
164 - ./config/redis/redis.conf:/etc/redis/redis.conf:ro
164 - ./config/redis/redis.conf:/etc/redis/redis.conf:ro
165 - logvolume:/var/log/rhodecode
165 - logvolume:/var/log/rhodecode
166 - redis_data:/data
166 - redis_data:/data
167
167
168 profiles:
168 profiles:
169 ["redis"]
169 ["redis"]
170
170
171 logging:
171 logging:
172 *custom-logging
172 *custom-logging
173
173
174 database:
174 database:
175 networks:
175 networks:
176 - rhodecode_network
176 - rhodecode_network
177 image: library/postgres:14.6
177 image: library/postgres:14.6
178
178
179 environment:
179 environment:
180 POSTGRES_DB: ${DB_NAME:?must-specify-db-name}
180 POSTGRES_DB: ${DB_NAME:?must-specify-db-name}
181 POSTGRES_USER: ${DB_USER:?must-specify-db-user}
181 POSTGRES_USER: ${DB_USER:?must-specify-db-user}
182 PGUSER: ${DB_USER:?must-specify-db-user}
182 PGUSER: ${DB_USER:?must-specify-db-user}
183 POSTGRES_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
183 POSTGRES_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
184 POSTGRES_HOST_AUTH_METHOD: md5
184 POSTGRES_HOST_AUTH_METHOD: md5
185 POSTGRES_INITDB_ARGS: "--auth-host=md5 --auth-local=md5"
185 POSTGRES_INITDB_ARGS: "--auth-host=md5 --auth-local=md5"
186 env_file:
186 env_file:
187 - ${RC_ENV_FILE:?must-specify-rc-env-file}
187 - ${RC_ENV_FILE:?must-specify-rc-env-file}
188
188
189 restart: always
189 restart: always
190 command:
190 command:
191 - "postgres"
191 - "postgres"
192 - "-c"
192 - "-c"
193 - "log_statement=ddl"
193 - "log_statement=ddl"
194 - "-c"
194 - "-c"
195 - "config_file=/etc/conf.d/pg_customized.conf"
195 - "config_file=/etc/conf.d/pg_customized.conf"
196
196
197 # ports:
197 # ports:
198 # - "127.0.0.1::5432"
198 # - "127.0.0.1::5432"
199
199
200 healthcheck:
200 healthcheck:
201 test: ["CMD-SHELL", "pg_isready", '-U', "$DB_USER"]
201 test: ["CMD-SHELL", "pg_isready", '-U', "$DB_USER"]
202 interval: 10s
202 interval: 10s
203 timeout: 5s
203 timeout: 5s
204 retries: 5
204 retries: 5
205
205
206 volumes:
206 volumes:
207 - $PWD/config/database/pg_customized.conf:/etc/conf.d/pg_customized.conf:ro
207 - $PWD/config/database/pg_customized.conf:/etc/conf.d/pg_customized.conf:ro
208 # db dumps reverse mount
208 # db dumps reverse mount
209 - $PWD/.custom/db_dump:/var/rc-data-dump
209 - $PWD/.custom/db_dump:/var/rc-data-dump
210 # save the pg_data volume
210 # save the pg_data volume
211 - pg_data:/var/lib/postgresql/data
211 - pg_data:/var/lib/postgresql/data
212 - logvolume:/var/log/rhodecode
212 - logvolume:/var/log/rhodecode
213
213
214 profiles:
214 profiles:
215 ["postgres"]
215 ["postgres"]
216
216
217 logging:
217 logging:
218 *custom-logging
218 *custom-logging
219
219
220 database-mysql:
220 database-mysql:
221 networks:
221 networks:
222 - rhodecode_network
222 - rhodecode_network
223 image: library/mysql:8.0.31
223 image: library/mysql:8.0.31
224
224
225 environment:
225 environment:
226 MYSQL_DATABASE: ${DB_NAME:?must-specify-db-name}
226 MYSQL_DATABASE: ${DB_NAME:?must-specify-db-name}
227 MYSQL_USER: ${DB_USER:?must-specify-db-user}
227 MYSQL_USER: ${DB_USER:?must-specify-db-user}
228 MYSQL_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
228 MYSQL_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
229 MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
229 MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
230 env_file:
230 env_file:
231 - ${RC_ENV_FILE:?must-specify-rc-env-file}
231 - ${RC_ENV_FILE:?must-specify-rc-env-file}
232
232
233 restart: always
233 restart: always
234
234
235 # ports:
235 # ports:
236 # - "127.0.0.1::3306"
236 # - "127.0.0.1::3306"
237
237
238 volumes:
238 volumes:
239 - ./config/database/mysql_customized.conf:/etc/mysql/conf.d/config-file.cnf:ro
239 - ./config/database/mysql_customized.conf:/etc/mysql/conf.d/config-file.cnf:ro
240 # save the mysql_data volume
240 # save the mysql_data volume
241 - $PWD/mysql_dir:/var/lib/mysql
241 - $PWD/mysql_dir:/var/lib/mysql
242 - logvolume:/var/log/rhodecode
242 - logvolume:/var/log/rhodecode
243
243
244 profiles:
244 profiles:
245 ["mysql"]
245 ["mysql"]
246
246
247 logging:
247 logging:
248 *custom-logging
248 *custom-logging
General Comments 0
You need to be logged in to leave comments. Login now