@@ -541,7 +541,7 @@ services:
541
541
- traefik.http.routers.${SWARM_STACK_NAME}_modern_services_catchall.priority=3
542
542
- traefik.http.routers.${SWARM_STACK_NAME}_modern_services_catchall.entrypoints=http
543
543
# in theory the pattern should be uuid.services.OSPARC_DOMAIN, but anything could go through.. so let's catch everything
544
- - traefik.http.routers.${SWARM_STACK_NAME}_modern_services_catchall.rule=HostRegexp(`{ node_uuid: (?i)[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}} .services.{ host:.+} `)
544
+ - traefik.http.routers.${SWARM_STACK_NAME}_modern_services_catchall.rule=HostRegexp(`(?P< node_uuid> (?i)[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})\\ .services\\.(?P< host>.+) `)
545
545
# this tricks traefik into a 502 (bad gateway) since the service does not exist on this port
546
546
- traefik.http.services.${SWARM_STACK_NAME}_modern_services_catchall.loadbalancer.server.port=0
547
547
# this tricks traefik into returning a 503 (service unavailable) since the healthcheck will always return false
@@ -606,7 +606,6 @@ services:
606
606
DIRECTOR_V2_HOST : ${DIRECTOR_V2_HOST}
607
607
DIRECTOR_V2_PORT : ${DIRECTOR_V2_PORT}
608
608
609
-
610
609
# WEBSERVER_EMAIL
611
610
WEBSERVER_EMAIL : ${WEBSERVER_EMAIL}
612
611
SMTP_HOST : ${SMTP_HOST}
@@ -1092,15 +1091,7 @@ services:
1092
1091
- default
1093
1092
- interactive_services_subnet
1094
1093
healthcheck :
1095
- test :
1096
- [
1097
- " CMD" ,
1098
- " pg_isready" ,
1099
- " --username" ,
1100
- " ${POSTGRES_USER}" ,
1101
- " --dbname" ,
1102
- " ${POSTGRES_DB}"
1103
- ]
1094
+ test : [ "CMD", "pg_isready", "--username", "${POSTGRES_USER}", "--dbname", "${POSTGRES_DB}" ]
1104
1095
interval : 5s
1105
1096
retries : 5
1106
1097
# NOTES: this is not yet compatible with portainer deployment but could work also for other containers
@@ -1113,20 +1104,7 @@ services:
1113
1104
# - net.ipv4.tcp_keepalive_intvl=600
1114
1105
# - net.ipv4.tcp_keepalive_probes=9
1115
1106
# - net.ipv4.tcp_keepalive_time=600
1116
- command :
1117
- [
1118
- " postgres" ,
1119
- " -c" ,
1120
- " tcp_keepalives_idle=600" ,
1121
- " -c" ,
1122
- " tcp_keepalives_interval=600" ,
1123
- " -c" ,
1124
- " tcp_keepalives_count=5" ,
1125
- " -c" ,
1126
- " max_connections=413" ,
1127
- " -c" ,
1128
- " shared_buffers=256MB"
1129
- ]
1107
+ command : [ "postgres", "-c", "tcp_keepalives_idle=600", "-c", "tcp_keepalives_interval=600", "-c", "tcp_keepalives_count=5", "-c", "max_connections=413", "-c", "shared_buffers=256MB" ]
1130
1108
1131
1109
redis :
1132
1110
image : " redis:6.2.6@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d"
@@ -1137,19 +1115,7 @@ services:
1137
1115
# also aof (append only) is also enabled such that we get full durability at the expense
1138
1116
# of backup size. The backup is written into /data.
1139
1117
# https://redis.io/topics/persistence
1140
- [
1141
- " redis-server" ,
1142
- " --save" ,
1143
- " 60 1" ,
1144
- " --loglevel" ,
1145
- " verbose" ,
1146
- " --databases" ,
1147
- " 8" ,
1148
- " --appendonly" ,
1149
- " yes" ,
1150
- " --requirepass" ,
1151
- " ${REDIS_PASSWORD}"
1152
- ]
1118
+ [ "redis-server", "--save", "60 1", "--loglevel", "verbose", "--databases", "8", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD}" ]
1153
1119
networks :
1154
1120
- default
1155
1121
- autoscaling_subnet
@@ -1221,7 +1187,6 @@ services:
1221
1187
- default
1222
1188
- interactive_services_subnet # for legacy dynamic services
1223
1189
1224
-
1225
1190
volumes :
1226
1191
postgres_data :
1227
1192
name : ${SWARM_STACK_NAME}_postgres_data
0 commit comments