Back to Eliza

Deployment Toolkit

packages/app-core/deploy/README.md

2.0.13.1 KB
Original Source

Deployment Toolkit

This directory contains the generic deployment assets for elizaOS apps: Dockerfiles, compose files, node rollout scripts, Cloudflare proxy sources, and the cloud-agent runtime helpers.

Layout

  • deploy.defaults.env — shared defaults loaded by the setup and rollout scripts
  • Dockerfile.ci — canonical image for prebuilt runtime/UI artifacts
  • Dockerfile.cloud — cloud-optimized full-app image
  • Dockerfile.cloud-agent — subordinate cloud-agent runtime image
  • docker-compose.yml — gateway plus interactive CLI services
  • docker-compose.supabase-db.yml — optional local Postgres service
  • docker-setup.sh — local image build plus compose-based onboarding flow
  • deploy-to-nodes.sh — image load / restart helper for remote Docker nodes
  • cloudflare/eliza-cloud-proxy/ — proxy worker source and Wrangler example

App Overrides

Create a repo-root deploy/deploy.env and override only what differs from deploy.defaults.env. The scripts look for that file in this order:

  1. DEPLOY_CONFIG
  2. ./deploy.env
  3. ../deploy/deploy.env

deploy-to-nodes.sh also looks for nodes.json in the same order, using DEPLOY_NODES_FILE, ./nodes.json, and ../deploy/nodes.json.

Common Commands

bash
# Build a local image and walk through setup.
cd deploy
bash ../eliza/packages/app-core/deploy/docker-setup.sh

# Load the current image onto configured nodes.
cd deploy
bash ../eliza/packages/app-core/deploy/deploy-to-nodes.sh --status

Variables

VariablePurposeDefault
APP_NAMEApp/project name used by compose and helper outputeliza
APP_ENTRYPOINTRuntime entrypoint copied into imagesapp.mjs
APP_CMD_STARTStartup command for the full app containernode --import ./node_modules/tsx/dist/loader.mjs app.mjs start
APP_IMAGELocal Docker image nameeliza:local
APP_REGISTRYOptional registry prefix used by node rollout image matchingempty
APP_PORTPrimary app/API port inside the container2138
APP_GATEWAY_PORTGateway listener port18789
APP_BRIDGE_PORTCloud bridge port18790
APP_GATEWAY_BINDGateway bind preset passed to the CLIlan
APP_STATE_DIRIn-container state/config directory/home/node/.eliza
APP_CONFIG_DIRHost-side config directory mounted into the container${HOME}/.eliza
APP_WORKSPACE_DIRHost-side workspace directory mounted into the container${HOME}/.eliza/workspace
APP_DB_NAMEDatabase name for the Postgres helper compose fileeliza
APP_API_BINDDefault API bind address baked into the image127.0.0.1
OCI_SOURCEOCI source metadataempty
OCI_TITLEOCI image titleelizaOS Agent
OCI_DESCRIPTIONOCI image descriptionelizaOS agent runtime
OCI_LICENSESOCI image license metadataMIT
CF_WORKER_NAMESuggested Cloudflare worker nameeliza-cloud-proxy
CF_ALLOWED_ORIGINSAllowed CORS origins for the proxy workerempty
CF_PROXY_PATH_PREFIXESComma-separated path prefixes forwarded by the proxy workerempty