Deploy on Azure
Setup Danswer on Azure
Using a Azure Virtual Machine is the recommended way to deploy Danswer on Azure. It is simple and should meet the performance needs of 90% of organizations looking to use Danswer. The steps are very similar to deploying on AWS EC2. Before we get started, make sure you have an account with Azure and have the necessary permissions to create a VM instance.
Feel free to reach out to us via the links on our Contact Us page for more individual help.
Getting an Instance
Steps to create a VM instance from Azure Cloud Console:
- Go to the Azure Console. Click on the
Crate
option in theVirtual machine
section.
- Select an existing subscription / resource group or create a new one under your organization.
- For instance configuration for Danswer, we recommend at least 16GB of RAM, 4-8vCPU cores, and 500GB of disk for a small-mid sized organization (< 5000 users). You can choose the machine type as per your requirements. If you’re unsure, the D4s_v3 series is a good starting point.
- Make sure to allow HTTPS traffic in the firewall settings and valid scopes for the instance.
For the below guide, we will assume that you’ve chosen to use Ubuntu Server. For other operating systems, the steps are similar but you may need to use different commands to install dependencies.
Pointing your Domain to the Instance
Next, we should point your domain to the VM instance we just created. To do this, we need to go to your DNS and add two records. For this guide, I’ll be assuming your DNS provider is GoDaddy, but it should be almost exactly the same for any DNS provider.
If you don’t have a domain to use yet, then you can either buy one from a DNS provider like GoDaddy or just skip HTTPS for now.
First, we need to grab the External IP address of the instance. You can get that from the VM Instance page on the Azure Console.
Finally, we need to head to the DNS provider and add two entries into the DNS:
The first record directs traffic to that domain to your GCP VM instance. The second record will handle
www.<YOUR_DOMAIN>
and ensure that this also takes the user to your VM instance.
Installing Dependencies
Next, we need to prepare the instance so we can actually get Danswer up and running. To do this, you’ll
need three things: git
, docker
, and docker compose
. For Ubuntu Server, this can be done with the following:
Starting up Danswer
Now that we have everything we need, we can startup Danswer.
First, let’s clone the repo:
Next, let’s set the necessary env variables:
In the .env
file, you can copy past the following (filling in the missing fields as needed):
In the .env.nginx
file, put the following:
Next, let’s get our SSL certificate from letsencrypt. To do this, we can simply run:
If are skipping the HTTPS setup, you should start things up with:
docker-compose -f docker-compose.dev.yml -p danswer-stack up -d --build --force-recreate
instead of the above. You can then access Danswer from the IP address from earlier.
Voila, you’re all done! 🎉
After waiting a few minutes (you can monitor the progress with
docker logs danswer-stack-api_server-1 -f
; once you see a log for
INFO: Application startup complete.
then everything should be good to go).