Deploy Arize Phoenix LLM observability platform on Heroku with one click.
Arize Phoenix is an open-source LLM observability platform for ML practitioners to monitor, troubleshoot, and evaluate their generative AI applications. With Phoenix, you can:
- Debug issues like hallucinations and unresponsiveness
- Evaluate model performance across multiple dimensions
- Track fine-tuning progress
- Gain insights into latency, token usage, and cost
- Share dashboards with your team
The easiest way to deploy Arize Phoenix on Heroku:
- Click the "Deploy to Heroku" button above
- Fill in the configuration options in the Heroku deployment page
- Click "Deploy app"
- Wait for the build to complete
- Open your deployed Arize Phoenix instance
-
Clone this repository:
git clone https://github.com/dsouza-anush/arize-phoenix-heroku.git cd arize-phoenix-heroku
-
Create a Heroku app:
heroku create your-app-name
-
Set up Heroku PostgreSQL:
heroku addons:create heroku-postgresql:hobby-dev
-
Set up Papertrail for logging (optional):
heroku addons:create papertrail:choklad
-
Set environment variables (optional):
heroku config:set PHOENIX_SECRET=your-secure-secret heroku config:set PHOENIX_ENABLE_AUTH=true
-
Configure Heroku to use container deployments:
heroku stack:set container
-
Deploy to Heroku:
git push heroku main
-
Open your app:
heroku open
None! The app will work with default settings using SQLite or the automatically provisioned Heroku Postgres database.
PHOENIX_SECRET
: Secret key for authentication (32+ characters with at least one digit and one lowercase letter)PHOENIX_ENABLE_AUTH
: Enable authentication ("true"/"false")PHOENIX_ADMIN_SECRET
: Admin authentication tokenPHOENIX_TLS_ENABLED
: Enable TLS ("true"/"false")TZ
: Timezone setting (default: "UTC")
Once deployed, you can instrument your code to send data to Phoenix. See the Phoenix documentation for details.
from phoenix.trace.client import Client
from phoenix import enable_openinference
# Initialize client
client = Client(url="https://your-app-name.herokuapp.com")
# Instrument your application
enable_openinference()
# Create a trace and spans will be sent to Phoenix
- Always set a secure
PHOENIX_SECRET
when enabling authentication - Consider using Heroku's SSL features for production deployments
- If using authentication, all users will need the secret to access Phoenix
This Heroku deployment has some limitations compared to other hosting options:
- Only HTTP OTLP collector is enabled (no gRPC)
- Heroku's ephemeral filesystem means local data will be lost on dyno restarts
- Free tier has limited resources and will sleep after 30 minutes of inactivity
- Single dyno deployments have no built-in high availability
Check logs with:
heroku logs --tail
Verify your database is properly provisioned:
heroku pg:info
Consider upgrading to a larger dyno type:
heroku dyno:resize web=standard-2x
Contributions are welcome! Please open an issue or pull request on GitHub.
This deployment configuration is released under the MIT license. Arize Phoenix itself is subject to its own license terms.