# Ubuntu deployment The repository is private. Authenticate on the server using `gh auth login` (GitHub.com, HTTPS, web browser), then run: ```sh gh repo clone tpstn23-afk/SPipe cd SPipe COMPOSE_PARALLEL_LIMIT=1 docker compose build docker compose up -d curl --fail http://127.0.0.1/api/health ``` Docker Engine and Compose must already be installed. Check free disk space before building; the target server originally had about 4 GB free. Set `SPIPE_PORT=8080` when port 80 is already occupied. The API builds the official EPANET v2.3.5 Linux library and runs a Net1 analysis while building. Source: https://github.com/OpenWaterAnalytics/EPANET/releases/tag/v2.3.5 Only the web/API dependencies are installed; blocksys is a separate CLI. The web and API share one origin through nginx. Only the web port is published. The configuration serves HTTP; domain/TLS setup is a separate server step. Map service allowed domains may need to include the deployed address. Validation: local Windows regression suite; Docker build and live server checks still required (Docker is unavailable on the development PC).