- Rust toolchain (1.70 or newer)
- Install via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Install via rustup:
- LM Studio - Local LLM server for photo descriptions
- Download from lmstudio.ai
- Ollama - Alternative local LLM runtime
- Install from ollama.ai
- A terminal with graphics protocol support:
- Kitty, iTerm2, WezTerm (best quality)
- Konsole, foot, xterm with sixel (good quality)
# Clone the repository
git clone <repository-url>
cd clepho
# Build release version (SQLite only)
cargo build --release
# Build with PostgreSQL support
cargo build --release --features postgres
# Binary location
./target/release/clephoClepho provides a Nix flake for easy installation on NixOS and systems with Nix.
nix run github:barrulus/clephonix profile install github:barrulus/clephoIn your system flake.nix:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
clepho.url = "github:barrulus/clepho";
};
outputs = { self, nixpkgs, clepho, ... }: {
nixosConfigurations.yourhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ pkgs, ... }: {
environment.systemPackages = [
clepho.packages.${pkgs.system}.default
];
})
];
};
};
}{ inputs, pkgs, ... }:
{
home.packages = [
inputs.clepho.packages.${pkgs.system}.default
];
}For contributing or building from source:
git clone https://github.com/barrulus/clepho
cd clepho
nix develop
cargo build --releaseFor development with faster compilation:
cargo build
./target/debug/clephoOn first launch, Clepho will:
- Create configuration directory at
~/.config/clepho/ - Create default configuration file
config.toml - Create data directory at
~/.local/share/clepho/ - Initialize database (SQLite by default at
clepho.db) - Create thumbnail cache at
~/.cache/clepho/thumbnails/ - Create trash directory at
~/.local/share/clepho/.trash/
# Run Clepho
./target/release/clepho
# You should see the three-pane file browser
# Press ? for help, q to quit# Pull latest changes
git pull
# Rebuild
cargo build --releaseThe database schema is automatically migrated on startup if needed.
Missing OpenSSL:
# Debian/Ubuntu
sudo apt install libssl-dev pkg-config
# Fedora
sudo dnf install openssl-devel
# macOS
brew install opensslMissing SQLite:
# Debian/Ubuntu
sudo apt install libsqlite3-dev
# Fedora
sudo dnf install sqlite-devel
# macOS (usually pre-installed)
brew install sqliteNo image previews:
- Check terminal compatibility (see Navigation)
- Set
protocol = "halfblocks"in config for basic support - Set
protocol = "none"to disable previews
Database locked:
- Ensure only one instance of Clepho is running
- Check for stale lock files in
~/.local/share/clepho/
Permission denied:
- Ensure read access to photo directories
- Ensure write access to config/data directories