Skip to content

Commit 640352b

Browse files
authored
Merge pull request #17 from RoopsyDaisy/webgui-readme
README: pull-based, per-OS WebGUI + CLI instructions for foresters
2 parents 2e3c475 + 6d5542c commit 640352b

1 file changed

Lines changed: 60 additions & 8 deletions

File tree

README.md

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,26 +48,78 @@ or a reproducible build, that's the gap this repo fills.
4848
4949
## The WebGUI (foresters)
5050
51-
A familiar point-and-click FVSOnline interface, with no local R, FVS, or Fortran
52-
install required.
51+
A familiar point-and-click FVSOnline interface in your browser — **no local R,
52+
FVS, or Fortran install**. You only need a container runtime; the prebuilt image
53+
is *pulled* from GitHub Container Registry, not built.
54+
55+
**Requirements (any OS):** a container runtime (Docker Desktop, OrbStack, or
56+
Podman) + a few GB of free disk for the image. The commands use `docker`; if you
57+
installed Podman, just replace `docker` with `podman`. The container works in
58+
`/work`, so mount a host folder there to keep your projects/outputs.
59+
60+
### macOS
61+
1. Install **[Docker Desktop](https://www.docker.com/products/docker-desktop/)** or
62+
**[OrbStack](https://orbstack.dev)**, and open it (the runtime must be running).
63+
2. In **Terminal**:
64+
```bash
65+
docker pull ghcr.io/roopsydaisy/fvs-containers-webgui:ie
66+
mkdir -p ~/fvs-projects
67+
docker run --rm -p 3838:3838 -v "$HOME/fvs-projects:/work" ghcr.io/roopsydaisy/fvs-containers-webgui:ie
68+
```
69+
3. Open **<http://localhost:3838>**. Stop it with **Ctrl-C** in Terminal.
70+
71+
### Windows
72+
1. Install **[Docker Desktop](https://www.docker.com/products/docker-desktop/)**
73+
(accept the WSL 2 backend) and open it.
74+
2. In **PowerShell**:
75+
```powershell
76+
docker pull ghcr.io/roopsydaisy/fvs-containers-webgui:ie
77+
mkdir $HOME\fvs-projects -Force
78+
docker run --rm -p 3838:3838 -v "${HOME}\fvs-projects:/work" ghcr.io/roopsydaisy/fvs-containers-webgui:ie
79+
```
80+
3. Open **<http://localhost:3838>**. Stop it with **Ctrl-C**.
81+
82+
### Linux
83+
1. Install **[Docker](https://docs.docker.com/engine/install/)** or Podman
84+
(`sudo apt install podman` / `sudo dnf install podman`).
85+
2. ```bash
86+
docker pull ghcr.io/roopsydaisy/fvs-containers-webgui:ie
87+
mkdir -p ~/fvs-projects
88+
docker run --rm -p 3838:3838 -v "$HOME/fvs-projects:/work" ghcr.io/roopsydaisy/fvs-containers-webgui:ie
89+
```
90+
On **SELinux** systems (Fedora/RHEL) add `:z` to the mount: `-v "$HOME/fvs-projects:/work:z"`.
91+
3. Open **<http://localhost:3838>**.
92+
93+
> **Notes.** The first `pull` downloads a few GB and can take a few minutes; later
94+
> runs are instant. If port 3838 is busy, map another: `-p 8080:3838`, then open
95+
> `http://localhost:8080`. If `docker pull` fails with `unauthorized`/`denied`,
96+
> the GHCR package isn't public yet — make `fvs-containers-webgui` public in the
97+
> repo's **Packages** settings, or `docker login ghcr.io` with a GitHub token
98+
> (`read:packages` scope).
99+
100+
<details><summary><b>Build it yourself (maintainers)</b></summary>
101+
102+
To build the image from source instead of pulling (e.g. for a new FVS variant):
53103
54104
```bash
55105
podman build -f docker/Dockerfile --target webgui -t fvs-webgui:ie --build-arg FVS_VARIANT=ie .
56106
podman run --rm -p 3838:3838 -v "$PWD/myproject:/work" fvs-webgui:ie
57-
# then open http://localhost:3838
58107
```
59-
60-
On **macOS**, run the same image via Docker Desktop or OrbStack — the container's
61-
port 3838 is forwarded to the Mac, so you just open the URL in your browser.
108+
</details>
62109
63110
## The command line (scripted runs)
64111
112+
Pull the engine image and run a keyword file by hand (no build):
113+
65114
```bash
66-
podman build -f docker/Dockerfile --target cluster -t fvs-engine:ie --build-arg FVS_VARIANT=ie .
67-
podman run --rm -v "$PWD:/work" fvs-engine:ie FVSie --keywordfile=mykeys.key
115+
docker pull ghcr.io/roopsydaisy/fvs-containers-engine:ie
116+
docker run --rm -v "$PWD:/work" -w /work ghcr.io/roopsydaisy/fvs-containers-engine:ie FVSie --keywordfile=mykeys.key
68117
# FVS writes FVSOut.db and report files next to your keyword file
69118
```
70119
120+
For many keyword files in parallel on HPC, use the cluster runner in
121+
[fvs-hpc-toolkit](https://github.com/RoopsyDaisy/fvs-hpc-toolkit).
122+
71123
## The cluster (big simulation campaigns)
72124
73125
Pull the published engine image to an Apptainer `.sif` and fan runs out with a

0 commit comments

Comments
 (0)