frappe_docker/stack.sh
Digikwal acea6f0edf
fix: make script POSIX-compliant for broader shell compatibility
Refactored to use strictly POSIX-compliant syntax.

- Replaced array assignment `ARGS=("$@")` with `ARGS="$*"` for ash compatibility (e.g. Alpine)
- Removed array-specific expansions like `${ARGS[@]}`
- Preserved full functionality for Docker Compose execution
- Ensured the script passes linting tools like shfmt and shellcheck

This ensures the script runs reliably in both Alpine (ash) and Ubuntu (bash) environments.
2025-06-24 19:04:28 +02:00

42 lines
1 KiB
Bash
Executable file

#!/bin/sh
# Usage: ./stack.sh up -d or ./stack.sh down --remove-orphans
set -e
ACTION="$1"
shift
ARGS="$*"
if [ "$ACTION" != "up" ] && [ "$ACTION" != "down" ]; then
echo "Usage: $0 up|down [extra docker compose flags]"
exit 1
fi
cd /home/frappe/frappe_docker || {
echo "Cannot find directory /home/frappe/frappe_docker"
exit 1
}
# Uncomment this block when using traefik container by frappe
# echo "==> Traefik $ACTION $ARGS"
# docker compose \
# --project-name traefik \
# --env-file /home/frappe/gitops/traefik.env \
# -f overrides/compose.traefik.yaml \
# -f overrides/compose.traefik-ssl.yaml \
# $ACTION $ARGS
# Uncomment this block when using mariadb container by frappe
echo "==> MariaDB $ACTION $ARGS"
docker compose \
--project-name mariadb \
--env-file /home/frappe/gitops/mariadb.env \
-f overrides/compose.mariadb-shared.yaml \
$ACTION $ARGS
echo "==> ERPNext $ACTION $ARGS"
docker compose \
--project-name erpnext-one \
-f /home/frappe/gitops/erpnext-one.yaml \
$ACTION $ARGS