Deployment Guide

Cloud or self-hosted deployment options.

Deployment Modes

Cortyxia runs either as a fully managed cloud service or on your own infrastructure. Both modes share the same API and feature set, so you can start in the cloud and move self-hosted later without changing your application code.

Cloud

Cortyxia hosts the application and database for you. You get automatic scaling, managed backups, and zero infrastructure overhead. All data is isolated by project and protected by ISO keys.

Self-Hosted

Run Cortyxia on your own infrastructure. The core proxy uses SQLite by default. For production telemetry and analytics, use PostgreSQL. Redis is optional for caching.

Cloud Deployment

Sign up at cortyxia.com, create a project, and generate an ISO key. The cloud deployment handles storage, scaling, and backups automatically. Your data is retained only for your project and can be exported or deleted at any time.

Managed Backups

Daily snapshots and point-in-time recovery are handled automatically in the cloud tier.

Uptime

Cloud workloads run with a 99.9% uptime SLA and automatic failover.

Self-Hosted Deployment

Self-hosted Cortyxia is composed of a Rust-based proxy (iso-core), an optional dashboard, a telemetry service, and optional Redis. The core proxy uses SQLite by default. The telemetry service stores analytics and observability data in PostgreSQL.

Core Proxy (SQLite)

# Local file
ISO_DB_PATH=/var/lib/cortyxia/cortyxia.db

# Network or web-mounted path (SQLite)
ISO_DB_PATH=/mnt/shared/cortyxia.db

Telemetry (PostgreSQL)

DATABASE_URL=postgresql://user:pass@host:5432/cortyxia

Optional Caching (Redis)

REDIS_URL=redis://user:pass@host:6379

Network Configuration

Run Cortyxia behind a reverse proxy with TLS. Expose only the ports you need and keep the database files and PostgreSQL data on persistent volumes.

# Example systemd unit
[Unit]
Description=Cortyxia
After=network.target

[Service]
ExecStart=/usr/local/bin/cortyxia
Environment=ISO_DB_PATH=/var/lib/cortyxia/cortyxia.db
Environment=DATABASE_URL=postgresql://user:pass@localhost:5432/cortyxia
Environment=PORT=8080
Restart=always

[Install]
WantedBy=multi-user.target

Production Configuration

Database

SQLite is the default for the core proxy. For production telemetry and analytics, use PostgreSQL. Redis is optional for caching.

ISO_DB_PATH=/var/lib/cortyxia/cortyxia.db

SSL/TLS

Terminate TLS at a reverse proxy (nginx, traefik, Caddy) or use a managed load balancer. Do not expose the Cortyxia port directly over the public internet without TLS.

Security Hardening

Secrets Management

Store ISO tokens and any provider keys in a secret manager or environment variables. Keep the SQLite database file, PostgreSQL connection, and Redis connection readable only by the Cortyxia process.

Network Security

Run the service in a private network or behind a firewall. Allow inbound traffic only on the reverse proxy port. Restrict access to the SQLite file path.

Monitoring

Health checks are available at /health and Prometheus metrics at /metrics. Set up alerts for high error rates, disk usage, and service downtime. For cloud deployments, observability is included.

Scaling Strategy

Horizontal Scaling

Cloud deployments scale automatically. Self-hosted deployments can run multiple stateless Cortyxia instances behind a load balancer, all pointing to the same SQLite and PostgreSQL connection strings. Use PostgreSQL-backed telemetry for high-throughput observability.

Performance Characteristics

10K+
Requests/second
<200ms
End-to-end latency
99.9%
Uptime SLA

Backup and Recovery

SQLite Backup

# Backup
cp /var/lib/cortyxia/cortyxia.db /backups/cortyxia-$(date +%F).db

# Restore
cp /backups/cortyxia-YYYY-MM-DD.db /var/lib/cortyxia/cortyxia.db

PostgreSQL Backup

# Backup
pg_dump $DATABASE_URL > backup.sql

# Restore
psql $DATABASE_URL < backup.sql

Cloud Export

Cloud projects can export their memory graph and configuration at any time from the dashboard.