Skip to content

Commit 5160286

Browse files
committed
fixed bug: docker startup warns about orphan containers in dev setup
Signed-off-by: RAWx18 <rawx18.dev@gmail.com>
1 parent 3fdadde commit 5160286

File tree

2 files changed

+59
-12
lines changed

2 files changed

+59
-12
lines changed

frontend/.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ ipython_config.py
104104
# having no cross-platform support, pipenv may install dependencies that don't work, or not
105105
# install all needed dependencies.
106106
#Pipfile.lock
107-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
108107
__pypackages__/
109108
# Celery stuff
110109
celerybeat-schedule

scripts/cli

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,49 @@ function restore_db_backup() {
149149
say "All done!"
150150
}
151151

152+
function clean_orphans_silent() {
153+
# Clean orphans from scaffold silently
154+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml down --remove-orphans >/dev/null 2>&1 || true
155+
156+
# Clean orphans from premium scaffold if it exists
157+
if [ -f "$CLI_HOME/premium-scaffold.yaml" ]; then
158+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml down --remove-orphans >/dev/null 2>&1 || true
159+
fi
160+
161+
# Clean orphans from all service files
162+
for SERVICE in $CONTAINERS
163+
do
164+
$_DC --compatibility -p $PROJECT_NAME -f "$CLI_HOME/services/${SERVICE}.yaml" down --remove-orphans >/dev/null 2>&1 || true
165+
done
166+
167+
# Clean orphans from test environment
168+
$_DC -p "$PROJECT_NAME-test" -f $CLI_HOME/../backend/docker-compose.test.yaml down --remove-orphans >/dev/null 2>&1 || true
169+
}
170+
171+
function clean_orphans() {
172+
say "Cleaning up orphan containers..."
173+
174+
# Clean orphans from scaffold
175+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml down --remove-orphans
176+
177+
# Clean orphans from premium scaffold if it exists
178+
if [ -f "$CLI_HOME/premium-scaffold.yaml" ]; then
179+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml down --remove-orphans
180+
fi
181+
182+
# Clean orphans from all service files
183+
for SERVICE in $CONTAINERS
184+
do
185+
say "Cleaning orphans for service $SERVICE..."
186+
$_DC --compatibility -p $PROJECT_NAME -f "$CLI_HOME/services/${SERVICE}.yaml" down --remove-orphans
187+
done
188+
189+
# Clean orphans from test environment
190+
$_DC -p "$PROJECT_NAME-test" -f $CLI_HOME/../backend/docker-compose.test.yaml down --remove-orphans 2>/dev/null || true
191+
192+
yell "Orphan cleanup completed!"
193+
}
194+
152195
function scaffold() {
153196
HELP="${RESET}\nUsage:\n ./cli scaffold [ up | down | destroy | reset ]\n"
154197

@@ -254,9 +297,10 @@ function start_service() {
254297
export GROUP_ID=$(id -g)
255298

256299
if [[ ${DEV} ]]; then
257-
$_DC --compatibility -p $PROJECT_NAME -f "$CLI_HOME/services/${1}.yaml" up --build -d ${1}-dev
300+
# Suppress orphan warnings by redirecting stderr, but keep the containers running
301+
$_DC --compatibility -p $PROJECT_NAME -f "$CLI_HOME/services/${1}.yaml" up --build -d ${1}-dev 2> >(grep -v "Found orphan containers" >&2)
258302
else
259-
$_DC --compatibility -p $PROJECT_NAME -f "$CLI_HOME/services/${1}.yaml" up --build -d ${1}
303+
$_DC --compatibility -p $PROJECT_NAME -f "$CLI_HOME/services/${1}.yaml" up --build -d ${1} 2> >(grep -v "Found orphan containers" >&2)
260304
fi
261305
}
262306

@@ -323,8 +367,8 @@ function migrate_local() {
323367

324368
function up_test_scaffold() {
325369
scaffold_set_up_network "${PROJECT_NAME}-bridge-test" $DOCKET_TEST_NETWORK_SUBNET $DOCKER_TEST_NETWORK_GATEWAY
326-
$_DC -p "$PROJECT_NAME-test" -f $CLI_HOME/../backend/docker-compose.test.yaml down
327-
$_DC -p "$PROJECT_NAME-test" -f $CLI_HOME/../backend/docker-compose.test.yaml up -d
370+
$_DC -p "$PROJECT_NAME-test" -f $CLI_HOME/../backend/docker-compose.test.yaml down --remove-orphans
371+
$_DC -p "$PROJECT_NAME-test" -f $CLI_HOME/../backend/docker-compose.test.yaml up -d --remove-orphans
328372
migrate_test
329373
}
330374

@@ -351,7 +395,7 @@ function source_edition() {
351395
function check_init_premium() {
352396
source_edition
353397
if [ $__EDITION == "gitmesh-ee" ]; then
354-
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml up -d --build
398+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml up -d --build --remove-orphans
355399
init_unleash
356400
fi
357401
}
@@ -367,7 +411,7 @@ function init_unleash() {
367411

368412
function up_scaffold() {
369413
scaffold_set_up_network "$PROJECT_NAME-bridge" $DOCKER_NETWORK_SUBNET $DOCKER_NETWORK_GATEWAY
370-
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml up -d --build
414+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml up -d --build --remove-orphans
371415
}
372416

373417
function post_up_scaffold() {
@@ -377,9 +421,9 @@ function post_up_scaffold() {
377421
}
378422

379423
function down_scaffold() {
380-
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml down
424+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml down --remove-orphans
381425
if [ -f "$CLI_HOME/premium-scaffold.yaml" ]; then
382-
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml down
426+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml down --remove-orphans
383427
fi
384428
}
385429

@@ -419,9 +463,9 @@ function kill_all_containers() {
419463

420464
function scaffold_destroy_confirmed() {
421465
kill_all_containers
422-
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml down
466+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/scaffold.yaml down --remove-orphans
423467
if [ -f "$CLI_HOME/premium-scaffold.yaml" ]; then
424-
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml down
468+
$_DC --compatibility -p $PROJECT_NAME -f $CLI_HOME/premium-scaffold.yaml down --remove-orphans
425469
fi
426470

427471
# needed because if there are no volumes this might cause the script to exit
@@ -482,12 +526,16 @@ function start() {
482526
done
483527
}
484528

485-
SCRIPT_USAGE="${YELLOW}${PROJECT_NAME} CLI ${RESET}\n\nExample usage: ./cli [ prod, dev, clean-dev, prod-ee, dev-ee, clean-dev-ee, prod-backend, dev-backend, clean-dev-backend, scaffold =>, service =>, build =>, build-and-push ]"
529+
SCRIPT_USAGE="${YELLOW}${PROJECT_NAME} CLI ${RESET}\n\nExample usage: ./cli [ prod, dev, clean-dev, prod-ee, dev-ee, clean-dev-ee, prod-backend, dev-backend, clean-dev-backend, clean-orphans, scaffold =>, service =>, build =>, build-and-push ]"
486530

487531
[[ -z "$1" ]] && say "$SCRIPT_USAGE" && exit 1
488532
while test $# -gt 0
489533
do
490534
case "$1" in
535+
clean-orphans)
536+
clean_orphans
537+
exit;
538+
;;
491539
scaffold) scaffold $2 $3 $4 $5
492540
echo -e "\nScript ran successfully. Check the website on http://localhost:8081";
493541
exit;

0 commit comments

Comments
 (0)