Deploy with a Dockerfile
Ship your AI applications on Blaxel using a custom Dockerfile.
Blaxel allows you to customize your deployments (agents, MCP servers, and batch jobs) using a Dockerfile at the root level of your project.
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
A Dockerfile at the root of your project gives you full control over the container image that will run your workload on Blaxel’s infrastructure.
- Navigate to the root directory of your Blaxel project (agent, MCP server, and batch job)
- Create a file named
Dockerfile
(case-sensitive)
Dockerfile Structure
Your Dockerfile should follow these guidelines for compatibility with Blaxel’s infrastructure:
Entrypoint
The entrypoint must start a server running on port 80 for agents and MCP servers.
For batch jobs, 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 agents/servers/jobs from the same repository with shared dependencies.
Deploy multiple resources with shared files
Deploy multiple resources with shared context from a single repository.