Senate

Machines

Manage multiple servers and deployment targets

Machines

Machines represent the servers where your services run. Senate supports deploying to multiple machines, including local and remote servers.

Overview

Senate creates a "Local" machine automatically when installed. You can add additional remote machines via SSH.

Machines overview

Machine Types

Local Machine

The server where Senate is running:

  • Created automatically on first run
  • Cannot be deleted
  • Docker runs directly on this host
  • Best for single-server deployments

Remote Machines

Any server accessible via SSH:

  • Connect via SSH key or password
  • Docker commands executed over SSH
  • Supports any Linux distribution with Docker
  • Enable multi-server architectures

Adding a Remote Machine

  1. Navigate to Machines
  2. Click Add Machine
  3. Configure the connection:
FieldDescriptionExample
NameFriendly nameproduction-1
HostIP or hostname192.168.1.100
PortSSH port22
UserSSH usernameroot
Auth TypeKey or passwordkey

For key-based authentication:

  1. Generate a key pair in Senate:

    • Click "Generate Key" in the form
    • Copy the public key
  2. Add to remote server:

    # On the remote server
    echo "ssh-ed25519 AAAA... senate-generated" >> ~/.ssh/authorized_keys
  3. Test connection by clicking "Add Machine"

Password Authentication

Enter the SSH password directly. Less secure than key authentication.

Store SSH credentials securely. Use key authentication for production environments.

Machine Resources

View real-time metrics for each machine:

  • CPU: Usage percentage and core count
  • Memory: Used/total RAM
  • Disk: Usage for each mount point
  • Network: Bandwidth in/out

Machine stats

Machine Operations

View Details

Click a machine to see:

  • System information (OS, kernel, architecture)
  • Docker version and configuration
  • Resource usage graphs
  • List of services deployed

Containers Tab

View all Docker containers on the machine:

  • Running, stopped, and all containers
  • Container status, image, and ports
  • Start/stop/restart operations
  • View container logs

Gateway Tab

Manage the reverse proxy (Caddy):

  • View configured routes
  • Monitor SSL certificates
  • Add custom routing rules
  • View upstream health

Images Tab

Browse Docker images:

  • List all images
  • Image size and tags
  • Pull new images
  • Remove unused images

Volumes Tab

Manage Docker volumes:

  • List all volumes
  • View volume size
  • Delete unused volumes

Networks Tab

View Docker networks:

  • List networks
  • Inspect network details
  • View connected containers

Deploying to Machines

When creating a service, select the target machine:

  1. New Service → Select machine from dropdown
  2. Service will deploy to that machine
  3. Domain routing configured on that machine's Gateway

Removing a Machine

  1. Stop all services on the machine
  2. Click machine menu (⋮) → Delete
  3. Confirm deletion

Deleting a machine removes it from Senate but does not stop running containers on the remote server.

On this page