diff --git a/script/docker_rebuild b/script/docker_rebuild new file mode 100755 index 00000000..876c85a8 --- /dev/null +++ b/script/docker_rebuild @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Full rebuild — builds a new image from source and restarts. +# Use after code changes that rebuild_and_restart can't handle +# (e.g. binary rename, Dockerfile changes, new system deps). +# +# Pass --no-cache for a clean rebuild (slower but guaranteed fresh). + +cd "$(dirname "$0")/.." + +if [[ -f .env ]]; then + set -a + source .env + set +a +fi + +CACHE_FLAG="" +if [[ "${1:-}" == "--no-cache" ]]; then + CACHE_FLAG="--no-cache" +fi + +docker compose -f docker/docker-compose.yml down +docker compose -f docker/docker-compose.yml build $CACHE_FLAG +docker compose -f docker/docker-compose.yml up -d + +echo "Rebuild complete. Logs: docker compose -f docker/docker-compose.yml logs -f" diff --git a/script/docker_restart b/script/docker_restart new file mode 100755 index 00000000..6cfaabb2 --- /dev/null +++ b/script/docker_restart @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Quick restart — same image, same volumes. +# Use when the container is stuck or after config changes. + +cd "$(dirname "$0")/.." + +if [[ -f .env ]]; then + set -a + source .env + set +a +fi + +docker compose -f docker/docker-compose.yml restart