Skip to content

Unified Dashboard for Self-Hosted Applications - Web desktop environment for managing K3S apps with SSO

License

Notifications You must be signed in to change notification settings

UniDash-Linux/UniDash

UniDash

CI Python CI Web Documentation License: LGPL v2.1

UniDash is a self-hosted web desktop platform that provides a unified interface for managing and accessing multiple web applications through a single authentication system.

UI Mockups

Note: These are design mockups representing the planned interface, not the final implementation.

Desktop Interface

Light Mode Dark Mode
Desktop Light Desktop Dark

Tiling Window Management

2 Columns 4 Quadrants
Tiling 2 Columns Tiling Quad

App Store

Light Mode Dark Mode
Store Light Store Dark

Mobile Interface

App View Desktop View
Mobile App Mobile Desktop

Installation Wizard

Installation Wizard

Documentation

Full documentation is available at: UniDash Documentation

Quick Start

Prerequisites

  • Python 3.13+
  • Node.js 20+
  • Docker (for development containers)

Development Setup

# Clone the repository
git clone https://github.com/UniDash-Linux/UniDash.git
cd UniDash

# Install Python dependencies
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -e "api/shared[dev]" -e "api/db[dev]" -e "api/sso[dev]" \
            -e "api/unidash[dev]" -e "api/admin[dev]" -e "api/backup[dev]"

# Install frontend dependencies
cd web && npm install && cd ..

# Install documentation dependencies
cd docs && npm install && cd ..

# Run tests
pytest api/ --cov --cov-fail-under=100
cd web && npm run test:coverage

For detailed setup instructions, see the Development Guide.

Features

  • Web Desktop: Browser-based desktop with windows, docks, and tiling
  • Single Sign-On: Unified authentication (OIDC, LDAP, Proxy Auth)
  • App Store: One-click installation of self-hosted applications
  • K3S Cluster: High-availability Kubernetes deployment
  • VPN Access: Secure L2TP/IPsec connectivity

Project Structure

UniDash/
├── api/                    # Backend Python packages (FastAPI)
│   ├── shared/             # Shared utilities (unidash_shared)
│   ├── db/                 # Database access (unidash_db)
│   ├── sso/                # Authentication (unidash_sso)
│   ├── unidash/            # Main API (unidash_api)
│   ├── admin/              # Admin API (unidash_admin)
│   └── backup/             # Backup API (unidash_backup)
├── web/                    # Frontend (Astro + React + Tailwind)
├── docs/                   # Documentation (Starlight)
├── infra/                  # Infrastructure (Ansible, K8S)
└── .github/                # GitHub Actions workflows

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Before contributing, please read our Code of Conduct.

License

This project is licensed under the GNU Lesser General Public License v2.1 - see the LICENSE file for details.

Security

For security concerns, please see our Security Policy.

About

Unified Dashboard for Self-Hosted Applications - Web desktop environment for managing K3S apps with SSO

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •