← Open Source
lablup

backend.ai

Backend.AI is a streamlined, container-based computing cluster platform that hosts popular computing/ML frameworks and diverse programming languages, with pluggable heterogeneous accelerator support including CUDA GPU, ROCm GPU, Gaudi NPU, Google TPU, GraphCore IPU and other NPUs.

InfrastructureDeploy & ServeOrchestrationPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
675
Stars
185
Forks
+2
This week
92
Contributors
Created 2016-10-06 · Updated 2026-10-16 · #15154 today
Top developers

lablup/backend.ai is ranked 15,154 with 675 stars.

Same-category comparison

lablup/backend.ai is ranked 15,154 among these 8 peers; loysger/Antigravity is ranked 15,155.

Same-category comparison
NameRankMetrics
pplonski/keras2cpp15,096
Language:
C++
Stars:
680
Forks:
150
Description:
This is a bunch of code to port Keras neural network model into pure C++.
open-tinker/OpenTinker15,118
Language:
Python
Stars:
678
Forks:
67
Description:
OpenTinker is an RL-as-a-Service infrastructure for foundation models.
BorisPolonsky/dify-helm15,145
Language:
Go Template
Stars:
675
Forks:
189
Description:
Deploy langgenious/dify, an LLM based app on kubernetes with helm chart.
invertase/docs.page15,152
Language:
TypeScript
Stars:
675
Forks:
104
Description:
Instantly serve markdown from any GitHub branch as modern, agent-ready docs, with AI chat, MCP, and llms.txt.
loysger/Antigravity15,155
Language:
TypeScript
Stars:
675
Forks:
3
Description:
Google Antigravity в России: запуск БЕЗ VPN на Windows, macOS и Linux. Обход ошибки 400 и блокировки аккаунта. Доступ к Claude 4.6 и Gemini 3.8 Flash High.
probabl-ai/skore15,177
Language:
Python
Stars:
674
Forks:
140
Description:
Track your Data Science. Skore's open-source Python library accelerates ML model development with automated evaluation reports, smart methodological guidance, and comprehensive cross-validation analysis.
koursaros-ai/nboost15,212
Language:
Python
Stars:
671
Forks:
67
Description:
NBoost is a scalable, search-api-boosting platform for deploying transformer models to improve the relevance of search results on different platforms (i.e. Elasticsearch).
zeroc00I/DontFeedTheAI15,294
Language:
Python
Stars:
665
Forks:
78
Description:
Transparent anonymization proxy for AI-assisted pentesting. Strips IPs, credentials, hostnames and PII before they reach any LLM (Claude, OpenAI, OpenRouter). Local Ollama + regex detection. Per-engagement vault.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryInfrastructure
SubcategoryDeploy & Serve, Orchestration
KeywordsContainers, Distributed, Inference optimization, LocalAI
Stars675
Forks185
Contributors92
Created date2016-10-06
Updated date2026-10-16
Stars in 1 day0
Stars in 7 days2
Rank15,154
Previous rank6,639
Rank change-8,515
7-day stars rank8,638
Previous 7-day stars rank8,701
7-day stars rank change63
Total stars rank15,302
Previous total stars rank15,263
Total stars rank change-39
CountrySouth Korea
README summary

AI is a streamlined, container-based computing cluster platform that hosts popular computing/ML frameworks and diverse programming languages, with pluggable heterogeneous accelerator support including CUDA GPU, ROCm GPU, Rebellions, FuriosaAI, HyperAccel, Intel Gaudi, Tenstorrent, Google TPU, Graphcore IPU and other NPUs. It allocates and isolates the underlying computing resources for multi-tenant computation sessions on-demand or in batches with customizable job schedulers with its own orchestrator named "Sokovan". All its functions are exposed as REST and GraphQL APIs

