Deployment Paths
There are several approaches to deploying Oxy:- Traditional Linux Setup - Follow the step-by-step guide below to provision a machine, install dependencies, and configure each component manually.
- Docker Deployment - Use our Docker image for a containerized deployment that simplifies setup and maintenance. See the Docker deployment guide for details.
- Kubernetes Deployment - Deploy Oxy on Kubernetes clusters using our official Helm chart or raw YAML manifests. Choose from:
- Helm Chart - Recommended for most Kubernetes deployments with sensible defaults and easy configuration
- Raw YAML - For advanced users who need full control over Kubernetes resources
- Hands-on Guides - For practical, ready-to-use deployment recipes, check our hands-on guides section which includes:
- Google Cloud Platform (GCP) - Deploy Oxy on Google Cloud using our dedicated GCP deployment guide.
Deployment Overview
Deployment Request Flow Diagram
Data Persistence
When deploying Oxy in production, it’s important to understand how data is stored and persisted:- Oxy uses SQLite by default for its internal state management
- Data is stored at the location specified by
OXY_STATE_DIRenvironment variable - If
OXY_STATE_DIRis not set, data defaults to~/.local/share/oxy/ - This directory contains database files, semantic information, cached query results, and workflow history
Persistence Strategies
For production deployments, ensure your data persistence strategy matches your reliability requirements:- Docker deployments: Mount a volume to
/dataand setOXY_STATE_DIR=/data - Cloud VMs: Use attached persistent disks (EBS volumes, Google Persistent Disks, etc.)
- Self-hosted: Consider regular backups of the state directory
Deployment Steps
Follow these steps to deploy Oxy on your cloud environment:1. Create Machine
Provision and set up your server with the necessary requirements
2. Install Oxy CLI
Install and configure the Oxy CLI on your server
3. Set Up Workspace & Repository
Set up your Oxy workspace and configure your repository
4. Configure Environment
Set up environment variables and secrets management
Docker Deployment
Deploy Oxy using Docker containers for simplified setup and management
Kubernetes (Helm)
Deploy Oxy on Kubernetes using our official Helm chart
Kubernetes (Raw YAML)
Deploy Oxy on Kubernetes using raw YAML manifests for full control
GCP Deployment
Step-by-step guide for deploying Oxy on Google Cloud Platform
Troubleshooting
Quick One-Time Script
If you prefer to set up everything with a single script, you can use the following bash script that automates the entire deployment process. Customize the variables at the beginning to fit your requirements:- Save it to a file (e.g.,
deploy-oxy.sh) - Make it executable:
chmod +x deploy-oxy.shThis script is provided as a starting point and may need adjustments for your specific environment. Always review scripts before running them on your server. - Edit the configuration variables at the beginning of the script
- Run the script:
./deploy-oxy.sh