Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.instapods.com/llms.txt

Use this file to discover all available pages before exploring further.

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.