. 10+ | The nvidia runtime registered with the daemon ( ) | | Podman | 5. 0+ | A CDI spec for the accelerator under or ( for NVIDIA GPUs) | **Distributions packaging Podman 5. under EUS, may ship older Podman; check the version the OS repo offers) | | Rocky Linux | 9. 1, both below the floor; use Docker there. **Required**: Docker Compose v2 PostgreSQL 16+ (tested with 16. 0) **Recommended** (for observability): Grafana 11. Clone and Install This script will: Check required dependencies (Docker, Python, etc. AI Services Start

each component in separate terminals: **Manager** (Terminal 1): **Agent** (Terminal 2): **Storage Proxy** (Terminal 3): **Web Server** (Terminal 4): **Account Manager** (Terminal 5, optional for SSO and unified user profile): **App Proxy** (Terminal 6-7, optional for in-container service access): 3. Run Your First Session Set up client environment: Run a simple Python session: Or access Web UI at ** with credentials from files. Accessing Compute Sessions (aka Kernels) Backend. AI provides websocket tunneling into individual computation sessions (containers), so

that users can use their browsers and client CLI to access in-container applications directly in a secure way. Jupyter: data scientists' favorite tool Most container images have intrinsic Jupyter and JupyterLab support. Web-based terminal All container sessions have intrinsic ttyd support. SSH All container sessions have intrinsic SSH/SFTP/SCP support with auto-generated per-user SSH keypair. VSCode Most container sessions have intrinsic web-based VSCode support. AI provides an abstraction layer on top of existing network

-based storages (e. , NFS/SMB), called vfolders (virtual folders). Each vfolder works like a cloud storage that can be mounted into any computation sessions and shared between users and user groups with differentiated privileges. Installation for Multi-node Tests & Production Please consult our documentation for community-supported materials. com) for professional paid support and deployment options. Directory Structure : Source codes : Manager as the cluster control-plane : Manager API handlers : Unified user profile and SSO management : Agent as per-node controller

: Agent's Docker backend : Agent's Kubernetes backend : Agent's dummy backend : Agent's kernel runner counterpart : Agent's in-kernel prebuilt binaries : Agent's in-kernel helper package : Shared utilities : Client SDK : Unified CLI for all components : SCIE-based TUI installer : Storage proxy for offloading storage operations : Storage proxy's manager-facing and client-facing APIs : App proxy for accessing container apps from outside : App proxy coordinator who provisions routing circuits : App proxy worker who forwards the traffic : Web UI server : Logging subsystem : Plugin subsystem : Integration

test suite : Shared utilities used by unit tests : Legacy meta package : Intrinsic accelerator plugins : Unified documentation - , , . : Per-component sample configurations

Frequently asked questions

How many stars and forks are recorded?

lablup/backend.ai has 675 stars and 185 forks.

What is the repository rank?

lablup/backend.ai is ranked 15,154.

What language and category are recorded?

lablup/backend.ai has 675 stars, uses Python and belongs to Infrastructure.

Which repository is closest in rank?

lablup/backend.ai is compared with loysger/Antigravity, ranked 15,155 with 675 stars.

README

Backend.AI

Backend.AI is a streamlined, container-based computing cluster platform that hosts popular computing/ML frameworks and diverse programming languages, with pluggable heterogeneous accelerator support including CUDA GPU, ROCm GPU, Rebellions, FuriosaAI, HyperAccel, Intel Gaudi, Tenstorrent, Google TPU, Graphcore IPU and other NPUs.

It allocates and isolates the underlying computing resources for multi-tenant computation sessions on-demand or in batches with customizable job schedulers with its own orchestrator named "Sokovan".

All its functions are exposed as REST and GraphQL APIs.

Requirements

Python & Build Tools

Infrastructure

Container engine (one of):

Engine Supported Accelerator requirements
Docker 20.10+ The nvidia runtime registered with the daemon (nvidia-ctk runtime configure --runtime=docker)
Podman 5.4.0+ A CDI spec for the accelerator under /etc/cdi or /var/run/cdi (nvidia-ctk cdi generate for NVIDIA GPUs)

Distributions packaging Podman 5.4.0+:

