orchid-ncd / backend /scripts /docker-start.sh
marcellorusso's picture
Sync from GitHub: 4250a76
909026e verified
#!/bin/bash
# Avvia il container con GPU per training e sviluppo.
# Usage: ./backend/scripts/docker-start.sh
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT_DIR="$(dirname "$(dirname "$SCRIPT_DIR")")"
CONTAINER_NAME="pytorch_app"
IMAGE_NAME="orchid-ncd-app"
docker stop "$CONTAINER_NAME" 2>/dev/null
docker rm "$CONTAINER_NAME" 2>/dev/null
echo "Build frontend..."
cd "$ROOT_DIR/frontend" && npm run build && cd "$ROOT_DIR"
echo "Build image (GPU target)..."
docker build --target gpu -t "$IMAGE_NAME" -f "$ROOT_DIR/Dockerfile" "$ROOT_DIR"
echo "Avvio con GPU..."
docker run -d \
--name "$CONTAINER_NAME" \
--device nvidia.com/gpu=all \
-e TZ=Europe/Rome \
--shm-size 16g \
-v "$ROOT_DIR/backend/dataset:/workspace/backend/dataset" \
-v "$ROOT_DIR/backend/models:/workspace/backend/models" \
-v "$ROOT_DIR/backend/experiments:/workspace/backend/experiments" \
-v "$ROOT_DIR/backend/app:/workspace/backend/app" \
-v "$ROOT_DIR/backend/cli.py:/workspace/backend/cli.py" \
-v "$ROOT_DIR/backend/server.py:/workspace/backend/server.py" \
-v "$ROOT_DIR/backend/tests:/workspace/backend/tests" \
-v "$ROOT_DIR/backend/scripts:/workspace/backend/scripts" \
-v "$ROOT_DIR/.env:/workspace/backend/.env" \
-v "$ROOT_DIR/frontend/dist:/workspace/backend/frontend/dist" \
-p 5000:7860 \
"$IMAGE_NAME" \
sleep infinity
echo "Container avviato. Comandi utili:"
echo " docker exec pytorch_app python cli.py --status"
echo " docker exec pytorch_app python cli.py --cross-validate --exp 6 --model resnet18 --epochs 100 --patience 15 --accumulation 4"