Skip to content

Deployment

Deploying an Ignyx application is straightforward because it doesn't require an external ASGI server like Uvicorn or Gunicorn. Ignyx handles its own concurrency using its high-performance Rust core powered by the Tokio runtime.

Overview

When you run an Ignyx application, you are starting a high-performance HTTP server that manages its own threads and event loops. You simply run your Python script, and it listens on the specified port.

Docker

Using Docker is the recommended way to deploy Ignyx for production. Here is a multi-stage build example that keeps the image small.

# Use a lightweight Python base
FROM python:3.12-slim

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work directory
WORKDIR /app

# Install dependencies (ignyx requires a rust toolchain for install if not using a wheel)
# but for a production image, we usually install from pypi
RUN pip install --no-cache-dir ignyx pydantic

# Copy project files
COPY . .

# Expose port
EXPOSE 8000

# Run the application
CMD ["python", "main.py"]

systemd (Linux)

You can run Ignyx as a background service on a Linux server using systemd.

Create /etc/systemd/system/ignyx-app.service:

[Unit]
Description=Ignyx API Application
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/my-app
Environment="PYTHONPATH=/var/www/my-app"
ExecStart=/var/www/my-app/venv/bin/python main.py
Restart=always

[Install]
WantedBy=multi-user.target

Then enable and start it:

sudo systemctl enable ignyx-app
sudo systemctl start ignyx-app

Cloud Deployment

Because Ignyx is a standard Python application that listens on a port, it works flawlessly on all modern cloud platforms.

Railway / Render / Fly.io

Simply connect your GitHub repository. These platforms will detect your requirements.txt or pyproject.toml, install Ignyx, and run your start command (e.g., python main.py).

No Uvicorn Needed

Development and production deployment of Ignyx are identical.

fastapi_app.py: uvicorn app:app (requires external process)

ignyx_app.py: python app.py (server is built-in)

The Rust core handles high-concurrency request parsing and dispatching far more efficiently than standard Python-based ASGI servers.