OS Minimum version Packaged Podman
RHEL 9.x 5.4.0+ (older minors, e.g. under EUS, may ship older Podman; check the version the OS repo offers)
Rocky Linux 9.6 5.4.0
AlmaLinux 9.6 5.4.0
Oracle Linux 9.6 5.4.0
CentOS Stream 9 5.8.5
Ubuntu 26.04 LTS 5.7.0
Debian 13 5.4.2
  • Ubuntu 24.04 LTS packages Podman 4.9.3 and Debian 12 packages 4.3.1, both below the floor; use Docker there.

Required:

  • Docker Compose v2
  • PostgreSQL 16+ (tested with 16.3)
  • Valkey 9.1+ (tested with 9.1.0; Redis-compatible)
  • etcd 3.5+ (tested with 3.5.14)
  • Prometheus 3.x (tested with 3.1.0)

Recommended (for observability):

  • Grafana 11.x (tested with 11.4.0)
  • Loki 3.x (tested with 3.5.0)
  • Tempo 2.x (tested with 2.7.2)
  • OpenTelemetry Collector

→ Detailed infrastructure setup: Infrastructure Documentation

System

  • OS: Linux (Debian/RHEL-based) or macOS
  • Permissions: sudo access for installation
  • Resources: 4+ CPU cores, 8GB+ RAM recommended for development

Getting Started

Quick Start (Development)

1. Clone and Install

git clone https://github.com/lablup/backend.ai.git
cd backend.ai
./scripts/install-dev.sh

This script will:

  • Check required dependencies (Docker, Python, etc.)
  • Set up Python virtual environment with Pantsbuild
  • Start halfstack infrastructure (PostgreSQL, Valkey, etcd, Apollo Router) — only required services by default; observability and object storage are opt-in via Compose profiles (--profile observability, --profile storage)
  • Initialize database schemas
  • Create default API keypairs and user accounts

2. Start Backend.AI Services

Start each component in separate terminals:

Manager (Terminal 1):

./backend.ai mgr start-server --debug

Agent (Terminal 2):

./backend.ai ag start-server --debug

Storage Proxy (Terminal 3):

./backend.ai storage start-server --debug

Web Server (Terminal 4):

./backend.ai web start-server --debug

Account Manager (Terminal 5, optional for SSO and unified user profile):

./backend.ai am start-server --debug

App Proxy (Terminal 6-7, optional for in-container service access):

./backend.ai app-proxy-coordinator start-server --debug
./backend.ai app-proxy-worker start-server --debug

3. Run Your First Session

Set up client environment:

source env-local-user-session.sh
# This script prints your default User ID and Password;
./backend.ai login
# When prompted, enter the User ID and Password shown above.

Run a simple Python session:

./backend.ai run python -c "print('Hello Backend.AI!')"

Or access Web UI at http://localhost:8090 with credentials from env-local-*.sh files.

Accessing Compute Sessions (aka Kernels)

Backend.AI provides websocket tunneling into individual computation sessions (containers), so that users can use their browsers and client CLI to access in-container applications directly in a secure way.

  • Jupyter: data scientists' favorite tool
    • Most container images have intrinsic Jupyter and JupyterLab support.
  • Web-based terminal
    • All container sessions have intrinsic ttyd support.
  • SSH
    • All container sessions have intrinsic SSH/SFTP/SCP support with auto-generated per-user SSH keypair. PyCharm and other IDEs can use on-demand sessions using SSH remote interpreters.
  • VSCode
    • Most container sessions have intrinsic web-based VSCode support.

Working with Storage

Backend.AI provides an abstraction layer on top of existing network-based storages (e.g., NFS/SMB), called vfolders (virtual folders). Each vfolder works like a cloud storage that can be mounted into any computation sessions and shared between users and user groups with differentiated privileges.

Installation for Multi-node Tests & Production

Please consult our documentation for community-supported materials. Contact the sales team (contact@lablup.com) for professional paid support and deployment options.

Architecture

For comprehensive system architecture, component interactions, and infrastructure details, see:

Component Architecture Documentation

This document covers:

  • System architecture diagrams and component flow
  • Port numbers and infrastructure setup
  • Component dependencies and communication protocols
  • Development and production environment configuration

