CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-parse-dashboard

A standalone dashboard for managing Parse Server apps with web interface and Express middleware integration

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

cli.mddocs/

CLI Interface

Parse Dashboard provides a comprehensive command-line interface for running the dashboard as a standalone application with extensive configuration options.

Capabilities

Main CLI Command

The primary command for running Parse Dashboard from the command line.

parse-dashboard [options]

# Main options:
--appId [appId]                              # Parse App ID
--masterKey [masterKey]                      # Parse Master Key
--masterKeyTtl [masterKeyTtl]               # Master Key TTL in seconds
--serverURL [serverURL]                      # Parse Server URL
--graphQLServerURL [graphQLServerURL]        # GraphQL Server URL
--dev                                        # Enable development mode
--appName [appName]                          # Application display name
--config [config]                            # Path to configuration file
--host [host]                                # Host to bind (default: 0.0.0.0)
--port [port]                                # Port to listen (default: 4040)
--mountPath [mountPath]                      # Mount path for dashboard
--allowInsecureHTTP [allowInsecureHTTP]      # Allow HTTP connections
--sslKey [sslKey]                           # Path to SSL private key
--sslCert [sslCert]                         # Path to SSL certificate
--trustProxy [trustProxy]                    # Trust proxy headers
--cookieSessionSecret [secret]               # Session cookie secret
--cookieSessionMaxAge [maxAge]               # Session timeout in seconds
--createUser                                 # Interactive user creation tool
--createMFA                                  # Interactive MFA setup tool

Environment Variables

All CLI options can be configured via environment variables:

# Core Parse Server connection
PARSE_DASHBOARD_APP_ID                       # --appId
PARSE_DASHBOARD_MASTER_KEY                   # --masterKey
PARSE_DASHBOARD_SERVER_URL                   # --serverURL
PARSE_DASHBOARD_GRAPHQL_SERVER_URL           # --graphQLServerURL
PARSE_DASHBOARD_APP_NAME                     # --appName

# Server configuration
HOST                                         # --host
PORT                                         # --port
MOUNT_PATH                                   # --mountPath

# Security and SSL
PARSE_DASHBOARD_ALLOW_INSECURE_HTTP          # --allowInsecureHTTP
PARSE_DASHBOARD_TRUST_PROXY                  # --trustProxy
PARSE_DASHBOARD_SSL_KEY                      # --sslKey
PARSE_DASHBOARD_SSL_CERT                     # --sslCert

# Session management
PARSE_DASHBOARD_COOKIE_SESSION_SECRET        # --cookieSessionSecret
PARSE_DASHBOARD_COOKIE_SESSION_MAX_AGE       # --cookieSessionMaxAge

# Configuration
PARSE_DASHBOARD_CONFIG                       # JSON configuration string
PARSE_DASHBOARD_AGENT                        # JSON agent configuration

# Additional user authentication
PARSE_DASHBOARD_USER_ID                      # Single user ID for basic auth
PARSE_DASHBOARD_USER_PASSWORD                # Single user password for basic auth

CLI Helper Functions

Interactive utilities for user and MFA management:

// Available through CLIHelper module
interface CLIHelper {
  /**
   * Interactive user creation utility
   * Prompts for username, password, and access settings
   * Generates bcrypt hash for secure password storage
   * Optionally sets up MFA with QR code generation
   */
  createUser(): Promise<void>;
  
  /**
   * Interactive MFA setup utility
   * Generates TOTP secret and displays QR code for authenticator apps
   * Supports multiple algorithms (SHA1, SHA256, SHA512, etc.)
   * Configurable digits and time period
   */
  createMFA(): Promise<void>;
}

Usage Examples:

# Basic single app setup
parse-dashboard --appId myAppId --masterKey myMasterKey --serverURL http://localhost:1337/parse --appName "My App"

# Development mode (no authentication, HTTP allowed)
parse-dashboard --dev --appId myAppId --masterKey myMasterKey --serverURL http://localhost:1337/parse

# Using configuration file
parse-dashboard --config ./dashboard-config.json

# Custom host and port
parse-dashboard --host 127.0.0.1 --port 8080 --config ./config.json

# SSL enabled
parse-dashboard --sslKey ./private-key.pem --sslCert ./certificate.pem --config ./config.json

# Create user interactively
parse-dashboard --createUser

# Create MFA secret interactively
parse-dashboard --createMFA

# Environment variable configuration
export PARSE_DASHBOARD_APP_ID=myAppId
export PARSE_DASHBOARD_MASTER_KEY=myMasterKey
export PARSE_DASHBOARD_SERVER_URL=http://localhost:1337/parse
export PORT=8080
parse-dashboard

Types

CLI Options Interface

interface CLIOptions {
  appId?: string;
  masterKey?: string;
  masterKeyTtl?: string;
  serverURL?: string;
  graphQLServerURL?: string;
  dev?: boolean;
  appName?: string;
  config?: string;
  host?: string;
  port?: string;
  mountPath?: string;
  allowInsecureHTTP?: string;    // String in CLI, parsed to boolean
  sslKey?: string;
  sslCert?: string;
  trustProxy?: string;           // String in CLI, parsed to boolean
  cookieSessionSecret?: string;
  cookieSessionMaxAge?: string;  // String in CLI, parsed to number
  createUser?: boolean;
  createMFA?: boolean;
  userId?: string;               // For basic single-user auth
  userPassword?: string;         // For basic single-user auth
  agent?: string;                // JSON string of agent configuration
}

Install with Tessl CLI

npx tessl i tessl/npm-parse-dashboard

docs

ai-agent.md

authentication.md

cli.md

configuration.md

index.md

middleware.md

tile.json