Sign inSign up

justsky/tor

By justsky

Updated 6 days ago

Tor Browser running in a containerised desktop environment

Buildkit cache
Image
0

4.5K

justsky/tor repository overview

docker-tor

Docker Docker Pulls Docker Image Size

Tor Browser running in a containerised desktop environment, streamed to your browser via Selkies. Built on LinuxServer's baseimage-selkies.

Features

  • Full Tor Browser desktop accessible from any web browser
  • Hardware-accelerated streaming via Selkies (WebSocket-based, no special firewall rules)
  • Works behind Traefik + Pangolin out of the box
  • Nvidia GPU passthrough supported

Usage

Docker Compose
services:
  tor:
    image: justsky/tor:latest
    container_name: tor
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - TITLE=Tor Browser
    volumes:
      - /path/to/config:/config
    ports:
      - 3000:3000
Docker Run
docker run -d \
  --name tor \
  --security-opt no-new-privileges:true \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e TITLE="Tor Browser" \
  -v /path/to/config:/config \
  -p 3000:3000 \
  --restart unless-stopped \
  justsky/tor:latest

Environment Variables

VariableDefaultDescription
PUID1000User ID for file ownership
PGID1000Group ID for file ownership
TZEtc/UTCTimezone (e.g. Europe/London)
TITLETor BrowserTab title shown in the browser UI
DISABLE_ZINKSet to true to disable Zink even when GPU is detected
DRI_NODEGPU device for hardware encoding (e.g. /dev/dri/renderD128)
HARDEN_DESKTOPSet to true to disable terminals, sudo, and file transfers
SELKIES_ENCODERautoVideo encoder (x264enc, vp8enc, jpeg)
SELKIES_FRAMERATE60Stream framerate
SELKIES_VIDEO_BITRATE2000Video bitrate in kbps

See baseimage-selkies for the full list of Selkies environment variables.

Volumes

PathDescription
/configPersistent user config, Tor Browser profile, and bookmarks

Ports

PortDescription
3000Selkies web UI (HTTP)
3001Selkies web UI (HTTPS)

Accessing the UI

Navigate to http://<host>:3000 in your browser. Tor Browser launches automatically on startup.

Behind Pangolin + Traefik

Selkies uses WebSocket-based streaming — no UDP or TURN server configuration required. Add the container as a target resource in Pangolin. Ensure your Traefik entrypoint passes through WebSocket upgrades (default behaviour).

GPU Acceleration (optional)

    environment:
      - DRI_NODE=/dev/dri/renderD128
    devices:
      - /dev/dri:/dev/dri

Building Locally

docker build \
  --build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
  --build-arg VERSION=local \
  -t docker-tor .

Contributing

See CONTRIBUTING.md.

Security

See SECURITY.md for vulnerability reporting.

License

GPL-3.0-only

Tag summary

Content type

Image

Digest

sha256:2624a9478

Size

993.3 MB

Last updated

6 days ago

docker pull justsky/tor