Skip to main content

Podex Local Pod - Self-hosted compute agent for Podex

Project description

Podex Local Pod

Self-hosted compute agent for Podex. Run workspaces on your own machine for faster local development, full GPU access, and keeping code on-premises.

Quick Start

1. Get Your Token

  1. Go to Settings > Local Pods in Podex
  2. Click Add Pod and give it a name
  3. Copy the token (shown only once!)

2. Install

# Using pip
pip install podex-pod

# Or using pipx (recommended)
pipx install podex-pod

3. Run

# Start the agent
podex-pod start --token pdx_pod_xxx

# Or use environment variable
export PODEX_POD_TOKEN=pdx_pod_xxx
podex-pod start

Docker Installation (Optional)

You can run the pod agent itself inside Docker:

docker run -d \
  --name podex-pod \
  -e PODEX_POD_TOKEN=pdx_pod_xxx \
  podex/local-pod:latest

Commands

# Start the agent
podex-pod start [OPTIONS]

# Check system requirements
podex-pod check

# Show version
podex-pod version

Start Options

Option Environment Variable Description
--token PODEX_POD_TOKEN Pod authentication token (required)
--url PODEX_CLOUD_URL Podex cloud URL (default: https://api.podex.dev)
--name PODEX_POD_NAME Display name for this pod

Configuration File

Create a .env file to save your configuration:

# ~/.config/podex/.env
PODEX_POD_TOKEN=pdx_pod_xxx
PODEX_POD_NAME=my-dev-machine
PODEX_CLOUD_URL=https://api.podex.dev

Then run from that directory:

cd ~/.config/podex && podex-pod start

Or copy the .env file to your current working directory.

Requirements

  • Python 3.11+
  • tmux (required for terminal features)
  • 4GB+ RAM recommended
  • 2+ CPU cores recommended

How It Works

  1. Registration: You register a local pod in Podex Settings and receive a token
  2. Connection: The agent connects to Podex cloud via WebSocket (outbound connection)
  3. Commands: When you create a workspace targeting your local pod, Podex sends commands through the WebSocket
  4. Execution: The agent executes commands natively on your machine using tmux for terminal sessions
  5. Communication: File operations, terminal, and port forwarding all work through the connection

Security

  • Outbound only: The agent initiates the connection - no inbound ports needed
  • Token auth: Tokens are hashed and verified on each connection
  • User isolation: Each pod only sees workspaces for its owner
  • Native execution: Commands run directly on your machine with your user permissions

Troubleshooting

Check Requirements

podex-pod check

This verifies tmux is available and shows system resources.

Common Issues

Connection refused

  • Check your internet connection
  • Verify the token is correct
  • Check if a firewall is blocking outbound WebSocket connections

tmux not found

  • Install tmux: brew install tmux (macOS) or apt install tmux (Linux)
  • tmux is required for terminal features to work properly

Development

# Clone the repo
git clone https://github.com/podex/podex
cd podex/services/local-pod

# Install dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
ruff check .
mypy .

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podex_pod-0.0.1a1.tar.gz (131.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

podex_pod-0.0.1a1-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file podex_pod-0.0.1a1.tar.gz.

File metadata

  • Download URL: podex_pod-0.0.1a1.tar.gz
  • Upload date:
  • Size: 131.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for podex_pod-0.0.1a1.tar.gz
Algorithm Hash digest
SHA256 afec33190a4f68049bbcc2d1481db538d90d5ac10f7d5e02061772bab8d6cce4
MD5 81fb0e2f935e7d01f580fbdddc235d37
BLAKE2b-256 5b287510191b79bfde345a2d7020e48e50c6dbf13ad0ccee9e11aaba2c324497

See more details on using hashes here.

Provenance

The following attestation bundles were made for podex_pod-0.0.1a1.tar.gz:

Publisher: pypi.yml on mujacica/podex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file podex_pod-0.0.1a1-py3-none-any.whl.

File metadata

  • Download URL: podex_pod-0.0.1a1-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for podex_pod-0.0.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 64f064060709e09e7ca8d54cb2a70e4c7fab38c0bd1b2a13844fec6c260268b8
MD5 8e53b2e8348aa998f4a1812b0da983f2
BLAKE2b-256 504bb44b32877c7ff2c4f0a43a918d966f0e1a72d8e9fdc298f87ad4e7b8d9a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for podex_pod-0.0.1a1-py3-none-any.whl:

Publisher: pypi.yml on mujacica/podex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page