> For the complete documentation index, see [llms.txt](https://docs.instruqt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.instruqt.com/sandboxes/hosts/website-service.md).

# Website service

## Overview

The website service host allows you to display websites in tabs. Website service hosts are useful when you have a site that refuses to run in an `iframe` (*read: a tab*) . If your site is able to run in an `iframe`, you do not need to use a website service host, and you can just use the [Web applications tab type](/tracks/challenges/challenge-tabs.md#web-based-applications).

The website service is required to create the underlying resources for your virtual browser in your sandbox. Generally, you should always have a website service created for each site that you would like to view in your virtual browser. A virtual browser in a challenge by itself will not function without this website service configuration in your sandbox.

{% hint style="info" %}
Not sure if your site runs in an `iframe?` [You can test with this tool.](https://iframetester.com/)
{% endhint %}

## Create website service hosts

You can define website service hosts with the CLI or web UI:

{% tabs %}
{% tab title="🌐 Web UI" %}

1. Select a track.
2. In the *Sandbox* section, click **Edit**.
3. In the *Your hosts* section, click **+ Add a host**.
4. Select **Website service**.
5. Input a name and URL for the host.
6. Click **Save host**.
   {% endtab %}

{% tab title="💻 Instruqt CLI" %}
Within a track's `config.yml` file, website service hosts are defined like so:

```markdown
virtualbrowsers:
- name: <name>
  url: <url_of_website>
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Each sandbox is subject to a limit of **15 containers and website services combined** at any given time. This limitation helps ensure optimal performance and resource allocation for all users.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.instruqt.com/sandboxes/hosts/website-service.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
