Installation
How to install Kurpod. It's just a single binary that runs a web server.
Quick Start
Option 1: Homebrew (macOS - Recommended)
# Add tap and install
brew tap srv1n/kurpod https://github.com/srv1n/kurpod.git
brew install kurpod
# Start server (defaults to port 3000 and ./blobs directory)
kurpod_server
# Access at http://localhost:3000
# โ Need a different port or storage location? See the
# "Configuration & Usage" section below for all flags.
Troubleshooting Homebrew Cache Issues:
# If you get "already installed" with old version or SHA256 mismatch:
brew update # Refresh formula from tap
brew reinstall kurpod # Force reinstall latest version
# If that doesn't work, clear cache:
brew cleanup -s # Clear all caches
brew uninstall kurpod # Remove old version
brew install kurpod # Fresh install
Uninstall:
# Remove KURPOD
brew uninstall kurpod
# Remove tap (optional - removes the formula repository)
brew untap srv1n/kurpod
# Clean up any remaining dependencies
brew autoremove
Option 2: Docker (Cross-platform)
# Run latest version
docker run -p 3000:3000 -v ./data:/app/data ghcr.io/srv1n/kurpod-server:latest
# Open browser to http://localhost:3000
Cleanup:
# Stop and remove running container
docker stop $(docker ps -q --filter ancestor=ghcr.io/srv1n/kurpod)
docker rm $(docker ps -aq --filter ancestor=ghcr.io/srv1n/kurpod)
# Remove downloaded image
docker rmi ghcr.io/srv1n/kurpod-server:latest
# Remove all unused images, containers, and volumes (optional)
docker system prune -a --volumes
Option 3: Auto-Install Script
# Auto-install for Linux/macOS
curl -L https://github.com/srv1n/kurpod/releases/latest/download/install.sh | bash
# Then run
kurpod_server
Uninstall:
# Remove from user installation directory
rm -f ~/.local/bin/kurpod_server
# Or remove from system-wide installation
sudo rm -f /usr/local/bin/kurpod_server
# Clean up PATH entries in shell profile (if added manually)
# Edit ~/.bashrc or ~/.zshrc and remove the ~/.local/bin PATH export line
Option 4: Manual Download
Download the appropriate binary for your platform from the releases page.
Cleanup:
# Remove the binary from wherever you placed it
rm -f /path/to/kurpod_server
# If you moved it to a system directory
sudo rm -f /usr/local/bin/kurpod_server
# Remove any data files created (optional - this deletes your encrypted blobs!)
# rm -rf ./blobs/
# rm -f ./storage.blob
Option 5: Home Assistant Add-on (In Progress)
KURPOD can be installed as a Home Assistant add-on for easy integration into your smart home. Simply add the repo https://github.com/srv1n/kurpod
in Home Assistant and install the "Kurpod" add-on. (Runs on Raspberry Pi and other Home Assistant systems.)
Note: This integration is currently in development and will be available soon.
Supported Platforms
Desktop & Server
- Linux: x86_64, ARM64 (including Raspberry Pi with 64-bit OS) [Limited testing]
- macOS: Intel and Apple Silicon (M1/M2/M3) (Tested fully)
- Windows: x86_64 and ARM64 [Not tested, but should work]
Container
- Docker: Multi-architecture images (~4.8MB)
- Platforms: linux/amd64, linux/arm64
Detailed Installation Options
Docker Installation
Basic Usage
# Pull and run latest version
docker run -p 3000:3000 ghcr.io/srv1n/kurpod-server:latest
# With persistent storage
mkdir -p ./kurpod-data
docker run -p 3000:3000 -v ./kurpod-data:/app/data ghcr.io/srv1n/kurpod-server:latest
# Custom port and configuration
docker run -p 8080:8080 -v ./kurpod-data:/app/data ghcr.io/srv1n/kurpod-server:latest --port 8080
Docker Compose
# docker-compose.yml
version: '3.8'
services:
kurpod:
image: ghcr.io/srv1n/kurpod-server:latest
ports:
- "3000:3000"
volumes:
- ./data:/app/data
restart: unless-stopped
command: ["--port", "3000", "--blob", "/app/data/storage.blob"]
Available Tags
latest
- Latest stable releasev1.0.0
- Specific version tagsmain
- Development builds (not recommended for production)
Binary Installation
Linux / macOS (Install Script)
# Download auto-installer
curl -sSf https://github.com/srv1n/kurpod/releases/latest/download/install.sh | bash
# Or manual download and extract
wget https://github.com/srv1n/kurpod/releases/latest/download/kurpod-v1.0.0-linux-x86_64.tar.gz
tar -xzf kurpod-v1.0.0-linux-x86_64.tar.gz
chmod +x kurpod_server
./kurpod_server
Windows
- Download
kurpod-v*-windows-x86_64.zip
from releases - Extract the ZIP file
- Run
kurpod_server.exe
- Open browser to
http://localhost:3000
Build from Source
Prerequisites
- Rust 1.70+ (
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
) - Bun 1.0+ (
curl -fsSL https://bun.sh/install | bash
) - Git for cloning the repository
Build Steps
# Clone repository
git clone https://github.com/srv1n/kurpod.git
cd kurpod
# Build frontend and server
./build.sh
# Run development server
./run.sh
# Or run release build
cargo build --release -p kurpod_server
./target/release/kurpod_server
Configuration & Usage
Running it
Once installed:
- Run
kurpod_server
(orkurpod_server.exe
on Windows) - Open http://localhost:3000 in your browser
- Create a volume and start using it
Default port is 3000. Change with --port 8080
if needed.
Command Line Options
# Basic usage (uses ./blobs directory)
kurpod_server
# Specify custom blob file
kurpod_server --blob /secure/path/storage.blob
# Custom port
kurpod_server --port 8080
# Custom data directory
kurpod_server --data-dir /opt/kurpod/data
# Bind to specific interface
kurpod_server --host 127.0.0.1 --port 3000
# Show all options
kurpod_server --help
Environment Variables
# Port configuration
export KURPOD_PORT=3000
# Data directory
export KURPOD_DATA_DIR=/opt/kurpod/data
# Log level (error, warn, info, debug, trace)
export RUST_LOG=kurpod_server=info,encryption_core=info
๐ Security Verification
Binary Verification
All release binaries are signed and include SHA256 checksums:
# Download checksums
wget https://github.com/srv1n/kurpod/releases/latest/download/SHA256SUMS
# Verify download
sha256sum -c SHA256SUMS
# GPG verification (Linux binaries)
gpg --verify kurpod_server.asc kurpod_server
Code Signing
- macOS: Binaries are signed with Apple Developer ID and notarized
- Linux: Binaries include detached GPG signatures
- Windows: Authenticode signing planned for v1.0
Troubleshooting
Can't connect?
- Check firewall (port 3000)
- Make sure nothing else is using that port
- Look at the terminal output for errors
Binary won't run?
- Linux/macOS:
chmod +x kurpod_server
- macOS: Allow in Security preferences
- Windows: Allow in Windows Defender
Homebrew issues?
- Make sure you have Homebrew installed:
brew --version
- Update Homebrew:
brew update
- Try reinstalling:
brew uninstall kurpod && brew install kurpod
Docker issues?
- Make sure Docker is running:
docker --version
- Check if port 3000 is already in use:
lsof -i :3000
- Try a different port:
docker run -p 8080:3000 -v ./data:/app/data ghcr.io/srv1n/kurpod-server:latest
Next steps
That's it. You're running Kurpod. Create a volume and start using it. Remember: this is beta software - don't trust it with anything you can't afford to lose.