@@ -37,6 +37,7 @@ stack_status() {
37
37
38
38
display_rabbitmq_info
39
39
echo
40
+
40
41
display_db_info
41
42
}
42
43
@@ -191,8 +192,8 @@ check_compose_version() {
191
192
echo " Docker Compose v1 detected."
192
193
fi
193
194
194
- local required_docker_version=" 25.0.5 "
195
- local required_compose_version=" 2.29.0 "
195
+ local required_docker_version=" 27.3.1 "
196
+ local required_compose_version=" 2.30.3 "
196
197
197
198
# Get Docker version
198
199
local docker_version=$( docker --version | awk -F' [ ,]' ' {print $3}' )
@@ -220,7 +221,34 @@ display_db_info () {
220
221
$DOCKER_COMPOSE_CMD exec db sh -c ' env |grep MYSQL_ & mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "SHOW DATABASES;SHOW PROCESSLIST;"'
221
222
echo
222
223
}
223
-
224
+ # Function to enable or disable maintenance mode
225
+ maintenance_mode () {
226
+ if [ " $1 " == " on" ]; then
227
+ echo " Enabling maintenance mode..."
228
+ $DOCKER_COMPOSE_CMD exec phraseanet sh -c ' envsubst < "/usr/local/etc/maintenance.html" > /var/alchemy/Phraseanet/datas/nginx/maintenance.html'
229
+ echo " Maintenance mode is now enabled. it will be disabling after the next restart of stack."
230
+ echo " if you want persist maintenance mode, you must set the environment variable PHRASEANET_MAINTENANCE_MODE=1 in your .env file."
231
+ elif [ " $1 " == " off" ]; then
232
+ echo " Disabling maintenance mode..."
233
+ $DOCKER_COMPOSE_CMD exec phraseanet sh -c ' rm -rf /var/alchemy/Phraseanet/datas/nginx/maintenance.html'
234
+ echo " Maintenance mode is now disabled."
235
+ else
236
+ echo " Usage: $0 maintenance {on|off}"
237
+ exit 1
238
+ fi
239
+ }
240
+ # Function to apply setup
241
+ apply_setup () {
242
+ echo " Applying setup..."
243
+ local env_files=($( get_env_files) )
244
+ $DOCKER_COMPOSE_CMD " ${env_files[@]/#/ --env-file=} " run --rm setup
245
+ if [ $? -eq 0 ]; then
246
+ echo " Setup applied successfully."
247
+ else
248
+ echo " Failed to apply setup."
249
+ exit 1
250
+ fi
251
+ }
224
252
# Check the argument passed to the script
225
253
case " $1 " in
226
254
start)
@@ -238,8 +266,19 @@ case "$1" in
238
266
logs)
239
267
display_logs " $2 "
240
268
;;
269
+ maintenance)
270
+ if [ -n " $2 " ]; then
271
+ maintenance_mode " $2 "
272
+ else
273
+ echo " Usage: $0 maintenance {on|off}"
274
+ exit 1
275
+ fi
276
+ ;;
277
+ apply)
278
+ apply_setup
279
+ ;;
241
280
* )
242
- echo " Usage: $0 {start|stop|status|version|logs [container_name]}"
281
+ echo " Usage: $0 {start|stop|status|version|maintenance [on|off]| logs [container_name]}"
243
282
exit 1
244
283
esac
245
284
0 commit comments