Overview
By default, Blaxel builds and deploys your application using predefined container images optimized for agent workloads. However, you may need to:- Install additional system dependencies
- Configure custom environment settings
- Use specific versions of runtime environments
- Include proprietary libraries or tools
- Navigate to the root directory of your Blaxel project (agent, MCP server, or batch job)
- Create a file named
Dockerfile(case-sensitive)
Dockerfile Structure
Your Dockerfile should follow these guidelines for compatibility with Blaxel’s infrastructure:Python
TypeScript/JavaScript
Entrypoint
For Agents Hosting and MCP Servers Hosting:- The only requirement to deploy an app on Agents Hosting is that it exposes an HTTP API server which is bound on
BL_SERVER_HOST(for the host) andBL_SERVER_PORT(for the port).
- The entrypoint must run a function that terminates—if it runs infinitely, your job will continue until it hits the execution timeout.
Environment variables
Environment variables configured in the Blaxel platform will be automatically injected into your container at runtime. You do not need to specify them in your Dockerfile.Test locally
Before deploying to Blaxel, you can test your Dockerfile locally.Deploy
When a Dockerfile is present at the root of your project, Blaxel will use it to build a custom container image for your deployment. Deploy your application with the Blaxel CLI as usual.Deploy multiple resources with shared files
Using a custom Dockerfile allows for deploying multiple jobs from the same repository with shared dependencies.Deploy multiple resources with shared files
Deploy multiple jobs with shared context from a single repository.
