Hub.ai logo

Hub.ai

Introduction

Welcome to Hub.ai! Our platform is designed to provide developers with a powerful yet straightforward way to create, manage, and interact with Virtual Machines (VMs) and Linux Containers (LXC). Whether you're looking to quickly spin up an environment for development, testing, hosting personal projects, or exploring new technologies, Hub.ai offers the flexibility and control you need.

You can create standalone resources, choosing your preferred operating system and resource allocation, and access them directly via our integrated web terminal. Hub.ai also allows you to easily manage web hosting for your applications through our "Sites" feature, enabling you to configure reverse proxies and custom domains.

Core Concepts

Understanding these fundamental concepts will help you make the most of Hub.ai.

Resources (Containers & VMs)

Hub.ai allows you to run your applications and workloads in two types of isolated environments: Virtual Machines (VMs) and Containers (LXC).

A Virtual Machine (VM) emulates a physical computer, running its own complete operating system (e.g., Linux variants like Ubuntu, Debian, including desktop versions) and having dedicated virtualized hardware resources (CPU, RAM, Disk). VMs offer strong isolation.

A Container (LXC - Linux Container) is a lighter-weight virtualization method sharing the host system's Linux kernel. Containers provide isolated user-space environments, making them faster to start and more resource-efficient for many use cases.

You create resources directly, choosing their type, OS, and resources. Each resource provides an isolated environment for your work, which can then be exposed to the web via the "Sites" feature.

Sites (Web Hosting & Reverse Proxies)

A Site on Hub.ai represents a web hosting configuration that makes your application, running on a Resource (VM or Container), accessible via the internet. This typically involves setting up a reverse proxy that directs traffic from a public domain (or a Hub.ai subdomain) to a specific port on your resource.

Through the "Sites" feature, you can manage domain names, configure SSL certificates (often automated), and define how incoming web traffic is routed to your running applications.

Getting Started

Sign In / Sign Up

To begin using Hub.ai, you need an account. Navigate to the Sign In / Sign Up page. You can create an account or sign in using your existing GitHub or Google account.

Platform Navigation

Once logged in, the main navigation header provides access to key sections:

  • Home: The main landing page with an overview of Hub.ai services.
  • Resources: Create, view, and manage your Containers and VMs.
  • Sites: Manage your web hosting configurations and reverse proxies.
  • Docs: (You are here) Access this documentation.
  • Account: Manage your profile, preferences, and billing.

Managing Resources (Containers & VMs)

Resources (Containers and VMs) are the core compute environments. The Resources page is your central place to view and manage them.

Resource Types & Specifications

Hub.ai offers various resource sizes for Containers and VMs. The table below provides an illustrative overview. Actual costs are dynamically calculated on the creation pages and are subject to change. Containers generally offer better resource efficiency.

Resource Size vCPUs RAM Disk VM Credits / Hour (Illustrative) Container Credits / Hour (Illustrative) Description
Micro11 GB10 GB~0.0125~0.0063 Very small static sites, simple APIs, minimal tasks.
Small24 GB25 GB~0.05~0.025 Small web apps, blogs, dev/staging.
Medium48 GB50 GB~0.1125~0.0563 Moderate-traffic web apps, APIs.
Large816 GB100 GB~0.25~0.125 High-traffic apps, complex computations.
X-Large1632 GB200 GB~0.56~0.28 Demanding apps, databases. GPU option for VMs (feature coming soon, requires ≥24GB RAM).
XX-Large1664 GB400 GB~1.27~0.635 High-performance needs. GPU option for VMs (feature coming soon, requires ≥24GB RAM).
  • vCPU (Virtual Central Processing Unit): Processing power.
  • RAM (Random Access Memory): Working memory.
  • Disk: Persistent storage.
  • Credits / Hour: Estimated cost, billed per minute of active runtime. Container costs are typically lower than VMs for similar raw specs. See Billing & Credits.
  • GPU Note: The option to add a GPU (e.g., RTX 4090) to VMs is a feature planned for future availability and is currently disabled in the creation forms. When available, it will require sufficient RAM (e.g., 24GB+) and will incur additional costs.

Choosing the Right Resource Type

  • VM vs. Container: Containers for efficiency and speed if full OS isolation isn't critical. VMs for maximum isolation or specific kernel needs.
  • Start Small: Begin with smaller resources and scale as needed.
  • Resource Needs: Consider memory for data/users, CPU for computation, and disk for storage.
  • Cost: Balance performance with your budget.

Resource Management Actions (Start/Stop/Delete/Terminal)

From the Resources list or individual resource detail pages, you can:

  • Start: Powers on a stopped resource, resuming credit consumption and making it accessible.
  • Stop: Powers off a running resource, stopping credit consumption for runtime. Disk storage persists.
  • Restart: Power-cycles a running resource.
  • Delete: Permanently removes the resource and all associated data. This action is irreversible and requires confirmation.
  • Launch Terminal: Access the resource's command line directly through our secure Web Terminal.
  • Launch AI Assistant: Open the Hub Chat for AI-powered assistance related to your resource.

