# Headless Linux Server Setup

Run the Fabric Agent on servers without a display

## Overview

For headless servers (no monitor, keyboard, or GUI), Fabric provides device code authentication. This lets you authenticate from any device with a browser.

Detailed setup instructions are available in your dashboard after you log in.

* * *

## Requirements

- Linux server (x86_64 or aarch64)
- SSH access
- Outbound HTTPS access (port 443)
- Fabric account

* * *

## Getting Started

Log in to your dashboard at fabric.carmel.so

Go to the Devices section

Click "Add Linux Device"

Follow the step-by-step instructions provided

The dashboard provides the download link and authentication steps specific to your account.

* * *

## Device Code Authentication

When running on a headless server, the agent uses device code authentication:

1. Start the agent on your server
2. A device code is displayed in the terminal
3. Open fabric.carmel.so/device on any browser
4. Enter the code and sign in
5. Your server is enrolled and ready

* * *

## Running as a Service

For 24/7 operation, the dashboard provides instructions for setting up systemd services. This ensures your node:

- Starts automatically on boot
- Restarts if it crashes
- Runs continuously in the background

* * *

## Checking Status

**Service status:**

```
sudo systemctl status fabric-agent
```

**View logs:**

```
tail -f ~/.fabric/logs/daemon.log
```

* * *

## GPU Support

For NVIDIA GPU workloads:

- Install NVIDIA drivers
- Verify with `nvidia-smi`
- The agent auto-detects CUDA GPUs

* * *

## Troubleshooting

**Device code not appearing:**

- Ensure the agent is running
- Check logs for errors
- Verify network connectivity

**Authentication timing out:**

- Complete authentication within 15 minutes
- Code expires after timeout
- Restart agent for a new code

**Service not starting:**

- Check the dashboard for troubleshooting steps
- Verify your paths are correct
- Check logs: `journalctl -u fabric-agent -n 100`
