medusa-js-2-docker/entrypoint.sh
2025-04-09 23:01:58 +10:00

41 lines
1.2 KiB
Bash

#!/bin/sh
set -e
# Update apk repository and install git
apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
PROJECT_DIR="/app/my-medusa-app"
# Check if the Medusa project has already been created.
if [ ! -d "$PROJECT_DIR" ]; then
echo "Medusa project not found. Running installation..."
# Run the Medusa CLI generator silently with the desired options:
# --db-url: Uses the provided DATABASE_URL to connect and run migrations.
# --no-browser: Skip opening the admin dashboard.
# --directory-path: Specify where to install the project.
# --with-nextjs-starter: Option to install the Next.js storefront.
npx create-medusa-app@latest my-medusa-app \
--db-url "$DATABASE_URL" \
--no-browser \
--directory-path "/app/" \
--with-nextjs-starter
# Change into the project folder, install dependencies and build the app.
cd "$PROJECT_DIR"
npm install
npm run build
else
echo "Medusa project already exists. Skipping installation."
fi
# Change directory to the Medusa project folder.
cd "$PROJECT_DIR"
# List the contents of the project directory to verify installation.
ls -la
# Finally, start the Medusa server in development/production mode.
echo "Starting Medusa server..."
exec npm start