Hosting & Deployment
A key feature of Open Agent Kit is the ability to run the application on your own infrastructure. This guide will walk you through the steps to install Open Agent Kit on your own server. From the get-go, OAK was designed to be simple to deploy, update, scale, and maintain.
To get you started quickly, we have prepared guides for the most popular hosting solutions. If you need any support, join our Discord community and reach out to us.
Background
Open Agent Kit is built on React Router / Remix. Therefore, it can be deployed exactly the same way as any other Remix application.
Vercel
You can use our one click deploy button to deploy OAK on Vercel.
If you don't have an SMTP server, you can add "_" instead of the actual SMTP credentials.
Alternatively, you can follow the steps below to deploy OAK on Vercel.
- Use our template repository to create a new repository.
- Create a Vercel account and connect your repository.
- Create a PostgreSQL database and get the connection string (We recommend using Neon, but you can use any other PostgreSQL database. Just make sure the database is accessible from the Vercel serverless functions.)
- Configure the environment variables.
- Deploy the application.
Digital Ocean (App Platform)
You can use our one click deploy button to deploy OAK on Digital Ocean App Platform.
Make sure to add the APP_SECRET and at least one model provider API key (e.g. OPENAI_API_KEY) to the environment variables.
Alternatively, you can follow the steps below to deploy OAK on Digital Ocean App Platform.
- Create a Digital Ocean account and connect your repository.
- Create a PostgreSQL database (Digital Ocean managed PostgreSQL)
- Configure the environment variables.
- Deploy the application.
Ubuntu (Docker & Nginx)
We provide a prebuilt docker image that you can use to deploy OAK on your own Ubuntu server.
-
Log into your instance via SSH.
-
Download the latest docker compose file from here
-
Configure the environment variables in the docker compose file.
-
Run the docker container
docker compose up -d
- Configure Nginx to proxy requests to the docker container.
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
}
}
- Restart Nginx
sudo systemctl restart nginx
- Install a SSL certificate (We recommend using Certbot)
sudo certbot --nginx -d yourdomain.com