Contents in This Repository

This repository contains all open-source server-side components and the client SDK for Python as a reference implementation of API clients.

Directory Structure

  • src/ai/backend/: Source codes
    • manager/: Manager as the cluster control-plane
    • manager/api: Manager API handlers
    • account_manager/: Unified user profile and SSO management
    • agent/: Agent as per-node controller
    • agent/docker/: Agent's Docker backend
    • agent/kubernetes/: Agent's Kubernetes backend
    • agent/dummy/: Agent's dummy backend
    • kernel/: Agent's kernel runner counterpart
    • runner/: Agent's in-kernel prebuilt binaries
    • helpers/: Agent's in-kernel helper package
    • common/: Shared utilities
    • client/: Client SDK
    • cli/: Unified CLI for all components
    • install/: SCIE-based TUI installer
    • storage/: Storage proxy for offloading storage operations
    • storage/api: Storage proxy's manager-facing and client-facing APIs
    • appproxy/: App proxy for accessing container apps from outside
    • appproxy/coordinator: App proxy coordinator who provisions routing circuits
    • appproxy/worker: App proxy worker who forwards the traffic
    • web/: Web UI server
    • logging/: Logging subsystem
    • plugin/: Plugin subsystem
    • test/: Integration test suite
    • testutils/: Shared utilities used by unit tests
    • meta/: Legacy meta package
    • accelerator/: Intrinsic accelerator plugins
  • docs/: Unified documentation
  • tests/
    • manager/, agent/, ...: Per-component unit tests
  • configs/
    • manager/, agent/, ...: Per-component sample configurations
  • docker/: Dockerfiles for auxiliary containers
  • fixtures/
    • manager/, ...: Per-component fixtures for development setup and tests
  • plugins/: A directory to place plugins such as accelerators, monitors, etc.
  • third-party-plugins/: Backend.AI plugins for third-party software (e.g. AppProxy Traefik Go plugin)
  • scripts/: Scripts to assist development workflows
    • install-dev.sh: The single-node development setup script from the working copy
  • stubs/: Type annotation stub packages written by us
  • tools/: A directory to host Pants-related tooling
  • dist/: A directory to put build artifacts (.whl files) and Pants-exported virtualenvs
  • changes/: News fragments for towncrier
  • pants.toml: The Pants configuration
  • pyproject.toml: Tooling configuration (towncrier, pytest, mypy)
  • BUILD: The root build config file
  • **/BUILD: Per-directory build config files
  • BUILD_ROOT: An indicator to mark the build root directory for Pants
  • AGENTS.md: The steering guide for agent-assisted development (CLAUDE.md is a symlink to it)
  • requirements.txt: The unified requirements file
  • *.lock, tools/*.lock: The dependency lock files
  • docker-compose.*.yml: Per-version recommended halfstack container configs
  • README.md: This file
  • MIGRATION.md: The migration guide for updating between major releases
  • VERSION: The unified version declaration

Server-side components are licensed under LGPLv3 to promote non-proprietary open innovation in the open-source community while other shared libraries and client SDKs are distributed under the MIT license.

There is no obligation to open your service/system codes if you just run the server-side components as-is (e.g., just run as daemons or import the components without modification in your codes). Please contact us (contact-at-lablup-com) for commercial consulting and more licensing details/options about individual use-cases.

Major Components

Backend.AI consists of the following core components:

Server-Side Components

Manager - Central API gateway and orchestrator

  • Routes REST/GraphQL requests and orchestrates cluster operations
  • Session scheduling via Sokovan orchestrator
  • User authentication and RBAC authorization
  • Plugin interfaces: backendai_scheduler_v10, backendai_agentselector_v10, backendai_hook_v20, backendai_webapp_v20, backendai_monitor_stats_v10, backendai_monitor_error_v10
  • Legacy repo: https://github.com/lablup/backend.ai-manager

Account Manager - Unified user profile and SSO daemon

  • Manages user accounts including Backend.AI's first-party service
  • Single sign-on across Backend.AI components

Agent - Kernel lifecycle management on compute nodes

  • Manages Docker containers (kernels) on individual nodes
  • Self-registers to cluster via heartbeats
  • Plugin interfaces: backendai_accelerator_v21, backendai_monitor_stats_v10, backendai_monitor_error_v10
  • Legacy repo: https://github.com/lablup/backend.ai-agent

Storage Proxy - Virtual folder and storage backend abstraction

Webserver - Web UI hosting and session management

Synchronizing the static Backend.AI WebUI version:

$ scripts/download-webui-release.sh 

App Proxy - Service routing and load balancing

  • Routes traffic to in-container services (Jupyter, VSCode, etc.)
  • Dynamic circuit provisioning and health monitoring

Container Runtime Components

Kernels - Container image recipes

  • Dockerfile-based computing environment recipes
  • Support for popular ML frameworks and programming languages

Jail - Programmable sandbox (Rust)

  • ptrace-based system call filtering
  • Resource control and security enforcement

Hook - In-container runtime library

  • libc overrides for resource control
  • Web-based interactive stdin support

Client SDK Libraries

We offer client SDKs in popular programming languages (MIT License):

  • Python - pip install backend.ai-client | GitHub | Includes CLI
  • Java - Releases
  • Javascript - npm install backend.ai-client | GitHub
  • PHP - (under preparation) composer require lablup/backend.ai-client | GitHub

Plugins

Backend.AI supports plugin-based extensibility via Python package entrypoints:

Accelerator Plugins (backendai_accelerator_v21)

  • CUDA - NVIDIA GPU support
  • Mock - Development without actual GPUs
  • ROCm - AMD GPU support
  • Furiosa - Furiosa NPU (Warboy / RNGD) support
  • Habana - Intel Gaudi HPU (Gaudi 2, Gaudi 3) support
  • Hyperaccel - Hyperaccel LPU support
  • IPU - Graphcore IPU support
  • Rebellions - Rebellions NPU (ATOM, ATOM+, ATOM Max) support
  • Tenstorrent - Tenstorrent NPU (Wormhole, Blackhole) support
  • TPU - Google TPU (v2 and newer generations) support

Monitoring Plugins

Legacy Components

Media Library - Multi-media output support (no longer maintained)

IDE Extensions - (Deprecated: Use in-kernel Jupyter Lab, VSCode Server, or SSH instead)

Development

Building Packages

Build Python wheels or SCIE (Self-Contained Installable Executables):

./scripts/build-wheels.sh  # Build .whl packages
./scripts/build-scies.sh   # Build SCIE packages

Packages are placed in dist/ directory.

Code Quality Hooks

Backend.AI uses Git pre-commit hooks to maintain code quality:

# Automatically runs on every commit:
# - Auto-formatting (pants fmt)
# - Linting (pants lint)

# Bypass hooks if needed (use sparingly)
git commit --no-verify

The pre-commit hook validates:

  • Code style and formatting

Type checking and tests run in CI for comprehensive coverage.

See AGENTS.md for detailed hook system documentation.

Development Guide

For detailed development setup, build system usage, and contribution guidelines:

CLI Tab Completion for Development

To enable shell tab completion for the Backend.AI CLI during development:

# For bash/zsh (from repository root) - MUST use 'source', not execute directly
source scripts/setup-dev-completion.sh

# For fish shell
source scripts/setup-dev-completion.fish

# Or create a permanent alias
# bash/zsh:
echo 'alias bai-dev="cd /path/to/backend.ai && source scripts/setup-dev-completion.sh"' >> ~/.zshrc
# fish:
echo 'alias bai-dev="cd /path/to/backend.ai; and source scripts/setup-dev-completion.fish"' >> ~/.config/fish/config.fish

This will enable tab completion for:

  • backend.ai - Show all commands
  • backend.ai session - Session management
  • backend.ai admin - Admin operations
  • backend.ai -- - Global options

Supports bash, zsh, and fish shells.

License

Refer to LICENSE file.

Nearby in the ranking
Similar items