VI EN

TOSE Documentation

Deploy and manage your applications with ease.

TOSE is a deployment platform that lets you deploy applications from Git repositories with automatic builds, custom domains, environment variables, databases, and more. Use the CLI or API to manage everything.

Installation

Install the TOSE CLI globally using npm:

npm install -g @tosesh/tose

Verify the installation:

tose -V

Requirements:

  • Node.js 18.0.0 or higher
  • npm or yarn

Authentication

TOSE uses API keys for authentication. Get your API key from the TOSE Dashboard.

Login with CLI

tose login

This saves your API key to ~/.tose/config.json.

Environment Variable

export TOSE_API_KEY=tose_sk_your_key_here

CLI Flag

tose status --api-key tose_sk_your_key_here

Priority Order

The CLI resolves the API key in this order:

  1. --api-key flag
  2. TOSE_API_KEY environment variable
  3. Config file (~/.tose/config.json)
  4. Interactive prompt

Quick Start

Deploy your first application in 3 steps:

1. Login

tose login

2. Initialize & Deploy

From your project directory:

# One-command deploy (auto-init + deploy)
tose up

# Or step by step:
tose init          # Link directory to workspace/project
tose deploy        # Deploy the project

3. Monitor

# Check status
tose status

# View live logs
tose logs -f

# Open in browser
tose open

Workspaces

Workspaces are organizational units that contain projects, databases, and templates. Each workspace has its own billing, members, and resources.

Set Active Workspace

# Set workspace via CLI
tose use my-workspace

# Or via environment variable
export TOSE_WORKSPACE=my-workspace

# Or create .tose.json in your project
tose init

Workspace Resolution

The CLI resolves workspace in this order:

  1. Positional argument (workspace/project)
  2. --workspace flag
  3. TOSE_WORKSPACE environment variable
  4. .tose.json in current directory
  5. Global active workspace
  6. Interactive selection

Projects

A project is a deployable application connected to a Git repository.

# Create and deploy
tose up

# Or manually
tose init
tose deploy

# Manage
tose status           # View status & pods
tose restart          # Restart pods
tose down             # Stop deployment

Deployments

Each deploy creates a new deployment with build logs, Docker image, and K8s resources.

# Deploy
tose deploy

# Redeploy (no rebuild, same image)
tose redeploy

# View build logs
tose logs --build

# Stream live logs
tose logs -f

Environment Variables

# Set variables
tose env set DATABASE_URL=postgres://... API_KEY=secret

# List all variables
tose env list

# Remove variables
tose env rm DATABASE_URL API_KEY

# Push .env file
tose env push .env

# Pull env vars to local file
tose env pull .env.local

Custom Domains

# Add domain
tose domain add example.com

# List domains
tose domain list

# Remove domain
tose domain rm example.com

After adding a domain, configure DNS by pointing a CNAME record to your project's default domain.

Databases

Create managed databases directly from the CLI.

# Create database (interactive)
tose db create

# List databases
tose db list

# Get connection info
tose db info my-postgres

Supported types: postgresql, mysql, redis, mongodb

Templates

Templates are pre-built applications that can be deployed with one command.

# View available templates
tose template catalog

# Create and deploy (all-in-one)
tose template create "My App"
# Prompts for required env vars, then deploys automatically

# Or step by step:
tose template create "My App"
tose template env set my-app KEY1=value1 KEY2=value2
tose template deploy my-app

# Manage
tose template list             # List your templates
tose template info my-app      # View details
tose template logs my-app -f   # Stream logs
tose template stop my-app      # Stop
tose template delete my-app    # Delete