Skip to content
Docs
Docs/Keep a Docker workspace

A workspace with a link you can reuse.

Run a shared terminal in a container. Named volumes keep its workspace and session identity across container restarts—not the memory of a running process.

On this page

1. Get the project

You need Docker with Compose. Clone the project and use the Compose file in its root. This runs a client of the hosted relay, not your own relay.

git clone https://github.com/TeoSlayer/shell.online.git
cd shell.online
Open the repository directory.

2. Start the container

The first launch prints the browser link and generated password. The logs contain credentials: read them privately, not in a shared report.

docker compose up --build -d
Build and start the container.
docker compose logs shell-online
Read the session link and password.

3. Open the session

Open the printed link in your browser and enter the password. The default configuration keeps state and workspace in separate named volumes.

shell-online-state
Host identity, browser password and encryption material. Protect this volume and its backups as secrets.
shell-online-workspace
The files you work on inside the container.

What a restart preserves

The container reuses its saved link and password, then starts a new terminal process. It does not restore an agent’s in-memory conversation or a running job.

A saved identity can be revived from its state volume after the relay’s offline retention expires. Deleting that volume loses the saved identity. Do not use volume deletion as a routine restart step.

Choose or rotate a password

You may set a longer SHELL_ONLINE_E2EE_PASSWORD before first launch. Restarts reuse saved credentials. To change an active password, run shell password rotate <ID> inside the running container; an environment change alone does not rotate stored state.

Want your own server instead?

The root Compose file connects to hosted shell.online. To run your own relay and domain, follow Run your own relay.