Skip to content

Installation Guide

Altug Tatlisu edited this page Oct 25, 2025 · 1 revision

Installation Guide

This guide will help you install Hermes on your system.

Prerequisites

  • Rust: 1.70 or higher
  • Cargo: Comes with Rust
  • Git: For cloning the repository
  • SFTP Server: For remote file storage (optional)

Method 1: From Source (Recommended)

Step 1: Install Rust

Linux/macOS:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.org | sh
source $HOME/.cargo/env

Windows: Download and run [rustup-init.exe](https://rustup.rs/)

Step 2: Clone Repository

git clone https://github.com/ChronoCoders/hermes.git
cd hermes

Step 3: Build

# Debug build (faster compilation)
cargo build

# Release build (optimized)
cargo build --release

The binary will be in:

  • Debug: target/debug/hermes
  • Release: target/release/hermes

Step 4: Install (Optional)

cargo install --path .

This installs hermes to ~/.cargo/bin/


Method 2: Pre-built Binaries

Download Latest Release

Visit [Releases](https://github.com/ChronoCoders/hermes/releases) and download for your platform:

  • Windows: hermes-v1.0.0-windows-x64.zip
  • Linux: hermes-v1.0.0-linux-x64.tar.gz
  • macOS: hermes-v1.0.0-macos-x64.tar.gz

Extract and Install

Windows:

unzip hermes-v1.0.0-windows-x64.zip
move hermes.exe C:\Windows\System32\

Linux/macOS:

tar -xzf hermes-v1.0.0-linux-x64.tar.gz
sudo mv hermes /usr/local/bin/
sudo chmod +x /usr/local/bin/hermes

Method 3: Cargo Install

cargo install hermes-secure

Verify Installation

hermes --version

Expected output:

hermes 1.0.0

Initial Setup

1. Initialize Configuration

hermes init

This creates:

  • Linux/macOS: ~/.config/hermes/config.toml
  • Windows: C:\Users\<user>\.config\hermes\config.toml

2. Configure SFTP (Optional)

Edit the config file:

[sftp]
host = "your-sftp-server.com"
port = 22
username = "your-username"
key_file = "/path/to/ssh/key"  # Optional, uses password if not set

[paths]
inbox = "/secure/inbox"
outbox = "/secure/outbox"
files = "/secure/files"

3. Test Configuration

hermes config

Platform-Specific Notes

Windows

PowerShell Execution Policy:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Add to PATH:

setx PATH "%PATH%;C:\path\to\hermes"

Linux

Dependencies:

# Ubuntu/Debian
sudo apt-get install build-essential libssl-dev pkg-config

# Fedora
sudo dnf install gcc openssl-devel

# Arch
sudo pacman -S base-devel openssl

macOS

Xcode Command Line Tools:

xcode-select --install

Homebrew (optional):

brew install openssl

Upgrading

From Source

cd hermes
git pull origin main
cargo build --release
cargo install --path .

From Binary

Download and replace the latest version.


Uninstallation

Remove Binary

Linux/macOS:

sudo rm /usr/local/bin/hermes

Windows:

del C:\Windows\System32\hermes.exe

Remove Configuration

# Linux/macOS
rm -rf ~/.config/hermes
rm -rf ~/.hermes

# Windows
rmdir /s %USERPROFILE%\.config\hermes
rmdir /s %USERPROFILE%\.hermes

Troubleshooting

Build Errors

OpenSSL not found:

# Set environment variable
export OPENSSL_DIR=/usr/local/opt/openssl

Linking errors:

cargo clean
cargo build --release

Runtime Errors

Permission denied:

chmod +x hermes

Config not found:

hermes init

Next Steps


[← Back to Home](Home) | [Next: Quick Start →](Quick-Start)