Skip to main content

Overview

The Spacedrive daemon and CLI can be deployed on Linux systems in several ways:
  • Docker - Recommended for easy deployment and isolation
  • Native binaries - Direct installation for TrueNAS, Raspberry Pi, and other Linux systems
  • Systemd service - Auto-start on boot with native binaries

Docker Deployment

Prerequisites

  • Docker 20.10+ or Docker Engine
  • Docker Compose (optional, but recommended)

Quick Start with Docker Compose

  1. Create docker-compose.yml:
  1. Build and start:

Docker CLI Commands

Multi-Architecture Support

The Dockerfile supports both x86_64 and ARM64:

Native Binary Deployment

Installation

  1. Download binaries:
  1. Install binaries:

Running the Daemon

Systemd Service (Auto-Start)

Installation

The CLI includes built-in systemd service management:
This creates a systemd user service at:

Manual Systemd Setup

If you prefer manual setup, create the service file:
Then enable and start:

TrueNAS Deployment

TrueNAS SCALE (Debian-based)

TrueNAS SCALE supports Docker, so you can use either method:
  1. Enable Docker/Kubernetes in TrueNAS SCALE Apps
  2. Deploy using the docker-compose.yml above
  3. Mount your TrueNAS pools as volumes

Option 2: Native Binary

TrueNAS CORE (FreeBSD)

Currently unsupported. Use TrueNAS SCALE (recommended) or run in a Linux VM.

Raspberry Pi Deployment

Prerequisites

  • Raspberry Pi 3/4/5 or newer
  • Raspberry Pi OS (64-bit recommended)
  • At least 1GB free RAM

Installation

Performance Tips

  • Use external SSD for better I/O performance
  • Limit concurrent indexing jobs: sd-cli config set jobs.max_concurrent 2
  • Disable thumbnail generation for large libraries to save RAM

Configuration

Data Directory

By default, data is stored at:
  • Native: ~/.local/share/spacedrive (Linux)
  • Docker: /data (mapped to volume)
Override with --data-dir flag:

Auto-Update

Configure update repository:

Multiple Instances

Run multiple daemon instances:

Monitoring

Health Checks

Resource Usage

Troubleshooting

Daemon Won’t Start

Permission Issues

Port Conflicts

If you see “address already in use”:

Out of Memory (Raspberry Pi)

Security Considerations

Running as Non-Root

Always run as a regular user, never as root:

Firewall Configuration

If enabling API access (future):

File Permissions

Ensure indexed directories are readable:

Uninstallation

Remove Daemon

Remove Docker

Advanced Configuration

Custom Systemd Service Options

Edit ~/.config/systemd/user/spacedrive-daemon.service:
Then reload and restart:

Docker Resource Limits

In docker-compose.yml:

Next Steps