project_root := justfile_directory() proxy_bake := project_root + "/Proxy/docker-bake.hcl" local_compose := project_root + "/Docker/docker-compose.local.prod.yaml" proxy_image := "moku/work-proxy:local-prod" # Build the local production proxy image locally. build: cd '{{project_root}}' && docker buildx bake -f '{{proxy_bake}}' prod # Start the local production stack in the background using the current image. up: docker compose -f '{{local_compose}}' up -d --remove-orphans --force-recreate # Build first, then start the local production stack in the background. start: build up # Rebuild the local production proxy image locally. rebuild: cd '{{project_root}}' && docker buildx bake -f '{{proxy_bake}}' --set '*.no-cache=true' prod docker compose -f '{{local_compose}}' up -d --remove-orphans --force-recreate # Stop and remove the local production stack. down: docker compose -f '{{local_compose}}' down --remove-orphans --volumes # Follow logs for the local production stack. logs: docker compose -f '{{local_compose}}' logs -f # Restart the local production stack. restart: docker compose -f '{{local_compose}}' restart # Stop the local production stack and remove local images. clean: docker compose -f '{{local_compose}}' down --remove-orphans --volumes docker image rm -f '{{proxy_image}}' >/dev/null 2>&1 || true