mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-06 03:20:13 +08:00
67 lines
1.8 KiB
Bash
Executable File
67 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
inspect() {
|
|
# default to app, allow overriding by $1
|
|
SERVICE=${1:-backend}
|
|
echo "Running docker-compose logs for service [$SERVICE]..."
|
|
docker compose logs $SERVICE -f --no-log-prefix
|
|
}
|
|
|
|
list() {
|
|
docker ps -a | grep 'quest-' | awk '{print $1}'
|
|
}
|
|
|
|
clean() {
|
|
containers=$(list)
|
|
echo $containers
|
|
|
|
docker rm -f $containers
|
|
}
|
|
|
|
test() {
|
|
if [ "$1" = "--build" ]; then
|
|
docker compose -f docker-compose.testing.yml build
|
|
fi
|
|
docker compose -f docker-compose.testing.yml run --rm cypress
|
|
}
|
|
|
|
down() {
|
|
docker compose -f docker-compose.testing.yml down
|
|
}
|
|
|
|
dump() {
|
|
# Define service name and dump directory name
|
|
SERVICE_NAME="db"
|
|
COMPOSE_FILE="docker-compose.prod.yml"
|
|
DUMP_NAME="mongodump-$(date --iso).archive"
|
|
CONTAINER_ID=$(docker compose -f $COMPOSE_FILE ps -q $SERVICE_NAME)
|
|
|
|
# Fetch credentials from Docker environment variables
|
|
MONGO_URL=$(docker compose -f $COMPOSE_FILE exec -T backend printenv MONGO_URL)
|
|
echo mongo uri: $MONGO_URL
|
|
|
|
# Dump MongoDB data using credentials
|
|
docker compose -f $COMPOSE_FILE exec -T $SERVICE_NAME sh -c "mongodump --gzip --archive=/tmp/$DUMP_NAME --uri=$MONGO_URL" &&
|
|
|
|
# Copy the dump from the container to the host
|
|
# Note: You will need to know the exact container name for this step
|
|
docker cp ${CONTAINER_ID}:/tmp/$DUMP_NAME . &&
|
|
|
|
echo "MongoDB data dumped successfully."
|
|
}
|
|
|
|
restore() {
|
|
# Define service name and dump directory name
|
|
SERVICE_NAME="db"
|
|
DUMP_NAME=$1
|
|
CONTAINER_ID=$(docker compose ps -q $SERVICE_NAME)
|
|
|
|
# Copy the dump from the host to the container
|
|
docker cp $DUMP_NAME ${CONTAINER_ID}:/tmp &&
|
|
|
|
# Dump MongoDB data using credentials
|
|
docker compose exec -T $SERVICE_NAME sh -c "mongorestore --gzip --archive=/tmp/$DUMP_NAME" &&
|
|
|
|
echo "MongoDB data dumped successfully."
|
|
}
|
|
$@ |