Dashcam
Deployment

Remote Server

Deploy Dashcam on Hostinger, EC2, or any server.

Remote Server Deployment

If you run Claude Code on a remote server — an EC2 instance, a Hostinger VPS, a DigitalOcean droplet, or any Linux machine you SSH into — you can install Dashcam there and access the dashboard from your local browser. The setup is the same as local development, with one extra step to make the dashboard accessible.

Install on the Server

SSH into your server and install Dashcam globally:

Terminal (remote server)
npm install -g dashcam-dev
dashcam init
dashcam start --host 0.0.0.0

The --host 0.0.0.0 flag tells the daemon to accept connections from any network interface, not just localhost. Without this flag, the dashboard would only be accessible from the server itself.

The safest way to access a remote Dashcam dashboard is through an SSH tunnel. This encrypts the connection and requires no firewall changes:

Terminal (local machine)
ssh -L 57580:localhost:57580 user@your-server

With the tunnel active, open http://localhost:57580 on your local machine. The browser connects to your local port 57580, which SSH forwards to the daemon on the remote server. WebSocket connections work through the tunnel, so Live View streams events in real-time.

SSH tunnels are the recommended approach because they require zero configuration on the server side — no firewall rules, no TLS certificates, no reverse proxy. The connection is encrypted end-to-end.

Access via HTTPS Reverse Proxy

If you want a permanent URL for your Dashcam dashboard (e.g., https://dashcam.yourdomain.com), place a reverse proxy in front of the daemon. Both nginx and Caddy handle this well, including automatic TLS certificate provisioning.

Caddy

Caddy is the simplest option — it handles TLS automatically via Let's Encrypt:

/etc/caddy/Caddyfile
dashcam.yourdomain.com {
    reverse_proxy localhost:57580
}
Terminal (remote server)
sudo systemctl reload caddy

nginx

/etc/nginx/sites-available/dashcam
server {
    listen 443 ssl;
    server_name dashcam.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/dashcam.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/dashcam.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:57580;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

The Upgrade and Connection headers are essential — without them, WebSocket connections (required for Live View) will fail.

Running as a Service

To keep Dashcam running after you disconnect from SSH, use a process manager:

systemd

/etc/systemd/system/dashcam.service
[Unit]
Description=Dashcam daemon
After=network.target

[Service]
Type=simple
User=your-user
ExecStart=/usr/bin/dashcam start --host 0.0.0.0
ExecStop=/usr/bin/dashcam stop
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
Terminal (remote server)
sudo systemctl daemon-reload
sudo systemctl enable dashcam
sudo systemctl start dashcam

pm2

Terminal (remote server)
pm2 start "dashcam start --host 0.0.0.0" --name dashcam
pm2 save
pm2 startup

Security Considerations

Dashcam v1 does not include authentication. Anyone who can reach the dashboard port can view your session data, including code, chat logs, and screenshots. Protect access using one of these methods.

  • SSH tunnel — Access is limited to users who have SSH keys for the server
  • Reverse proxy with auth — Add HTTP basic auth or OAuth via nginx/Caddy
  • Firewall rules — Restrict port 57580 to specific IP addresses
  • VPN — Place the server behind a VPN (Tailscale, WireGuard)

For most users, the SSH tunnel approach is sufficient and requires no additional configuration.

On this page