Built on hosted.ai | Next.js 16 | Prisma/MariaDB | Stripe
A full-featured GPU cloud platform dashboard powered by the hosted.ai GPU infrastructure API. Fork and deploy to run your own GPU-as-a-Service business.
curl -fsSL https://raw.githubusercontent.com/hosted-ai/packet-oss/main/install.sh | sudo bash
Installs to /opt/packet-oss with MariaDB, systemd, and Apache reverse proxy. Requires a fresh Linux server (Ubuntu/Debian).
This platform requires hosted.ai. All GPU pod deployment, orchestration, scaling, monitoring, and billing runs through the hosted.ai API. You need a hosted.ai account and API credentials for the platform to function. Visit hosted.ai to get access.
secure, so login breaks over plain HTTP. install.sh provisions this automatically via Let's Encrypt + Apache when you supply a domain.# 1. Clone and install
git clone https://github.com/hosted-ai/packet-oss.git && cd packet-oss
pnpm install
# 2. Create environment file
cp .env.example .env.local
# 3. Configure database URL in .env.local
# DATABASE_URL="mysql://gpucloud:password@localhost:3306/gpucloud"
# 4. Initialize the database
npx prisma db push
# 5. Start development server
pnpm dev
# 6. Set up your admin account
# Visit http://localhost:3000/admin
# Create your admin account with email + password
# Go to Platform Settings to configure your hosted.ai API keys
The app boots and runs with just DATABASE_URL configured. All other settings can be configured through the admin panel at Admin > Platform Settings.
Important: While the app starts without any API keys, GPU features (pod deployment, management, monitoring) require a hosted.ai API connection. Configure your hosted.ai credentials in Platform Settings after your first login.
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | MariaDB connection string |
NEXT_PUBLIC_APP_URL | No | Your app's public URL (default: http://localhost:3000) |
ADMIN_JWT_SECRET | No | Auto-generated if not set |
STRIPE_SECRET_KEY | No | Enables billing features |
HOSTEDAI_API_URL | Yes* | hosted.ai API URL (required for GPU features) |
HOSTEDAI_API_KEY | Yes* | hosted.ai API key (required for GPU features) |
SMTP_HOST | No | Enables email notifications (SMTP server) |
*hosted.ai credentials are required for GPU functionality but the app will boot without them. Configure via admin UI or .env file.
src/
app/ # Next.js App Router
(marketing)/ # Public marketing pages
account/ # Customer account
admin/ # Admin panel (SPA, tab routing via ?tab=)
api/ # API routes
admin/ # Admin API
cron/ # Scheduled jobs
webhooks/ # Stripe webhooks
dashboard/ # Customer GPU dashboard
terminal/ # Web SSH terminal
components/ # Shared React components
lib/ # Server-side business logic
auth/ # JWT auth (admin + customer)
email/ # Email templates
hostedai/ # GPU infrastructure client
settings.ts # Platform settings (DB-backed)
middleware.ts # POST request blocking
prisma/schema.prisma # Database schema
A command-line interface is included for managing GPU instances:
cd cli && npm install -g .
gpu-cloud login
gpu-cloud gpus
gpu-cloud launch --gpu h100 --setup vscode
gpu-cloud ps
gpu-cloud ssh <instance-id>
See cli/README.md for full documentation.
# Build for production
pnpm build
# Start with PM2
pm2 start ecosystem.config.cjs
# Or start directly
pnpm start
See install.sh for automated server setup with systemd and Apache.
sudo bash upgrade.sh # Upgrade to latest
sudo bash upgrade.sh --branch v1.2.0 # Upgrade to specific version
sudo bash reconfigure.sh # Interactive menu
sudo bash reconfigure.sh --domain new.example.com # Change domain
sudo bash reconfigure.sh --ssl-on # Enable SSL
sudo bash reconfigure.sh --check # Health diagnostics
pnpm dev # Start dev server
pnpm build # Production build
pnpm lint # ESLint
pnpm test:unit # Vitest tests
pnpm test:e2e # Playwright E2E tests
npx tsc --noEmit # Type check
This platform is built on the hosted.ai GPU infrastructure API. All GPU pod lifecycle management - deployment, scaling, monitoring, billing, and orchestration - is handled through hosted.ai. You must have a hosted.ai account with API credentials to operate GPU features.
To get started with hosted.ai, visit hosted.ai.
MIT
TypeScript
97.7%
Shell
2.1%
Built on hosted.ai | Next.js 16 | Prisma/MariaDB | Stripe
A full-featured GPU cloud platform dashboard powered by the hosted.ai GPU infrastructure API. Fork and deploy to run your own GPU-as-a-Service business.
curl -fsSL https://raw.githubusercontent.com/hosted-ai/packet-oss/main/install.sh | sudo bash
Installs to /opt/packet-oss with MariaDB, systemd, and Apache reverse proxy. Requires a fresh Linux server (Ubuntu/Debian).
This platform requires hosted.ai. All GPU pod deployment, orchestration, scaling, monitoring, and billing runs through the hosted.ai API. You need a hosted.ai account and API credentials for the platform to function. Visit hosted.ai to get access.
secure, so login breaks over plain HTTP. install.sh provisions this automatically via Let's Encrypt + Apache when you supply a domain.# 1. Clone and install
git clone https://github.com/hosted-ai/packet-oss.git && cd packet-oss
pnpm install
# 2. Create environment file
cp .env.example .env.local
# 3. Configure database URL in .env.local
# DATABASE_URL="mysql://gpucloud:password@localhost:3306/gpucloud"
# 4. Initialize the database
npx prisma db push
# 5. Start development server
pnpm dev
# 6. Set up your admin account
# Visit http://localhost:3000/admin
# Create your admin account with email + password
# Go to Platform Settings to configure your hosted.ai API keys
The app boots and runs with just DATABASE_URL configured. All other settings can be configured through the admin panel at Admin > Platform Settings.
Important: While the app starts without any API keys, GPU features (pod deployment, management, monitoring) require a hosted.ai API connection. Configure your hosted.ai credentials in Platform Settings after your first login.
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | MariaDB connection string |
NEXT_PUBLIC_APP_URL | No | Your app's public URL (default: http://localhost:3000) |
ADMIN_JWT_SECRET | No | Auto-generated if not set |
STRIPE_SECRET_KEY | No | Enables billing features |
HOSTEDAI_API_URL | Yes* | hosted.ai API URL (required for GPU features) |
HOSTEDAI_API_KEY | Yes* | hosted.ai API key (required for GPU features) |
SMTP_HOST | No | Enables email notifications (SMTP server) |
*hosted.ai credentials are required for GPU functionality but the app will boot without them. Configure via admin UI or .env file.
src/
app/ # Next.js App Router
(marketing)/ # Public marketing pages
account/ # Customer account
admin/ # Admin panel (SPA, tab routing via ?tab=)
api/ # API routes
admin/ # Admin API
cron/ # Scheduled jobs
webhooks/ # Stripe webhooks
dashboard/ # Customer GPU dashboard
terminal/ # Web SSH terminal
components/ # Shared React components
lib/ # Server-side business logic
auth/ # JWT auth (admin + customer)
email/ # Email templates
hostedai/ # GPU infrastructure client
settings.ts # Platform settings (DB-backed)
middleware.ts # POST request blocking
prisma/schema.prisma # Database schema
A command-line interface is included for managing GPU instances:
cd cli && npm install -g .
gpu-cloud login
gpu-cloud gpus
gpu-cloud launch --gpu h100 --setup vscode
gpu-cloud ps
gpu-cloud ssh <instance-id>
See cli/README.md for full documentation.
# Build for production
pnpm build
# Start with PM2
pm2 start ecosystem.config.cjs
# Or start directly
pnpm start
See install.sh for automated server setup with systemd and Apache.
sudo bash upgrade.sh # Upgrade to latest
sudo bash upgrade.sh --branch v1.2.0 # Upgrade to specific version
sudo bash reconfigure.sh # Interactive menu
sudo bash reconfigure.sh --domain new.example.com # Change domain
sudo bash reconfigure.sh --ssl-on # Enable SSL
sudo bash reconfigure.sh --check # Health diagnostics
pnpm dev # Start dev server
pnpm build # Production build
pnpm lint # ESLint
pnpm test:unit # Vitest tests
pnpm test:e2e # Playwright E2E tests
npx tsc --noEmit # Type check
This platform is built on the hosted.ai GPU infrastructure API. All GPU pod lifecycle management - deployment, scaling, monitoring, billing, and orchestration - is handled through hosted.ai. You must have a hosted.ai account with API credentials to operate GPU features.
To get started with hosted.ai, visit hosted.ai.
MIT
TypeScript
97.7%
Shell
2.1%