Skip to content

About

A lightweight, self-hosted file manager built for simplicity, speed, and easy deployment on small VPS servers.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

AlphaDrive

GitHub Repository Contribute with Razorpay License: MIT

A modern, fast, lightweight, and self-hosted cloud drive built specifically for Linux VPS servers and standalone deployments.


Overview

AlphaDrive provides an elegant web interface and public sharing platform for personal and team file management. It is designed to run efficiently on low-resource VPS hardware (e.g. 512 MB – 1 GB RAM) without requiring heavy container engines, Node.js runtimes, or external database servers.

Key Highlights

  • Single Compiled Binary: Entire backend and web assets (HTML/CSS/JS/SVGs) are embedded directly into a single static executable.
  • Minimal Footprint: Written in pure Go with standard net/http and pure-Go SQLite (modernc.org/sqlite).
  • Unlimited Storage & Uploads: Zero artificial file size limits or storage caps. Your drive capacity is bounded purely by the physical storage available on your VPS disk.
  • Instant Owner Onboarding: Zero-CLI setup; first browser visit automatically presents the Owner Setup screen to create your administrator account.
  • In-App Account & User Management: Easily update your username, change password, or provision new team members straight from the header settings dialog.
  • Physical Disk Telemetry: Live VPS disk detection reporting real total, used, and free filesystem space.
  • Public Sharing Engine: Secure custom or auto-generated link slugs ([a-z0-9-]), optional Argon2id password protection, configurable link expiry, instant revocation, and streaming multi-file ZIP downloads.
  • Multi-Format Previews: In-browser preview for images, video streaming, audio player, PDF viewer, and code/text viewer.
  • Complete File Lifecycle: Folder hierarchy, drag-and-drop uploads, instant download, trash, restore, and permanent deletion.
  • Native Operations & Tooling: Built-in CLI commands for server operation, user management, password resets, system diagnostics (doctor), and hot online backups (backup).

Architecture

AlphaDrive adheres to a minimal, high-efficiency topology:

Internet
   │
   ▼
Caddy or Nginx (Reverse Proxy + TLS)
   │
   ▼
AlphaDrive Daemon (127.0.0.1:8080)
   │
   ├── SQLite (WAL mode, embedded migrations)
   └── Local Filesystem (/var/lib/alphadrive/data/files/objects)
  • Backend: Go 1.22+ (net/http)
  • Database: Embedded SQLite with WAL mode, foreign keys, and transactional migrations
  • Frontend: Vanilla JavaScript (ES modules) and native responsive CSS
  • Storage: Local filesystem with content-addressed storage keys

Quick Start (Linux VPS)

One-Line Install (Recommended)

Run this single command on any fresh Ubuntu/Debian/Rocky/RHEL/Arch VPS (amd64 / arm64):

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/AlphaTechiess/alphadrive/main/install.sh)"

The installer automatically:

  1. Detects OS and CPU architecture (amd64 / arm64).
  2. Downloads and cryptographically verifies (SHA256) the official release binary.
  3. Provisions a least-privilege alphadrive system user and sandboxed directory hierarchy.
  4. Offers VPS IP + Port (no domain or reverse proxy needed), Custom Domain + HTTPS (with automated Caddy, Nginx, or Traefik), or Local / LAN mode.
  5. Installs and starts a hardened systemd service with healthcheck verification.
  6. Installs maintenance helpers: alphadrive-update (with pre-upgrade hot backup) and alphadrive-uninstall.

Note: A custom domain is completely optional. AlphaDrive runs standalone on your VPS IP without requiring Docker, Node.js, or external database engines.

For detailed installer flag documentation, proxy guides, and headless provisioning, see the AlphaDrive GitHub Wiki.

Automated / Headless Install Options

# Non-interactive IP:Port setup (No domain required)
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/AlphaTechiess/alphadrive/main/install.sh)" -- --non-interactive --port 8080

# Non-interactive custom domain + automatic HTTPS with Caddy
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/AlphaTechiess/alphadrive/main/install.sh)" -- --non-interactive --domain drive.example.com --proxy caddy

# Install a specific release version
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/AlphaTechiess/alphadrive/main/install.sh)" -- --non-interactive --version 1.1

Manual Build & Run

If you prefer building from source:

# Clone repository
git clone https://github.com/AlphaTechiess/alphadrive.git
cd alphadrive

# Build binary
go build -ldflags "-s -w" -o alphadrive ./cmd/alphadrive

# Start AlphaDrive
./alphadrive serve

Complete Setup in Browser

Open http://<your-vps-ip>:8080 (or https://your-domain.com) in your browser. AlphaDrive will automatically display the Owner Setup screen to create your admin account:

  • Enter your Name, Username, and Password (minimum 12 characters).
  • Click Create Owner Account — you are immediately logged in and ready to manage files!

In-App Account Settings

Click the Account Icon in the top-right corner to manage your profile anytime:

  • Username Tab: Update your active login username.
  • Password Tab: Securely change your account password (verifies current password).
  • Add User Tab (Admin only): Easily invite or provision new users directly from the web interface without using the command line.

CLI Reference

AlphaDrive also includes complete operations tooling in the single binary for headless or scriptable workflows:

# Start server
alphadrive serve [--config /path/to/config.json]

# Create a new user via CLI (optional alternative to web UI)
ALPHADRIVE_PASSWORD="YourPassword123" alphadrive create-user --username <name> [--admin=true]

# Reset an existing user's password and revoke active sessions
ALPHADRIVE_PASSWORD="NewPassword123" alphadrive reset-password --username <name>

# Create a hot, atomic backup of database and file storage (no sqlite3 CLI needed)
alphadrive backup --output /var/backups/alphadrive-$(date +%Y%m%d).tar.gz

# Run deep database and storage integrity diagnostics
alphadrive doctor

# Print release and build metadata
alphadrive version

Documentation & Guides

Comprehensive guides and operational runbooks are maintained on the AlphaDrive GitHub Wiki:


Support & Contribution

If you love using AlphaDrive and want to support ongoing development and maintenance, you can contribute here:

Contribute with Razorpay


License

See LICENSE for licensing details.

About

A lightweight, self-hosted file manager built for simplicity, speed, and easy deployment on small VPS servers.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Contributors

Languages