Skip to content

MihaiStreames/ContaraNAS

Repository files navigation

Stars License Contributors Issues

ContaraNAS

Modular NAS Management Desktop Application

Monitor and manage your home NAS systems with a modern, extensible interface
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Module Development
  4. License

About The Project

ContaraNAS is a modular desktop application designed for monitoring and managing NAS systems at home.

(back to top)

Features

  • Steam Library Monitor - Track game installations and library sizes across your NAS
  • System Monitor - Real-time CPU, memory, and disk usage monitoring
  • Real-time Updates - WebSocket-based live data streaming for instant feedback
  • Extensible Design - Build custom modules using the developer API
  • Community Marketplace - Share and discover community-built modules (coming soon)

(back to top)

Built With

Frontend:

Backend:

Documentation:

(back to top)

Getting Started

Get ContaraNAS up and running on your local machine.

Prerequisites

Linux

  1. Python 3.13+

    Verify your version:

    python --version  # Should be 3.13 or higher

    If you need Python 3.13+, install via your package manager or python.org

  2. uv (Python package manager)

    Arch Linux:

    sudo pacman -S uv

    Debian/Ubuntu and other distributions:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. Node.js 18+ and pnpm

    Arch Linux:

    sudo pacman -S nodejs npm
    npm install -g pnpm

    Debian/Ubuntu:

    # Install Node.js 20.x
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    # Install pnpm
    npm install -g pnpm

    Other distributions (via package manager or nodejs.org):

    # After installing Node.js:
    npm install -g pnpm
  4. Rust (for Tauri)

    All distributions:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env  # Or restart your terminal

Windows

  1. Python 3.13+

    Download and install from python.org

  2. uv (Python package manager)

    PowerShell:

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  3. Node.js 18+ and pnpm

    Download Node.js from nodejs.org, then:

    npm install -g pnpm
  4. Rust (for Tauri)

    Download and install from rustup.rs

(back to top)

Installation

  1. Clone the repository

    git clone https://github.com/MihaiStreames/ContaraNAS.git
    cd ContaraNAS
  2. Set up the backend

    cd backend
    uv sync
  3. Set up the frontend

    cd frontend
    pnpm install
  4. Run the application

    In one terminal (backend):

    cd backend
    uv run -m ContaraNAS

    In another terminal (frontend):

    cd frontend
    pnpm tauri dev

(back to top)

Module Development

ContaraNAS features a powerful module system that allows you to extend functionality. Full documentation is available at contaranas.xyz.

(back to top)

License

Important

ContaraNAS is licensed under the GNU General Public License v3.0.

This means:

  • ✅ You can use, modify, and distribute this software
  • ✅ You can use it for commercial purposes
  • ⚠️ You must disclose the source code of any modifications
  • ⚠️ You must license derivative works under GPL-3.0
  • ⚠️ You must include copyright and license notices

See LICENSE for complete terms, or read the official GPL-3.0 documentation.

(back to top)


Made with ❤️

GitHub · Documentation · Issues

About

A native NAS managing application, made with Tauri and Python.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

  •  
  •  
  •