V1 documentation
Run Docker remotely.
rdocker sends Docker commands to your server over SSH. Compose workspaces are synchronized automatically; development mode also forwards ports and watches local files.
Requirements
- Python 3.11 or newer
- Docker CLI, SSH, and rsync installed locally
- A Linux server with Docker and SSH key access
Install V1
V1 is currently installed from a reviewed source checkout. A public, signed installer will replace this flow before general availability.
git clone YOUR_RDOCKER_SOURCE
python3 -m pip install --user ./rdocker_cli
rdocker configure \
--host YOUR_SERVER_IP \
--user YOUR_SSH_USER \
--developer YOUR_NAME
rdocker doctor
Use Docker commands
rdocker ps
rdocker images
rdocker run --rm alpine echo hello
rdocker logs -f CONTAINER
rdocker exec -it CONTAINER sh
Use Compose
cd your-project
rdocker compose up -d
rdocker compose logs -f
rdocker compose down
The current directory is synchronized into an isolated remote workspace. Relative build contexts, bind mounts, Compose files, and env files resolve from that remote workspace.
Development mode
rdocker dev -L 8000
rdocker dev -L 3000:8080
Development mode starts Compose, opens SSH tunnels, and runs a foreground file watcher. Ctrl+C stops syncing and tunnels while containers remain running.
Security model
- Docker is never exposed over a public TCP socket.
- All control traffic uses SSH.
- Each local workspace receives a developer-scoped remote directory.
- Remote workspace env files are restricted to the SSH user.
Current limitations
- Published remote host ports must not collide across workspaces.
- Docker load, save, cp, and stdin build contexts use best-effort semantics.
- V1 is bring-your-own-server and intended for trusted single-user hosts.