Runtime Environment
How Sherpa.sh handles OS-level dependencies and runtime environments for your applications.
Dependency Management
Automatic Dependency Installation When you deploy a project, Sherpa.sh automatically detects your package manager and installs all dependencies listed in your package.json
, yarn.lock
, pnpm-lock.yaml
, bun
or other lock files. This ensures all Node modules and JavaScript dependencies are available during build and runtime.
Custom Install Commands Configure custom installation commands in your project settings for specialized dependency requirements or multi-step installation processes.
OS-Level Dependencies
Build Infrastructure Sherpa.sh runs builds and deployments within standardized Ubuntu containers that include essential system libraries and tools required for most Node.js and web projects.
Native Module Support Node modules requiring compilation or native binaries (such as sharp
, sqlite3
, canvas
) are automatically built during deployment. Sherpa.sh ensures these binaries are compiled against the same runtime environment where your application executes, eliminating common deployment issues.
System Libraries
Pre-installed Libraries The Sherpa.sh runtime includes commonly-used system libraries needed by popular frameworks and tools:
Core Development Tools
# Build essentials
build-essential, gcc, g++, make, cmake
autoconf, automake, libtool, nasm, pkg-config
# Version control and utilities
git, curl, wget, bash, unzip
Image Processing Libraries
# Image manipulation (Sharp, Canvas support)
libvips-dev, libvips-tools
libpng-dev, libjpeg-dev, libwebp-dev
libgif-dev, libtiff-dev, librsvg2-dev
libcairo2-dev, libpango1.0-dev, libpixman-1-dev
Database Client Libraries
# Database connectivity
libpq-dev # PostgreSQL
libmysqlclient-dev # MySQL
libsqlite3-dev # SQLite
Browser Testing Support
# Headless browser libraries (Puppeteer, Playwright)
libgtk-3-dev, libgbm-dev, libxrandr2
libxcomposite1, libxcursor1, libxdamage1
libnss3, libcups2, libdrm2
Security and Compression
# SSL/TLS and compression
libssl-dev, libffi-dev
zlib1g-dev, libbz2-dev
Runtime Environment Characteristics
Python Support Python 3 is included with development headers for native module compilation:
python3, python3-pip, python3-dev
python-is-python3 # python command points to python3
Consistent Build and Runtime Applications build and execute in identical container environments, ensuring binary compatibility and reducing runtime errors from missing libraries or version mismatches.
Limitations and Workarounds
System Library Constraints The runtime environment uses a fixed set of system libraries. If your application requires specialized system packages not included in the base image, consider these alternatives:
Find npm alternatives: Look for JavaScript implementations of native tools
Use included libraries: Leverage the comprehensive set of pre-installed packages
Custom functions: Implement workarounds using available system tools
Reach out to support: Head into discord.sherpa.sh and request a new package be added to the runtime.
Supported Use Cases The runtime environment supports most common development scenarios:
Image processing and manipulation
Database connectivity (PostgreSQL, MySQL, SQLite)
Headless browser automation
Cryptographic operations
File compression and archives
Best Practices
Dependency Optimization
Use lock files (
package-lock.json
,yarn.lock
) for reproducible buildsSpecify exact versions for critical dependencies
Test locally with similar Node.js versions
Native Module Compatibility
Verify native modules support Linux x64 architecture
Use modules with prebuilt binaries when possible
Test deployment with native dependencies in staging environment
Performance Considerations
Minimize dependency installation time with
.npmrc
configurationUse
npm ci
for faster, reliable installs in productionCache dependencies when possible using build optimization settings
The Sherpa.sh runtime environment provides a robust, predictable foundation for deploying Node.js applications with complex dependencies while maintaining security and performance standards.
Last updated