Initial commit
This commit is contained in:
84
docker/docker-entrypoint.sh
Normal file
84
docker/docker-entrypoint.sh
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
echo "========================================"
|
||||
echo "VitePress Container"
|
||||
echo "========================================"
|
||||
|
||||
# Set default values
|
||||
export DOCS_PATH=${DOCS_PATH:-/app/docs}
|
||||
export VITEPRESS_PORT=${VITEPRESS_PORT:-3000}
|
||||
export API_PORT=${API_PORT:-3001}
|
||||
|
||||
echo "Configuration:"
|
||||
echo " DOCS_PATH: $DOCS_PATH"
|
||||
echo " VITEPRESS_PORT: $VITEPRESS_PORT"
|
||||
echo " API_PORT: $API_PORT"
|
||||
echo "========================================"
|
||||
|
||||
# Check if docs directory exists
|
||||
if [ ! -d "$DOCS_PATH" ]; then
|
||||
echo "Creating docs directory: $DOCS_PATH"
|
||||
mkdir -p "$DOCS_PATH"
|
||||
fi
|
||||
|
||||
# Check if package.json exists
|
||||
if [ ! -f "/app/package.json" ]; then
|
||||
echo "Error: /app/package.json not found!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install API dependencies if needed
|
||||
if [ ! -f "/app/api/node_modules/.package-lock.json" ]; then
|
||||
echo "Installing API dependencies..."
|
||||
cd /app/api && npm install
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo "Starting VitePress Documentation Server..."
|
||||
echo "========================================"
|
||||
|
||||
# Start VitePress dev server in background (运行在 docs 目录下)
|
||||
echo "[1/2] Starting VitePress dev server on port $VITEPRESS_PORT..."
|
||||
cd /app
|
||||
export NODE_ENV=development
|
||||
nohup npm run docs:dev -- --port $VITEPRESS_PORT --host > /var/log/vitepress.log 2>&1 &
|
||||
VITEPRESS_PID=$!
|
||||
echo "VitePress started with PID: $VITEPRESS_PID"
|
||||
# export NODE_ENV=development
|
||||
# npm run docs:dev -- --port $VITEPRESS_PORT --host
|
||||
|
||||
|
||||
# Wait for VitePress to start
|
||||
echo "Waiting for VitePress to start..."
|
||||
sleep 10
|
||||
|
||||
# Check if VitePress is running
|
||||
if ! kill -0 $VITEPRESS_PID 2>/dev/null; then
|
||||
echo "Warning: VitePress server may not have started properly"
|
||||
echo "Check logs: cat /var/log/vitepress.log"
|
||||
fi
|
||||
|
||||
echo "[2/2] Starting API server on port $API_PORT..."
|
||||
echo ""
|
||||
|
||||
echo "========================================"
|
||||
echo "All services started successfully!"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
echo "Services:"
|
||||
echo " - VitePress Documentation: http://localhost:$VITEPRESS_PORT"
|
||||
echo " - API Server: http://localhost:$API_PORT"
|
||||
echo ""
|
||||
echo "API Endpoints:"
|
||||
echo " GET /health - Health check"
|
||||
echo " GET /export-pdf - Export PDF"
|
||||
echo "Logs:"
|
||||
echo " VitePress: cat /var/log/vitepress.log"
|
||||
echo " API Server: docker logs vitepress-docker"
|
||||
echo ""
|
||||
echo "========================================"
|
||||
|
||||
# Execute the API server with absolute path
|
||||
exec node /app/api/server.js
|
||||
Reference in New Issue
Block a user