Viewing Resource Details

Clicking "Manage" for a resource shows its details page:

  • ID, Name, Status, Type (Container/VM), OS, Region (for VMs).
  • IP Address(es), MAC Address (for VMs).
  • Resource Allocation (CPU, Memory, Storage).
  • Creation Date.
  • SSH Credentials (for VMs, displayed on the detail page for use with the Web Terminal).
  • Estimated hourly pricing for the current configuration.
  • (Future) Links to associated deployments (if applicable), detailed monitoring metrics, network settings.

Creating Standalone Resources

You can create standalone Containers or VMs directly from the Resources page by clicking "Create Container" or "Create Virtual Machine". This allows you to:

  1. Provide a name for your resource.
  2. Select an Operating System (e.g., Ubuntu, Debian, including desktop variants for VMs).
  3. Configure resources (vCPUs, RAM, Storage) using interactive sliders.
  4. View real-time cost estimations as you configure.
  5. Launch the resource. For VMs, a progress display will show creation steps.

Once created, you can access your resource via the Web Terminal for manual setup and configuration.

Managing Sites

The "Sites" feature in Hub.ai allows you to make your applications running on Resources (VMs or Containers) accessible on the internet. This typically involves configuring a reverse proxy to route traffic from a domain name to your resource.

Overview

Navigate to the Sites page to view and manage your site configurations. Each site configuration links a domain (either a Hub.ai subdomain or your custom domain) to a specific port on one of your running resources.

Creating a New Site

  1. Go to the Sites page and click "Create New Site" (or similar button).
  2. Domain Configuration:
    • Choose to use a Hub.ai provided subdomain (e.g., your-site.hub.ai-app.com).
    • Or, specify your own custom domain (e.g., www.yourdomain.com). You will need to configure DNS records (like A or CNAME records) with your domain registrar to point to Hub.ai's infrastructure. Instructions are typically provided.
  3. Target Resource & Port:
    • Select the Resource (VM or Container) that is running your application.
    • Specify the port on that resource where your application is listening (e.g., port 80, 3000, 8080).
  4. SSL/TLS: SSL certificates are often automatically provisioned and renewed by Hub.ai for your sites, providing HTTPS.
  5. Confirm and create the site. It may take a few moments for the configuration to propagate.

Configuring an Existing Site

From the Sites list, you can typically manage existing sites:

  • View Details: See the current configuration (domain, target resource/port).
  • Edit Configuration: Modify the target resource, port, or potentially other proxy settings.
  • Manage Custom Domain: Update DNS instructions or verify domain ownership.
  • Enable/Disable: Temporarily activate or deactivate the site's routing.
  • Delete Site: Remove the site configuration. This does not delete your resource, only the web routing to it.

Custom Domains

When using a custom domain:

  • You are responsible for purchasing and managing the domain name through a domain registrar.
  • Hub.ai will provide you with the necessary DNS record values (e.g., an IP address for an A record, or a hostname for a CNAME record) that you must configure in your domain registrar's DNS settings.
  • DNS propagation can take some time (minutes to hours) after you update your records.

The Sites feature simplifies exposing your backend services or web applications to the public internet securely and with ease.

Interactive Tools

Hub.ai provides powerful interactive tools to help you manage and get assistance with your resources directly through your web browser.

Web Terminal

The Web Terminal gives you direct command-line access to your running Resources (both VMs and Containers). This is invaluable for manual configuration, software installation, troubleshooting, and running specific commands within your resource's environment.

Accessing the Web Terminal

You can launch the Web Terminal for a specific resource:

  • From the Resources list page, by clicking the "Terminal" action button for the desired resource.
  • From an individual resource's detail page, by clicking the "Launch Terminal" button.
Features
  • Full Shell Access: Provides a fully functional terminal interface powered by xterm.js, connected via a secure WebSocket.
  • Resource Context: When launched, the terminal is automatically connected to the selected resource. The terminal interface often displays the name or ID of the connected resource.
  • VM Credentials: For Virtual Machines, if SSH password authentication is configured by Hub.ai, the necessary username and password may be displayed or automatically used by the terminal session for quick access.
  • Real-time Interaction: Execute commands and view output in real-time, just as you would with a local terminal or SSH client.
Use Cases
  • Installing or updating software packages.
  • Editing configuration files.
  • Viewing application logs directly on the resource.
  • Running diagnostic commands.
  • Performing ad-hoc administrative tasks.

AI Chat Assistant (Hubert)

Hubert, the Hub.ai Chat Assistant, is an advanced LLM-powered Linux administration tool designed to help you efficiently configure and manage your Virtual Machines (VMs) and Containers. Think of Hubert as an expert AI system administrator available directly within your resource's context.

Accessing the AI Chat Assistant
  • You can launch Hubert from an individual resource's detail page by clicking the "AI Assistant" or "Chat" button. This provides Hubert with the necessary context about the specific resource you are working with (like its OS and type), enabling it to perform targeted administrative tasks and provide relevant assistance. The chat is exclusively available within the context of a specific resource.
