#!/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