76 lines
2.8 KiB
Markdown
76 lines
2.8 KiB
Markdown
> :warning: **This is not an official WebArena repo. For the official instructions refer to [WebArena](https://github.com/web-arena-x/webarena/tree/main/environment_docker)**
|
|
|
|
# webarena-setup
|
|
|
|
Setup scripts for webarena.
|
|
|
|
## Get the files
|
|
|
|
Download the necessary docker images from the [official webarena repo](https://github.com/web-arena-x/webarena/tree/main/environment_docker). You'll need the following files:
|
|
- shopping_final_0712.tar
|
|
- shopping_admin_final_0719.tar
|
|
- postmill-populated-exposed-withimg.tar
|
|
- gitlab-populated-final-port8023.tar
|
|
- wikipedia_en_all_maxi_2022-05.zim
|
|
|
|
Download the additional openstreetmap docker files from Zenodo:
|
|
```sh
|
|
wget https://zenodo.org/records/12636845/files/openstreetmap-website-db.tar.gz
|
|
wget https://zenodo.org/records/12636845/files/openstreetmap-website-web.tar.gz
|
|
wget https://zenodo.org/records/12636845/files/openstreetmap-website.tar.gz
|
|
```
|
|
|
|
(if you're planning to setup multiple instances, should download these files once in a shared location)
|
|
|
|
## Configure the scripts
|
|
|
|
Edit `00_vars.sh` with your ports and hostname (or ip address). You can also change `ARCHIVES_LOCATION="./"` to where your files are if you put them at a different location (like a shared folder).
|
|
|
|
## Extract / load the image files (very long, do it just once)
|
|
|
|
Untar the openstreemap docker folder:
|
|
```sh
|
|
tar -xzf ./openstreetmap-website.tar.gz
|
|
```
|
|
|
|
Create a wiki folder and move (or copy) the wikipedia file to it
|
|
```sh
|
|
mkdir wiki
|
|
mv ./wikipedia_en_all_maxi_2022-05.zim wiki/
|
|
```
|
|
|
|
Load the docker image files
|
|
```sh
|
|
sudo bash 01_docker_load_images.sh
|
|
```
|
|
|
|
Once these three steps are completed, you can get rid of the downloaded files (or unmount your shared folder) as these won't be needed any more.
|
|
|
|
## Run the server
|
|
|
|
Easiest way is to start a tmux or screen session, then run scripts 02 to 06 in order. The last script serves the homepage and should stay up.
|
|
```bash
|
|
sudo bash 02_docker_remove_containers.sh
|
|
sudo bash 03_docker_create_containers.sh
|
|
sudo bash 04_docker_start_containers.sh
|
|
sudo bash 05_docker_patch_containers.sh
|
|
sudo bash 06_serve_homepage.sh
|
|
```
|
|
|
|
Optional: to start the reset server (automated full instance resets) run the following in a side tmux or screen terminal
|
|
```bash
|
|
sudo bash 07_serve_reset.sh
|
|
```
|
|
|
|
Then you can trigger a full instance reset by accessing `http://${PUBLIC_HOSTNAME}:${RESET_PORT}/reset` check the instance status via `http://${PUBLIC_HOSTNAME}:${RESET_PORT}/reset`.
|
|
|
|
## Safety check
|
|
|
|
Go to the homepage and click each link to make sure the websites are operational (some might take ~10 secs to load the first time).
|
|
|
|
## Reset
|
|
|
|
After an agent is evaluated on WebArena, a reset is required before another agent can be evaluated.
|
|
|
|
Run scripts 02 to 06 again, or query the reset URL `http://${PUBLIC_HOSTNAME}:${RESET_PORT}/reset` if the reset server is running.
|