Key Capabilities
  • Goal-Oriented Configuration: Tell Hubert what you want to achieve (e.g., "set up a web server," "install a database," "check disk usage"), and it will work to accomplish that goal on your resource.
  • Direct Command & Script Execution: Hubert can run commands and execute scripts directly on your Linux resource to perform tasks.
  • Interactive Diagnostics: Ask Hubert to check system status, diagnose problems, or retrieve specific information from your resource (e.g., "Is Nginx running?", "What's my current CPU usage?", "Show me the last 10 lines of the system log").
  • Command & Scripting Assistance: If you're unsure how to perform a task, Hubert can help you formulate the necessary Linux commands or even generate small scripts to automate operations.
  • Software Management: Instruct Hubert to install, update, or remove software packages.
  • Service Management: Ask Hubert to start, stop, restart, or check the status of services on your resource.
  • File System Operations: Request Hubert to create directories, list files, check permissions, etc. (Use with caution for write operations).
  • Multi-Step Operations: Hubert can handle sequences of tasks, like "Install a web server, then configure it to serve files from /var/www/html."
  • Context-Aware: Hubert utilizes information about your resource's OS and type to tailor its actions and commands.
  • Clear Communication: Hubert translates technical outcomes into human-readable status updates and can present tabular data (like process lists or resource usage) in a clear Markdown table format.
Example Interactions
  • "Install Nginx on this VM."
  • "What's the status of the `my-app.service`? If it's not running, please try to start it."
  • "Show me the current disk space usage, sorted by size."
  • "Help me write a bash script to find all `.log` files in `/var/log` modified in the last 24 hours."
  • "Configure the firewall to allow traffic on port 8080."
  • "What version of Python is installed? If it's not Python 3.9 or higher, please install the latest Python 3."

Hubert aims to simplify Linux administration by allowing you to manage your resources using natural language instructions, backed by intelligent command execution and analysis.

Account Management

The Account page provides several tabs for managing your profile and settings.

Profile Information

Update your display name. Your email address is linked to your sign-in provider (Google/GitHub) and is displayed for informational purposes.

Sign-In Method

This section displays the Google or GitHub account currently linked for signing into Hub.ai.

Preferences

  • Theme: Choose between Dark (default) and Light UI themes.
  • Notifications: Enable or disable email notifications for important account and billing events.

Security (Sign Out, Delete Account)

  • Sign Out: Securely sign out of your Hub.ai session on the current device.
  • Delete Account: Permanently delete your Hub.ai account and all associated data. This action is irreversible and requires confirmation by typing 'DELETE'.

Billing & Credits

Hub.ai operates on a flexible, pay-as-you-go credit system, managed via the Billing tab on your Account page.

The Credit System

  • 1 Credit is equivalent to $1.00 USD (this rate is subject to change).
  • Purchase credits upfront to fund your usage.
  • Running Container and VM resources consume credits based on their type, size (CPU, RAM, Disk), and active runtime duration. Billing is calculated per minute.
  • Stopping a resource immediately halts credit consumption for its runtime. Disk storage costs are currently included with active runtime.
  • Your current credit balance is clearly displayed on the Account page.

Topping Up Credits

  • Add credits by selecting a predefined package (e.g., 10, 25, 50, 100 credits) or entering a custom amount (minimum 10 credits).
  • Complete your purchase securely via Stripe.
  • Credits are added to your balance upon successful payment.

Monitoring Usage

  • The Billing tab on your Account page provides "Top-up History" and "Usage History" tables.
  • These tables detail credit purchases, adjustments, and deductions for resource runtime, helping you track your spending.

Billing History

The "Top-up History" and "Usage History" tables provide a chronological log of all transactions affecting your credit balance, including timestamps, descriptions, amounts (for purchases), credit changes, and the resulting balance after each transaction.

Troubleshooting & FAQ

  • My standalone resource isn't working as expected after creation.

    Access your resource via the Web Terminal from the Resources page. Check system logs (e.g., dmesg, journalctl, application-specific logs) for errors. Ensure your manual configuration and software installations were successful.

  • My Site isn't loading or shows an error.

    First, ensure your target Resource (VM/Container) is running and your application is listening on the correct port specified in your Site configuration. Check the resource's logs via the Web Terminal. Verify your domain's DNS settings are correctly pointing to Hub.ai if using a custom domain. Check the Sites page for any status messages related to your site configuration.

  • Why did my resource stop?

    It might have been stopped manually. Also, check your credit balance on the Account page; resources may be stopped if credits run out (this behavior will be clearly communicated if implemented).

  • How do I connect to my resource?

    Shell access to your resources (both VMs and Containers) is provided exclusively through our secure Web Terminal, accessible from the Resources page. For VMs, SSH credentials (username/password) generated by Hub.ai are displayed on the VM's detail page and can be used with the Web Terminal. Traditional direct SSH key-based access from your local machine is not the primary method of interaction.