##// END OF EJS Templates
compose: freeze to 4.28.0 default version if not given....
super-admin -
Show More
@@ -15,7 +15,7 b' Core Services:'
15 - Database (defaults to PostgreSQL)
15 - Database (defaults to PostgreSQL)
16 - Redis, acts as cache and queue exchange
16 - Redis, acts as cache and queue exchange
17 - ChannelStream - live websocket communications
17 - ChannelStream - live websocket communications
18 - Nginx (static/channelstream) proxy serving RhodeCode APPS and channelstream communication
18 - Nginx (static/channelstream) proxy serving RhodeCode static files and channelstream communication
19 - Elasticsearch (full text search backend)
19 - Elasticsearch (full text search backend)
20
20
21 RhodeCode
21 RhodeCode
@@ -30,17 +30,17 b' RhodeCode'
30 Metrics
30 Metrics
31
31
32 - Loki, logs aggregation
32 - Loki, logs aggregation
33 - Grafana, Metrics Dashboard
33 - Grafana, metrics Dashboard
34 - Promethues, Metrics time-series
34 - Prometheus, metrics time-series
35 - statsd-exporter - statsd to promethues bridge
35 - Statsd-exporter - statsd to Prometheus bridge
36 - node-exporter - machine stats
36 - Node-exporter - machine stats and usage
37 - promtail - log scraping
37 - Promtail - log scraping
38
38
39
39
40 ## Pre requisites
40 ## Pre requisites
41
41
42 To Run this stack Docker engine and Docker Compose needs to be installed on the host machine.
42 To Run this stack Docker engine and Docker Compose needs to be installed on the host machine.
43 Please run ./rccontrol init to install docker using the installer, or
43 Please run `./rccontrol init` to install docker using the installer, or
44 visit docker site and install docker (min version 20.10) and docker compose:
44 visit docker site and install docker (min version 20.10) and docker compose:
45
45
46 - https://docs.docker.com/engine/install/
46 - https://docs.docker.com/engine/install/
@@ -16,7 +16,7 b' services:'
16 context: .
16 context: .
17 dockerfile: service/rhodecode/rhodecode_source.dockerfile
17 dockerfile: service/rhodecode/rhodecode_source.dockerfile
18
18
19 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}_SOURCE
19 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}_SOURCE
20
20
21 vcsserver:
21 vcsserver:
22 environment:
22 environment:
@@ -29,7 +29,7 b' services:'
29 context: .
29 context: .
30 dockerfile: service/rhodecode/rhodecode_source.dockerfile
30 dockerfile: service/rhodecode/rhodecode_source.dockerfile
31
31
32 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}_SOURCE
32 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}_SOURCE
33
33
34 celery:
34 celery:
35
35
@@ -37,7 +37,7 b' services:'
37 context: .
37 context: .
38 dockerfile: service/rhodecode/rhodecode_source.dockerfile
38 dockerfile: service/rhodecode/rhodecode_source.dockerfile
39
39
40 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}_SOURCE
40 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}_SOURCE
41
41
42 celery-beat:
42 celery-beat:
43
43
@@ -45,7 +45,7 b' services:'
45 context: .
45 context: .
46 dockerfile: service/rhodecode/rhodecode_source.dockerfile
46 dockerfile: service/rhodecode/rhodecode_source.dockerfile
47
47
48 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}_SOURCE
48 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}_SOURCE
49
49
50 svn:
50 svn:
51
51
@@ -53,7 +53,7 b' services:'
53 context: .
53 context: .
54 dockerfile: service/rhodecode/rhodecode_source.dockerfile
54 dockerfile: service/rhodecode/rhodecode_source.dockerfile
55
55
56 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}_SOURCE
56 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}_SOURCE
57
57
58 sshd:
58 sshd:
59
59
@@ -61,4 +61,4 b' services:'
61 context: .
61 context: .
62 dockerfile: service/rhodecode/rhodecode_source.dockerfile
62 dockerfile: service/rhodecode/rhodecode_source.dockerfile
63
63
64 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}_SOURCE No newline at end of file
64 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}_SOURCE No newline at end of file
@@ -17,9 +17,7 b' services:'
17 rhodecode:
17 rhodecode:
18 networks:
18 networks:
19 - rhodecode_network
19 - rhodecode_network
20 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}
20 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}
21 env_file:
22 - .custom/.runtime.env
23 stdin_open: true
21 stdin_open: true
24 tty: true
22 tty: true
25 restart: always
23 restart: always
@@ -42,7 +40,7 b' services:'
42 dockerfile: service/rhodecode/rhodecode.dockerfile
40 dockerfile: service/rhodecode/rhodecode.dockerfile
43 args:
41 args:
44 TZ: ${TZ}
42 TZ: ${TZ}
45 RHODECODE_VERSION: ${RC_VERSION:?specify-RC_VERSION-env-var}
43 RHODECODE_VERSION: ${RC_VERSION:-4.28.0}
46 RHODECODE_DB: postgresql://rhodecode:${DB_PASSWORD:?must-specify-db-password}@database/${DB_NAME:?must-specify-db-name}
44 RHODECODE_DB: postgresql://rhodecode:${DB_PASSWORD:?must-specify-db-password}@database/${DB_NAME:?must-specify-db-name}
47 RHODECODE_USER_NAME: ${RHODECODE_USER_NAME}
45 RHODECODE_USER_NAME: ${RHODECODE_USER_NAME}
48 RHODECODE_USER_PASS: ${RHODECODE_USER_PASS}
46 RHODECODE_USER_PASS: ${RHODECODE_USER_PASS}
@@ -99,9 +97,8 b' services:'
99 vcsserver:
97 vcsserver:
100 networks:
98 networks:
101 - rhodecode_network
99 - rhodecode_network
102 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}
100 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}
103 env_file:
101
104 - .custom/.runtime.env
105 stdin_open: true
102 stdin_open: true
106 tty: true
103 tty: true
107 restart: always
104 restart: always
@@ -148,9 +145,8 b' services:'
148 celery:
145 celery:
149 networks:
146 networks:
150 - rhodecode_network
147 - rhodecode_network
151 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}
148 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}
152 env_file:
149
153 - .custom/.runtime.env
154 stdin_open: true
150 stdin_open: true
155 tty: true
151 tty: true
156 restart: always
152 restart: always
@@ -193,9 +189,8 b' services:'
193 # This service is not scalable
189 # This service is not scalable
194 networks:
190 networks:
195 - rhodecode_network
191 - rhodecode_network
196 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}
192 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}
197 env_file:
193
198 - .custom/.runtime.env
199 stdin_open: true
194 stdin_open: true
200 tty: true
195 tty: true
201 restart: always
196 restart: always
@@ -236,9 +231,7 b' services:'
236 svn:
231 svn:
237 networks:
232 networks:
238 - rhodecode_network
233 - rhodecode_network
239 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}
234 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}
240 env_file:
241 - .custom/.runtime.env
242
235
243 # build:
236 # build:
244 # context: .
237 # context: .
@@ -279,9 +272,7 b' services:'
279 sshd:
272 sshd:
280 networks:
273 networks:
281 - rhodecode_network
274 - rhodecode_network
282 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:?specify-RC_VERSION-env-var}
275 image: rhodecode/rhodecode-${RC_EDITION}:${RC_VERSION:-4.28.0}
283 env_file:
284 - .custom/.runtime.env
285
276
286 stdin_open: true
277 stdin_open: true
287 tty: true
278 tty: true
@@ -25,9 +25,6 b' services:'
25 - "443:443"
25 - "443:443"
26 # The SSH port
26 # The SSH port
27 - "${RC_SSH_PORT}:${RC_SSH_PORT}"
27 - "${RC_SSH_PORT}:${RC_SSH_PORT}"
28 # The Web UI (enabled by --api.insecure=true)
29 # uncomment to expose dashboard at port :7000
30 #- "7000:7000"
31 volumes:
28 volumes:
32 # So that Traefik can listen to the Docker events
29 # So that Traefik can listen to the Docker events
33 - /var/run/docker.sock:/var/run/docker.sock
30 - /var/run/docker.sock:/var/run/docker.sock
@@ -45,9 +45,6 b' services:'
45
45
46 command: ["channelstream"]
46 command: ["channelstream"]
47
47
48 env_file:
49 - .custom/.runtime.env
50
51 healthcheck:
48 healthcheck:
52 test: [ "CMD", "curl", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://channelstream:8000/admin/sign_in" ]
49 test: [ "CMD", "curl", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://channelstream:8000/admin/sign_in" ]
53 timeout: 5s
50 timeout: 5s
@@ -143,11 +140,12 b' services:'
143 image: library/redis:7.0.5
140 image: library/redis:7.0.5
144
141
145 restart: always
142 restart: always
143
146 command:
144 command:
147 - "redis-server"
145 - "redis-server"
148 - "/etc/redis/redis.conf"
146 - "/etc/redis/redis.conf"
149 - "--maxmemory-policy allkeys-lru"
147 - "--maxmemory-policy allkeys-lru"
150 - "--maxmemory ${RC_REDIS_MAXMEMORY}"
148 - "--maxmemory ${RC_REDIS_MAXMEMORY:?must-specify-redis-maxmemory}"
151
149
152 # ports:
150 # ports:
153 # - "127.0.0.1::6379"
151 # - "127.0.0.1::6379"
@@ -80,6 +80,12 b' rccontrol_usage() {'
80 printf "Environment Variables:\n"
80 printf "Environment Variables:\n"
81
81
82 # :environment_variable.usage
82 # :environment_variable.usage
83 echo " RCC_CONFIG"
84 printf " default config file for rccontrol\n"
85 printf " Default: .rccontrol.ini\n"
86 echo
87
88 # :environment_variable.usage
83 echo " AUTH_TOKEN"
89 echo " AUTH_TOKEN"
84 printf " Set your RhodeCode AUTH Token\n"
90 printf " Set your RhodeCode AUTH Token\n"
85 echo
91 echo
@@ -414,7 +420,7 b' rccontrol_stack_usage() {'
414 fi
420 fi
415
421
416 printf "Usage:\n"
422 printf "Usage:\n"
417 printf " rccontrol stack COMMAND\n"
423 printf " rccontrol stack [OPTIONS] COMMAND\n"
418 printf " rccontrol stack [COMMAND] --help | -h\n"
424 printf " rccontrol stack [COMMAND] --help | -h\n"
419 echo
425 echo
420 # :command.usage_commands
426 # :command.usage_commands
@@ -435,6 +441,13 b' rccontrol_stack_usage() {'
435 printf " Show this help\n"
441 printf " Show this help\n"
436 echo
442 echo
437
443
444 # :command.usage_flags
445 # :flag.usage
446 echo " --env-file-path ENV_FILE_PATH"
447 printf " Set custom env file\n"
448 printf " Default: $PWD/.custom/.runtime.env\n"
449 echo
450
438 # :command.usage_examples
451 # :command.usage_examples
439 printf "Examples:\n"
452 printf "Examples:\n"
440 printf " - ./rccontrol stack router up # run router stack with output to\n console\n - ./rccontrol stack router up --detach # run router stack detached\n - ./rccontrol stack router down # stop whole router stack\n - ./rccontrol stack router ps # check status of router stack\n - ./rccontrol stack router -f docker-overrides.yaml up -d # run router stack\n with your overrides\n"
453 printf " - ./rccontrol stack router up # run router stack with output to\n console\n - ./rccontrol stack router up --detach # run router stack detached\n - ./rccontrol stack router down # stop whole router stack\n - ./rccontrol stack router ps # check status of router stack\n - ./rccontrol stack router -f docker-overrides.yaml up -d # run router stack\n with your overrides\n"
@@ -1024,7 +1037,7 b' cyan_underlined() { print_in_color "\\e[4;36m" "$*"; }'
1024
1037
1025 # src/lib/config.sh
1038 # src/lib/config.sh
1026 config_init() {
1039 config_init() {
1027 CONFIG_FILE=${CONFIG_FILE:=config.ini}
1040 CONFIG_FILE=${CONFIG_FILE:=.rccontrol.ini}
1028 [[ -f "$CONFIG_FILE" ]] || touch "$CONFIG_FILE"
1041 [[ -f "$CONFIG_FILE" ]] || touch "$CONFIG_FILE"
1029 }
1042 }
1030
1043
@@ -1350,7 +1363,6 b' rccontrol_bootstrap_command() {'
1350
1363
1351 DEFINITIONS_EXIST=""
1364 DEFINITIONS_EXIST=""
1352 CHECK_FILES="\
1365 CHECK_FILES="\
1353 .env \
1354 docker-compose-services.yaml \
1366 docker-compose-services.yaml \
1355 docker-compose-apps.yaml \
1367 docker-compose-apps.yaml \
1356 docker-compose-metrics.yaml \
1368 docker-compose-metrics.yaml \
@@ -1592,6 +1604,7 b' rccontrol_stack_router_command() {'
1592 check_bootstrap
1604 check_bootstrap
1593
1605
1594 DEBUG=${args[--debug]}
1606 DEBUG=${args[--debug]}
1607 ENV_FILE=${args[--env-file-path]}
1595
1608
1596 if [[ ! -f $RC_STACK_ROUTER_EXT ]]; then
1609 if [[ ! -f $RC_STACK_ROUTER_EXT ]]; then
1597 RC_STACK_ROUTER_EXT=""
1610 RC_STACK_ROUTER_EXT=""
@@ -1624,6 +1637,7 b' rccontrol_stack_metrics_command() {'
1624 check_bootstrap
1637 check_bootstrap
1625
1638
1626 DEBUG=${args[--debug]}
1639 DEBUG=${args[--debug]}
1640 ENV_FILE=${args[--env-file-path]}
1627
1641
1628 if [[ ! -f $RC_STACK_METRICS_EXT ]]; then
1642 if [[ ! -f $RC_STACK_METRICS_EXT ]]; then
1629 RC_STACK_METRICS_EXT_LCL=""
1643 RC_STACK_METRICS_EXT_LCL=""
@@ -1655,6 +1669,7 b' rccontrol_stack_services_command() {'
1655 check_bootstrap
1669 check_bootstrap
1656
1670
1657 DEBUG=${args[--debug]}
1671 DEBUG=${args[--debug]}
1672 ENV_FILE=${args[--env-file-path]}
1658
1673
1659 if [[ ! -f $RC_STACK_SERVICES_EXT ]]; then
1674 if [[ ! -f $RC_STACK_SERVICES_EXT ]]; then
1660 RC_STACK_SERVICES_EXT_LCL=""
1675 RC_STACK_SERVICES_EXT_LCL=""
@@ -1690,6 +1705,7 b' rccontrol_stack_rhodecode_command() {'
1690 check_bootstrap
1705 check_bootstrap
1691
1706
1692 DEBUG=${args[--debug]}
1707 DEBUG=${args[--debug]}
1708 ENV_FILE=${args[--env-file-path]}
1693
1709
1694 if [[ ! -f $RC_STACK_RHODECODE_EXT ]]; then
1710 if [[ ! -f $RC_STACK_RHODECODE_EXT ]]; then
1695 RC_STACK_RHODECODE_EXT_LCL=""
1711 RC_STACK_RHODECODE_EXT_LCL=""
@@ -1870,6 +1886,7 b' rccontrol_cli_storage_command() {'
1870 check_bootstrap
1886 check_bootstrap
1871
1887
1872 DEBUG=${args[--debug]}
1888 DEBUG=${args[--debug]}
1889 ENV_FILE=${args[--env-file-path]}
1873
1890
1874 source $ENV_FILE
1891 source $ENV_FILE
1875 target_container=$RC_IMAGE_EE
1892 target_container=$RC_IMAGE_EE
@@ -2006,6 +2023,7 b' parse_requirements() {'
2006
2023
2007 # :command.environment_variables_filter
2024 # :command.environment_variables_filter
2008 # :command.environment_variables_default
2025 # :command.environment_variables_default
2026 export RCC_CONFIG="${RCC_CONFIG:-.rccontrol.ini}"
2009 export RC_CLI_VERSION_NAME="${RC_CLI_VERSION_NAME:-4.27.0}"
2027 export RC_CLI_VERSION_NAME="${RC_CLI_VERSION_NAME:-4.27.0}"
2010 export RC_STACK_ROUTER_EXT="${RC_STACK_ROUTER_EXT:-.custom/docker-compose-router.override.yaml}"
2028 export RC_STACK_ROUTER_EXT="${RC_STACK_ROUTER_EXT:-.custom/docker-compose-router.override.yaml}"
2011 export RC_STACK_METRICS_EXT="${RC_STACK_METRICS_EXT:-.custom/docker-compose-metrics.override.yaml}"
2029 export RC_STACK_METRICS_EXT="${RC_STACK_METRICS_EXT:-.custom/docker-compose-metrics.override.yaml}"
@@ -2637,6 +2655,21 b' rccontrol_stack_parse_requirements() {'
2637 exit
2655 exit
2638 ;;
2656 ;;
2639
2657
2658 # :flag.case
2659 --env-file-path )
2660
2661 # :flag.case_arg
2662 if [[ -n ${2+x} ]]; then
2663
2664 args[--env-file-path]="$2"
2665 shift
2666 shift
2667 else
2668 printf "%s\n" "--env-file-path requires an argument: --env-file-path ENV_FILE_PATH" >&2
2669 exit 1
2670 fi
2671 ;;
2672
2640 esac
2673 esac
2641
2674
2642 # :command.command_filter
2675 # :command.command_filter
@@ -2715,6 +2748,9 b' rccontrol_stack_parse_requirements() {'
2715 esac
2748 esac
2716 done
2749 done
2717
2750
2751 # :command.default_assignments
2752 [[ -n ${args[--env-file-path]:-} ]] || args[--env-file-path]="$PWD/.custom/.runtime.env"
2753
2718 }
2754 }
2719
2755
2720 # :command.parse_requirements
2756 # :command.parse_requirements
@@ -3355,6 +3391,7 b' initialize() {'
3355 set -e
3391 set -e
3356
3392
3357 # :command.environment_variables_default
3393 # :command.environment_variables_default
3394 export RCC_CONFIG="${RCC_CONFIG:-.rccontrol.ini}"
3358 export RC_CLI_VERSION_NAME="${RC_CLI_VERSION_NAME:-4.27.0}"
3395 export RC_CLI_VERSION_NAME="${RC_CLI_VERSION_NAME:-4.27.0}"
3359 export RC_STACK_ROUTER_EXT="${RC_STACK_ROUTER_EXT:-.custom/docker-compose-router.override.yaml}"
3396 export RC_STACK_ROUTER_EXT="${RC_STACK_ROUTER_EXT:-.custom/docker-compose-router.override.yaml}"
3360 export RC_STACK_METRICS_EXT="${RC_STACK_METRICS_EXT:-.custom/docker-compose-metrics.override.yaml}"
3397 export RC_STACK_METRICS_EXT="${RC_STACK_METRICS_EXT:-.custom/docker-compose-metrics.override.yaml}"
@@ -3363,10 +3400,8 b' initialize() {'
3363
3400
3364 # src/initialize.sh
3401 # src/initialize.sh
3365
3402
3366 ENV_FILE=$PWD/.env
3367
3368 # bootstrap file is a config file at the same time
3403 # bootstrap file is a config file at the same time
3369 CONFIG_FILE='.rccontrol.ini'
3404 CONFIG_FILE=${RCC_CONFIG:=.rccontrol.ini}
3370
3405
3371 # STACK_LIST
3406 # STACK_LIST
3372 VALID_SERVICES="router metrics services rhodecode"
3407 VALID_SERVICES="router metrics services rhodecode"
@@ -13,8 +13,10 b' services:'
13 replicas: 1
13 replicas: 1
14
14
15 vcsserver:
15 vcsserver:
16
16 environment:
17 environment:
17 {}
18 {}
19
18 deploy:
20 deploy:
19 replicas: 1
21 replicas: 1
20
22
@@ -6,8 +6,9 b' services:'
6 {}
6 {}
7
7
8 loki:
8 loki:
9 labels:
9 {}
10 - "traefik.enable=false"
10 # labels:
11 # - "traefik.enable=true"
11 # - "traefik.http.services.loki.loadbalancer.server.port=3100"
12 # - "traefik.http.services.loki.loadbalancer.server.port=3100"
12 # - "traefik.http.services.loki.loadbalancer.server.port=9095"
13 # - "traefik.http.services.loki.loadbalancer.server.port=9095"
13
14
@@ -4,11 +4,16 b" version: '3.9'"
4 services:
4 services:
5
5
6 traefik:
6 traefik:
7
7 # ports:
8 # # The Web UI (enabled by --api.insecure=true)
9 # # uncomment to expose dashboard at port :7000,
10 # # this is mostly for debugging routes and services
11 # - "7000:7000"
8 volumes:
12 volumes:
9 # So that Traefik can listen to the Docker events
13 # So that Traefik can listen to the Docker events
10 - /var/run/docker.sock:/var/run/docker.sock
14 - /var/run/docker.sock:/var/run/docker.sock
11 # custom traefik config, enable SSL etc..
15 # custom traefik config, enable SSL etc..
16 # put your traefik setup in this directory
12 - $PWD/.custom/traefik_custom:/etc/traefik
17 - $PWD/.custom/traefik_custom:/etc/traefik
13
18
14 portainer:
19 portainer:
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now