# v1 VM Deployment (LeafWeb Layout) This branch configures PISCAL for deployment on a VM matching the layout used by `piscal.eastus.cloudapp.azure.com`, so the LeafWeb client can access jobs and storage at the expected paths. ## Directory Layout ``` /home/piscaladmin/ ├── LeafWeb/ # Scripts + project directories │ ├── piscal_launcher.cfg # Config (piscal_executable, storage paths) │ ├── piscal_launcher.sh │ ├── piscal_manager.sh │ ├── subdir_year.sh │ ├── README.txt │ ├── 280_CinnamomumbodinieriLévl/ # Project dirs (input/, output/, run/, etc.) │ ├── 311_AnnaAsaday3high/ │ └── ... ├── LeafWeb_storage/ # Shared storage for client │ ├── input/ │ └── output/ ├── piscal/ # Source (optional) └── piscal_executable/ # Compiled binary └── piscal ``` ## Deployment **Docker (recommended):** The Docker image uses this layout by default. See [README-Docker.md](README-Docker.md). **Manual VM deployment:** Copy scripts to LeafWeb and the compiled `piscal` binary to `piscal_executable/`: ```bash ssh piscaladmin@host 'mkdir -p ~/LeafWeb ~/piscal_executable ~/LeafWeb_storage/input ~/LeafWeb_storage/output' scp piscal-manager/*.cfg piscal-manager/*.sh piscal-manager/README.txt piscaladmin@host:~/LeafWeb/ scp leafres/testrun/piscal piscaladmin@host:~/piscal_executable/ ssh piscaladmin@host 'chmod +x ~/LeafWeb/*.sh' ``` ## Configuration `piscal_launcher.cfg` uses VM paths: - `piscal_executable="/home/piscaladmin/piscal_executable/piscal"` - `storage_directory="/home/piscaladmin/LeafWeb_storage"` Adjust if your VM uses different locations. ## Running Jobs From `~/LeafWeb`: ```bash cd ~/LeafWeb ./piscal_manager.sh -d 280_CinnamomumbodinieriLévl -s -p C3_photosynthesis_leafweb ./piscal_manager.sh -d 280_CinnamomumbodinieriLévl # status ./piscal_manager.sh -d 280_CinnamomumbodinieriLévl -c # cleanup ``` The `-d` argument is the project directory name (a subdir of LeafWeb).