Digital Ocean
Learn how to deploy Flowise on Digital Ocean
Last updated
Learn how to deploy Flowise on Digital Ocean
Last updated
In this section, we are going to create a Droplet. For more information, refer to official guide.
First, Click Droplets from the dropdown
Select Data Region and a Basic $6/mo Droplet type
Select Authentication Method. In this example, we are going to use Password
After a while you should be able to see your droplet created successfully
For Windows follow this guide.
For Mac/Linux, follow this guide.
Install docker-compose:
Set permission:
Clone the repo
Cd into docker folder
Create a .env
file. You can use your favourite editor. I'll use nano
Specify the env variables:
(Optional) You can also specify FLOWISE_USERNAME
and FLOWISE_PASSWORD
for app level authorization. See more https://github.com/FlowiseAI/FlowiseDocs/blob/main/configuration/deployment/broken-reference/README.md
Then press Ctrl + X
to Exit, and Y
to save the file
Run docker compose
You can then view the app: "Your Public IPv4 DNS":3000. Example: 176.63.19.226:3000
You can bring the app down by:
You can pull from latest image by:
A reverse proxy is the recommended method to expose an application server to the internet. It will let us connect to our droplet using a URL alone instead of the server IP and port number. This provides security benefits in isolating the application server from direct internet access, the ability to centralize firewall protection, a minimized attack plane for common threats such as denial of service attacks, and most importantly for our purposes, the ability to terminate SSL/TLS encryption in a single place.
A lack of SSL on your Droplet will cause the embeddable widget and API endpoints to be inaccessible in modern browsers. This is because browsers have begun to deprecate HTTP in favor of HTTPS, and block HTTP requests from pages loaded over HTTPS.
Nginx is available for installation with apt through the default repositories. Update your repository index, then install Nginx:
Press Y to confirm the installation. If you are asked to restart services, press ENTER to accept the defaults.
You need to allow access to Nginx through your firewall. Having set up your server according to the initial server prerequisites, add the following rule with ufw:
Now you can verify that Nginx is running:
Output:
Next you will add a custom server block with your domain and app server proxy.
It is recommended practice to create a custom configuration file for your new server block additions, instead of editing the default configuration directly.
Create and open a new Nginx configuration file using nano or your preferred text editor:
Insert the following into your new file, making sure to replace your_domain
with your own domain name:
Save and exit, with nano
you can do this by hitting CTRL+O
then CTRL+X
.
Next, enable this configuration file by creating a link from it to the sites-enabled directory that Nginx reads at startup, making sure again to replace your_domain
with your own domain name::
You can now test your configuration file for syntax errors:
With no problems reported, restart Nginx to apply your changes:
Go to your DNS provider, and add a new A record. Name will be your domain name, and value will be the Public IPv4 address from your droplet
Nginx is now configured as a reverse proxy for your application server. You should now be able to open the app: http://yourdomain.com.
If you'd like to add a secure https
connection to your Droplet like https://yourdomain.com, you'll need to do the following:
For installing Certbot and enabling HTTPS on NGINX, we will rely on Python. So, first of all, let's set up a virtual environment:
Afterwards, run this command to install Certbot:
Now, execute the following command to ensure that the certbot
command can be run:
Finally, run the following command to obtain a certificate and let Certbot automatically modify the NGINX configuration, enabling HTTPS:
After following the certificate generation wizard, we will be able to access our Droplet via HTTPS using the address https://yourdomain.com
To enable Certbot to automatically renew the certificates, it is sufficient to add a cron job by running the following command:
You have successfully setup Flowise on your Droplet, with SSL certificate on your domain 🥳
Navigate to the directory you installed flowise in
Stop and remove docker image
Note: This will not delete your flows as the database is stored in a separate folder
Pull the latest Flowise Image
You can check the latest version release here
Start the docker