Skip to main content Skip to navigation Skip to footer
Limited time: Design Partner Program. BUSINESS plan free for life.

Tools

File sync, terminal access, VS Code integration, and CLI updates.

Tools

Rediacc ships four tools for day-to-day work on your machines and repositories: file sync over SSH, an SSH terminal, VS Code integration, and CLI self-updates. All four run over SSH. No agent or daemon required on the remote side. If you need a GUI for any of this, you are looking at the wrong page.

File Synchronization (sync)

Transfer files between your workstation and a remote repository using rsync over SSH.

Upload Files

--local accepts one or more paths. Each path may be a file or a directory. Files land at <remote>/<basename>; directory contents merge into <remote>/. For a single file, prefer --remote-file to give the file its destination path explicitly.

# Directory (contents merged into remote)
rdc repo sync upload -m server-1 -r my-app --local ./src --remote /app/src

# Single file dropped into a remote directory (basename preserved)
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote /app/conf

# Single file, explicit destination path
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote-file /app/conf/config.yml

# Multiple sources in one call
rdc repo sync upload -m server-1 -r my-app --local a.yml b.yml ./assets --remote /app

--remote and --remote-file are mutually exclusive. --remote-file requires exactly one --local path that points at a file.

--mirror cannot be combined with a file source; it would delete sibling files in the remote directory.

Download Files

Use --remote for a directory (the default) or --remote-file for a single file. The two flags are mutually exclusive.

# Directory
rdc repo sync download -m server-1 -r my-app --remote /app/data --local ./data

# Single file: --local must be an existing directory
rdc repo sync download -m server-1 -r my-app --remote-file /app/conf/config.yml --local ./local-conf

Check Sync Status

rdc repo sync status -m server-1 -r my-app

Options

OptionDescription
-m, --machine <name>Target machine
-r, --repository <name>Target repository
--local <paths...>One or more local file or directory paths (upload) or local destination directory (download)
--remote <path>Remote directory (relative to repository mount)
--remote-file <path>Remote file path for single-file uploads or downloads (alternative to --remote)
--dry-runPreview changes without transferring
--mirrorMirror source to destination, delete extra files (directory sources only)
--verifyVerify checksums after transfer
--confirmInteractive confirmation with detail view
--exclude <patterns...>Exclude file patterns
--skip-router-restartSkip restarting the route server after the operation

SSH Terminal (term)

Open an interactive SSH session to a machine or into a repository’s environment.

Shorthand Syntax

The fastest way to connect:

rdc term connect -m server-1                    # Connect to a machine
rdc term connect -m server-1 -r my-app             # Connect to a repository

Run a Command

Execute a command without opening an interactive session:

rdc term connect -m server-1 -c "uptime"
rdc term connect -m server-1 -r my-app -c "docker ps"

When connecting to a repository, DOCKER_HOST is automatically set to the repository’s isolated Docker socket, so docker ps shows only that repository’s containers.

Connect Subcommand

Or use the connect subcommand for the same result, with explicit flags:

rdc term connect -m server-1
rdc term connect -m server-1 -r my-app

Container Actions

Interact directly with a running container:

# Open a shell inside a container
rdc term connect -m server-1 -r my-app --container <container-id>

# View container logs
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs

# Follow logs in real-time
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs --follow

# View container stats
rdc term connect -m server-1 -r my-app --container <container-id> --container-action stats

# Execute a command in a container
rdc term connect -m server-1 -r my-app --container <container-id> --container-action exec -c "ls -la"
OptionDescription
--container <id>Target Docker container ID
--container-action <action>Action: terminal (default), logs, stats, exec
--log-lines <n>Number of log lines to show (default: 50)
--followFollow logs continuously
--externalUse external terminal instead of inline SSH

VS Code Integration (vscode)

Open a remote SSH session in VS Code, pre-configured with the correct SSH settings.

Connect to a Repository

rdc vscode connect -r my-app -m server-1

This command:

  1. Detects your VS Code installation
  2. Configures the SSH connection in ~/.ssh/config
  3. Persists the SSH key for the session
  4. Opens VS Code with a Remote SSH connection to the repository path

List Configured Connections

rdc vscode list

Clean Up Connections

rdc vscode cleanup

Removes VS Code SSH configurations that are no longer needed.

Check Configuration

rdc vscode check

Verifies VS Code installation, Remote SSH extension, and active connections.

Prerequisite: Install the Remote - SSH extension in VS Code.

VS Code in the Browser

No local VS Code? Serve the editor from inside the repository sandbox and open it in any browser:

rdc vscode connect -r my-app -m server-1 --browser

This command:

  1. Installs the open-source editor server on the machine once (read-only shared path, checksum-verified)
  2. Starts it inside the repository sandbox, so the file tree, the integrated terminal, and every child process see exactly what the repository sees
  3. Opens an SSH tunnel to a local port and launches your browser with a per-session token URL

The server keeps running after you close the tunnel; reconnecting reuses it. Manage it with:

rdc vscode serve status -r my-app -m server-1
rdc vscode serve stop -r my-app -m server-1
OptionDescription
--no-openPrint the URL instead of launching the browser
--url-onlyPrint exactly one URL line on stdout (for scripting) and hold the tunnel
--local <port>Pick the local tunnel port
--server-provider <id>Editor server implementation: openvscode (default) or code-server
--server-archive <file>Install from a pre-staged tarball on the machine (no internet needed)

Works from Linux, macOS, Windows, or a tablet. The only local requirement is a browser.

CLI Updates (update)

Keep the rdc CLI up to date.

Check for Updates

rdc update --check-only

Apply Update

rdc update

Updates are downloaded and applied in-place. The CLI automatically picks the right binary for your platform (Linux, macOS, or Windows). The new version takes effect on the next run.

Rollback

rdc update --rollback

Reverts to the previously installed version. Only available after an update has been applied.

Update Status

rdc update --status

Shows current version, update channel, and auto-update configuration.

Release Channels

rdc update --channel edge      # Continuously deployed production updates
rdc update --channel stable    # Promoted from edge after 7-day soak (default)
rdc update --status            # Show current channel and version info