### [Webtop (from Linuxserver.io)](https://github.com/linuxserver/docker-webtop)

> Handle: `webtop`<br/>
> URL: [http://localhost:34251](http://localhost:34251)<br/>

[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fwebtop?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-webtop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-webtop)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-webtop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-webtop/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-webtop/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-webtop/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/webtop)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/webtop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/webtop)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/webtop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/webtop)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-webtop%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-webtop/job/master/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fwebtop%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/webtop/latest/index.html)

[Webtop](https://github.com/linuxserver/docker-webtop) - Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported flavors accessible via any modern web browser.

[![webtop](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png)](https://github.com/linuxserver/docker-webtop)

![Webtop running harbor CLI and Harbor App](harbor-webtop.png)

Harbor's `webtop` instance is pre-configured with a few extra things:
- Additional dependencies
- Harbor App pre-installed
  - Harbor CLI mounted from your host

The main goals of the service are:
1. Provide a full desktop environment accessible via a web browser, usable by LLM agents
2. Run/configure Harbor GUI/CLI remotely (by accessing webtop via Browser).

#### Starting

```bash
# [Optional] Pre-build the image
harbor build webtop

# Run Webtop and open in browser
harbor up webtop --open

# [Optional] open when already running
harbor open webtop

# [Optional] Get the URL to access from the same LAN
harbor url -a webtop

# [Optional] Get the QR code to access from the same LAN
harbor qr -a webtop

# [Optional] Start the tunnel to access from the internet
# ⚠️ Never expose unprotected services to the internet
harbor tunnel webtop
```

#### Configuration

Harbor will mount the `webtop` home directory from your host. You can configure the location to your preference:
```bash
harbor config set webtop.workspace /path/to/your/workspace
```

Paired with [`harbor profiles`](./3.-Harbor-CLI-Reference#harbor-profile), you can use that to "switch" between different home directories for different projects.

You can also change the distro of the container by switching to [one of the tags](https://docs.linuxserver.io/images/docker-webtop/#version-tags) supported by the Linuxserver.io team.

```bash
harbor config set webtop.version ubuntu-xfce
```

In addition to that, all of the baseline configuration options from original service are supported. One quick way to adjust the environment is via [`harbor env`](./3.-Harbor-CLI-Reference#harbor-env):

```bash
# See current env overrides
harbor env webtop

# Set a new env override
harbor env set webtop TITLE "AI Webtop"
```

#### Usage

When working within the webtop container, all harbor services are available by their internal URLs. So, for example, you'll find the `webui` not on `http://localhost:33801`, but on `http://harbor.webui:8080`.

```bash
# will return the "host" URL
harbor url webui

# will return the internal URL suitable for webtop
harbor url -i webui
```

See more info in [`harbor url` reference](./3.-Harbor-CLI-Reference#harbor-url).

