Skip to main content
The instapods files commands let you manage files inside your pods without SSH.

List Files

instapods files ls my-app
instapods files ls my-app /home/instapod/app/src
Lists files and directories. The path argument is optional and defaults to the pod’s app root. Output includes file name, size, and permissions.

Read a File

instapods files cat my-app /home/instapod/app/index.js
Outputs the file contents to stdout.

Write a File

instapods files write my-app /home/instapod/app/config.json --content '{"key": "value"}'
Creates or overwrites a file with the given content. You can also pipe content via stdin:
cat .env | instapods files write my-app /home/instapod/app/.env
echo "Hello!" | instapods files write my-app /home/instapod/app/hello.txt

Create a Directory

instapods files mkdir my-app /home/instapod/app/src
instapods files mkdir my-app /home/instapod/app/data/uploads -p
Use -p to create parent directories recursively (like mkdir -p).

Upload a File

instapods files upload my-app ./index.html
instapods files upload my-app ./dist/bundle.js --remote /home/instapod/app/public/bundle.js
Uploads a local file to the pod. If --remote is not specified, the file is placed in the pod’s app root with the same filename.

Sync a Directory

instapods files sync my-app --local ./my-project
Recursively uploads an entire local directory to the pod. Shows progress with checkmarks for each file uploaded.

Sync Flags

FlagDescriptionDefault
--localLocal directory pathCurrent directory (.)
--remoteRemote directory pathPod’s app root
--excludeGlob patterns to exclude (repeatable)node_modules, .git, .env, __pycache__, .DS_Store
--dry-runPreview what would be uploadedfalse

Examples

# Sync current directory (simplest form)
instapods files sync my-app

# Sync with additional exclusions
instapods files sync my-app --local ./project \
  --exclude "*.log" \
  --exclude "vendor"

# Preview before syncing
instapods files sync my-app --local ./project --dry-run

# Sync to a specific remote path
instapods files sync my-app --local ./build --remote /home/instapod/app/public
Common patterns like node_modules, .git, .env, __pycache__, and .DS_Store are excluded by default. Add --exclude flags for any additional patterns you want to skip.
PHP preset: The web root is /home/instapod/app/public, not /home/instapod/app. Upload your public-facing files (index.php, CSS, JS) to the public/ subdirectory, and application logic to the app root.