diff --git a/dev.sh b/dev.sh new file mode 100755 index 0000000..e508298 --- /dev/null +++ b/dev.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# --- Configuration --- +IMAGE_NAME="workit" +TAG="latest" +DEV_BUILD_DIR="public_dev" + +# --- Script Start --- +echo "--- Preparing development build directory ---" +# Clean up previous development build directory if it exists +rm -rf ${DEV_BUILD_DIR} +# Create a temporary build directory for development +cp -r public ${DEV_BUILD_DIR} + +# Step 1: Run the Node.js script to inline audio files. +echo "" +echo "--- Inlining audio files ---" +node scripts/inline-audio.js + +# Check if the node script was successful. +if [ $? -ne 0 ]; then + echo "!!! Audio inlining failed. Aborting development build." + rm -rf ${DEV_BUILD_DIR} # Clean up + exit 1 +fi + +echo "" +echo "--- Starting Docker image build for development ---" + +# Step 2: Build the image for current architecture (not hardcoded to amd64) +# This will automatically detect the current platform for local development +docker build -t ${IMAGE_NAME}:${TAG} . + +# Check if the build command was successful. +if [ $? -ne 0 ]; then + echo "!!! Docker build failed. Aborting script." + rm -rf ${DEV_BUILD_DIR} # Clean up + exit 1 +fi + +# Step 3: Clean up the temporary development build directory +echo "" +echo "--- Cleaning up development build directory ---" +rm -rf ${DEV_BUILD_DIR} + +echo "" +echo "✅ Development build complete!" +echo "To run the container:" +echo " docker run -p 8080:80 ${IMAGE_NAME}:${TAG}" +echo "" +echo "Or with docker-compose:" +echo " docker-compose up" \ No newline at end of file