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.dbSSL/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
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.