Troubleshooting
Common issues and their solutions. When in doubt, start with rdc doctor to run a comprehensive diagnostic check.
SSH Connection Fails
- Verify you can connect manually:
ssh -i ~/.ssh/id_ed25519 deploy@203.0.113.50 - Run
rdc context scan-keys server-1to refresh host keys - Check that the SSH port matches:
--port 22 - Test connectivity:
rdc machine test-connection --ip 203.0.113.50 --user deploy
Host Key Mismatch
If a server was reinstalled or its SSH keys changed, you’ll see “host key verification failed”:
rdc context scan-keys server-1
This fetches fresh host keys and updates your config.
Setup Machine Fails
- Ensure the SSH user has sudo access without a password, or configure
NOPASSWDfor the required commands - Check available disk space on the server
- Run with
--debugfor verbose output:rdc context setup-machine server-1 --debug
Repository Create Fails
- Verify setup was completed: the datastore directory must exist
- Check disk space on the server
- Ensure the renet binary is installed (run setup again if needed)
Services Fail to Start
- Check the Rediaccfile syntax: it must be valid Bash
- Ensure
docker composefiles usenetwork_mode: host - Verify Docker images are accessible (consider
docker compose pullinprep()) - Check container logs using the repository’s Docker socket:
rdc term server-1 my-app -c "docker logs <container-name>"
Or view all containers:
rdc machine containers server-1
Permission Denied Errors
- Repository operations require root on the server (renet runs via
sudo) - Verify your SSH user is in the
sudogroup - Check that the datastore directory has correct permissions
Docker Socket Issues
Each repository has its own Docker daemon. When running Docker commands manually, you must specify the correct socket:
# Using rdc term (auto-configured):
rdc term server-1 my-app -c "docker ps"
# Or manually with the socket:
docker -H unix:///var/run/rediacc/docker-2816.sock ps
Replace 2816 with your repository’s network ID (found in config.json or rdc repo status).
Containers Created on Wrong Docker Daemon
If your containers appear on the host system’s Docker daemon instead of the repository’s isolated daemon, the most common cause is using sudo docker inside a Rediaccfile.
sudo resets environment variables, so DOCKER_HOST is lost and Docker defaults to the system socket (/var/run/docker.sock). Rediacc blocks this automatically, but if you encounter it:
- Use
dockerdirectly — Rediaccfile functions already run with sufficient privileges - If you must use sudo, use
sudo -E dockerto preserve environment variables - Check your Rediaccfile for any
sudo dockercommands and remove thesudo
Terminal Not Working
If rdc term fails to open a terminal window:
- Use inline mode with
-cto run commands directly:rdc term server-1 -c "ls -la" - Force external terminal with
--externalif inline mode has issues - On Linux, ensure you have
gnome-terminal,xterm, or another terminal emulator installed
Run Diagnostics
rdc doctor
This checks your environment, renet installation, context configuration, and authentication status. Each check reports OK, Warning, or Error with a brief explanation.