Skip to content

Commands ​

exodus ​

The magic command. Runs connect → init → build → deploy as needed.

bash
exodus [cwd]
FlagDescription
-d, --dirtyUse working directory instead of latest git commit
-m, --method <method>Build method: local, hybrid, remote, auto
--skip-health-checkSkip health check after container start
--no-envSkip all env injection
--no-secretsSkip server secrets injection
bash
# Deploy current working directory
exodus --dirty

# Force remote build
exodus --method remote

exodus connect ​

Connect and provision a new VPS. Interactive prompts for SSH credentials.

bash
exodus connect

Installs Docker, Caddy, configures firewall. Credentials stored in ~/.config/exodus/config.yml.


exodus init ​

Initialize a project for deployment.

bash
exodus init [cwd]
FlagDescription
-F, --forceOverwrite existing exodus.yml

Creates exodus.yml in your project root.


exodus build ​

Build and push your app image to the server.

bash
exodus build [cwd]
FlagDescription
-d, --dirtyUse working directory instead of latest git commit
-m, --method <method>Build method: local, hybrid, remote, auto
--no-envSkip all env injection
--no-secretsSkip fetching server secrets
bash
# Build from current files (not git)
exodus build --dirty

# Build on server
exodus build --method remote

exodus deploy ​

Deploy a built image. Requires exodus build first.

bash
exodus deploy [cwd]
FlagDescription
--skip-health-checkSkip health check after container start

exodus ssh ​

SSH into a connected server.

bash
exodus ssh [server]

Opens interactive SSH session. If no server specified, prompts for selection.


exodus ps ​

List running containers for the current project.

bash
exodus ps [cwd]

exodus logs ​

View container logs.

bash
exodus logs [cwd]
FlagDescription
-f, --followFollow log output (like tail -f)
-n, --lines <number>Number of lines to show (default: 100)
bash
# Follow logs
exodus logs -f

# Last 50 lines
exodus logs -n 50

exodus restart ​

Restart running containers.

bash
exodus restart [cwd]

Restarts all running containers for the project. Useful after updating secrets.


exodus rollback ​

Rollback to a previous deployment.

bash
exodus rollback [cwd]
FlagDescription
-v, --version <version>Specific version (container name or image tag)
bash
# Interactive selection
exodus rollback

# Rollback to specific version
exodus rollback -v exodus-myapp-1234567890

exodus dns ​

Check and verify DNS configuration for custom domains.

bash
exodus dns

Interactive wizard to verify A records point to your server. Supports Cloudflare proxy detection.


exodus secrets ​

Manage environment secrets on the server.

bash
exodus secrets

Interactive mode when called without subcommand.

secrets list ​

bash
exodus secrets list
FlagDescription
-d, --dir <path>Project directory

secrets set ​

bash
exodus secrets set [KEY=VALUE...]
FlagDescription
-d, --dir <path>Project directory
-f, --from-env <file>Import from .env file
bash
# Set single secret
exodus secrets set DATABASE_URL=postgres://...

# Set multiple
exodus secrets set API_KEY=xxx STRIPE_KEY=yyy

# Import from file
exodus secrets set -f .env.production

secrets unset ​

bash
exodus secrets unset [keys...]
FlagDescription
-d, --dir <path>Project directory
bash
exodus secrets unset API_KEY STRIPE_KEY

secrets pull ​

Download server secrets to local file.

bash
exodus secrets pull
FlagDescription
-d, --dir <path>Project directory
-o, --output <file>Output file (default: .env.exodus)
-f, --forceOverwrite without prompting

secrets push ​

Upload local env file to server.

bash
exodus secrets push
FlagDescription
-d, --dir <path>Project directory
-i, --input <file>Input file (default: .env.exodus)
-f, --forcePush without confirmation
--dry-runShow changes without applying
bash
# Preview changes
exodus secrets push --dry-run

# Force push
exodus secrets push -f