Skip to main content
Shipped can be configured using environment variables. All server configuration is namespaced under SERVER_ prefix.

SERVER

SERVER_TRUST_PROXIES
boolean
Trust reverse proxies for client IPs.
  • true: always trust
  • false: never trust (always uses direct remote address)
  • Unset (default): auto-detects based on the connection

Server Configuration

General server environment and file-watching configurations.
SERVER_CONFIG_DIR
string
default:"config"
Config files folder relative to process.cwd() or absolute path.
SERVER_CONFIG_WATCH_POLLING
boolean
default:false
Use polling instead of native FS events for config file watching. It is typically necessary to set this to true to successfully watch files over a network.

Package Settings

SERVER_PACKAGES_FETCH_CONCURRENCY
integer
default:10
Maximum number of parallel package fetch requests.

Package Cache

Package cache settings including TTL, sizing, and persistence options.
SERVER_PACKAGES_CACHE_DISABLED
boolean
default:false
Disable the package cache entirely.
SERVER_PACKAGES_CACHE_DIR
string
default:"cache"
Filesystem directory for persistent L2 cache storage.
SERVER_PACKAGES_CACHE_TTL
integer
default:10800
Main cache TTL for packages, in seconds. Default: 10800 (3 hours). It is recommended to not change this value.
SERVER_PACKAGES_CACHE_MAX_SIZE
string
default:"50mb"
Maximum size for L1 memory cache.
SERVER_PACKAGES_CACHE_MAX_ITEMS
integer
default:2000
Maximum number of items for L1 memory cache.
SERVER_PACKAGES_CACHE_PRUNE_INTERVAL
integer
default:1200
Interval in seconds for pruning expired cache entries. Default: 1200 (20 minutes). It is recommended to not change this value.

Example Configuration

# Server settings
SERVER_TRUST_PROXIES=true
SERVER_CONFIG_DIR=/app/config
SERVER_CONFIG_WATCH_POLLING=false

# Package fetching
SERVER_PACKAGES_FETCH_CONCURRENCY=20

# Cache configuration
SERVER_PACKAGES_CACHE_DISABLED=false
SERVER_PACKAGES_CACHE_DIR=/app/cache
SERVER_PACKAGES_CACHE_TTL=10800
SERVER_PACKAGES_CACHE_MAX_SIZE=100mb
SERVER_PACKAGES_CACHE_MAX_ITEMS=5000
SERVER_PACKAGES_CACHE_PRUNE_INTERVAL=1200

Docker Example

When running Shipped in Docker:
docker run -d \
  -p 3000:3000 \
  -v ./config:/app/config \
  -v ./cache:/app/cache \
  -e SERVER_CONFIG_DIR=/app/config \
  -e SERVER_PACKAGES_CACHE_DIR=/app/cache \
  -e SERVER_PACKAGES_CACHE_MAX_SIZE=100mb \
  shipped:latest

Build docs developers (and LLMs) love