---
title: "Deploy Debian 13 | (Just Updated) Browser Terminal, Files Survive Redeploys"
description: "Debian 13 shell in your browser; files in /root survive redeploys."
category: "Starters"
url: https://railway.com/deploy/debian-13-or-just-updated-browser-termin
---

# Deploy Debian 13 | (Just Updated) Browser Terminal, Files Survive Redeploys

Debian 13 shell in your browser; files in /root survive redeploys.

**[Deploy Debian 13 | (Just Updated) Browser Terminal, Files Survive Redeploys on Railway](https://railway.com/template/debian-13-or-just-updated-browser-termin)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/debian-13-or-just-updated-browser-termin/manifest.json

- **Creator:** SuperSlowSloth
- **Category:** Starters

## Template content

### debian-terminal

- **Image:** ghcr.io/bon5co/debian-terminal-railway:trixie
- **Public domain:** Yes

## Documentation

# Deploy and Host Debian 13 Browser Terminal on Railway

A full **Debian 13 (trixie)** shell in your browser, one click, no SSH keys and no
local setup. It is served by [ttyd](https://github.com/tsl0922/ttyd) behind HTTP
basic auth, and your home directory `/root` lives on a Railway volume — so files,
scripts, cloned repositories and dotfiles survive a redeploy instead of vanishing
with the container.

## About Hosting Debian 13 Browser Terminal

The service runs a single container: a pinned Debian 13 base with a working
command-line toolbox (git, curl/wget, python3 + pip, build-essential, vim/nano,
tmux, htop, jq and more) and the ttyd terminal server. ttyd listens on the port
Railway injects and every request is gated by basic auth. The template generates a
random password per deploy and the container refuses to start without one, so the
terminal is never exposed with empty credentials. The `/root` home directory is
mounted on a volume; the image's home skeleton is restored on top of the volume at
boot so a fresh mount still has working shell configuration.

## Why Deploy Debian 13 Browser Terminal on Railway?

Railway gives the container a public HTTPS URL, a managed volume and one-click
redeploys, which is exactly what a persistent remote shell needs. You get a
disposable-but-persistent Linux box reachable from any browser — useful for quick
scripting, scheduled one-off jobs, learning, or a scratch environment you do not
want to install locally — without managing an SSH server, TLS certificates or a
VM. The password is generated for you and the home directory is kept across
deploys.

## Common Use Cases

- A persistent browser-accessible Linux scratch box for scripting and small jobs.
- A shared teaching or demo shell reachable by URL, no client setup.
- A quick place to clone a repo, run a build, or test a command on real Debian.

## Dependencies for Debian 13 Browser Terminal

- ttyd 1.7.7 (browser terminal server), pinned in the wrapper image.
- Debian 13 (trixie) base image, pinned by digest.

### Deployment Dependencies

- None beyond the container itself. The image is self-contained; no database,
  cache or external service is required.


## Similar templates

- [open-excalidraw](https://railway.com/deploy/open-excalidraw) — Self-hostable collaborative drawing built on Excalidraw
- [caring-vibrancy](https://railway.com/deploy/caring-vibrancy) — Deploy and Host caring-vibrancy with Railway
- [Appsmith](https://railway.com/deploy/appsmith-1) — Low-code platform for internal tools, dashboards, and admin panels.

Open this page in a browser: https://railway.com/deploy/debian-13-or-just-updated-browser-termin
