Loading...

Purchase a Virtual Dedicated Server with Langflow Installation

Langflow is an open-source platform that enables users to build, manage, and visualize AI workflows from a unified interface. Rather than relying on multiple tools and scripts, it provides a centralized web-based dashboard for creating, configuring, and deploying custom language model automations.

This article explains how to purchase a Bluehost Virtual Dedicated Server (VDS) hosting plan with Langflow installed.

For more information about Langflow, visit the What is Langflow? A Complete Overview article.

Why Choose Langflow?

Langflow provides a centralized platform for managing AI workflows securely and efficiently. With its all-in-one dashboard, users can design flows, set up integrations, oversee performance metrics, and deploy models from a single location.

Uses of Langflow

Here are some of Langflow's key capabilities.

  • Workflow Management: Easily create, organize, and manage your AI workflows. You can also connect integrations and automate tasks with custom triggers.
  • Model Deployment: Deploy and manage custom language models, making it simple to keep your AI applications running smoothly.
  • Resource Monitoring: Keep an eye on your system's performance with real-time insights into CPU, memory, and disk usage.
  • Security Settings: Protect your environment by managing user access, assigning permissions, and configuring backups for added peace of mind.

Whether you're building AI-powered applications or automating complex processes, Langflow provides a secure, dependable, and easy-to-use platform for managing AI workflows on your VPS.

System Requirements

Ensure your server meets the minimum requirements before deployment. For production use, we recommend allocating additional resources.

Resource Minimum Recommended
CPU 2 vCPUs 4 vCPUs
RAM 4 GB 8 GB
Disk 20 GB 30 GB

How to Purchase a Virtual Dedicated Server with Langflow Installation

Langflow can be installed on a Bluehost Virtual Dedicated Server (VDS). You can choose to have Langflow installed during the initial VDS purchase or install it manually at a later time.

  1. In your browser, go to https://www.bluehost.com.
  2. Click Hosting in the top menu, then select Virtual Dedicated Server.

    Bluehost - Hosting tab - Virtual Dedicated Server

    You can also go to this link directly: https://www.bluehost.com/vds-hosting.

  3. On the Virtual Dedicated Server Hosting page, click Explore Plans. You can also scroll down to the hosting plans section.
    Bluehost - Hosting tab - Virtual Dedicated Server
     
  4. Choose a plan from either tab — Standard or High Performance — by clicking Choose Plan.

    VDS hosting - Choose plan

    Pricing is subject to change. Please visit https://www.bluehost.com/vds-hosting for the current introductory/sign-up offer for the Bluehost Virtual Dedicated Server hosting. For the most up-to-date renewal pricing, visit your Bluehost Portal's Renewal Center.
  5. On the next page, configure your VDS hosting to meet your requirements. The configuration options are divided into the following sections:
    • Location: Select your data center in this section.

      VDS hosting - Select your data center's location
       

    • Hardware: This section shows your pre-selected plan. You can also switch to another Virtual Dedicated Server plan in this section.

      VDS hosting - Configure your server's hardware
       

    • Software:
      If the selected plan does not meet the app's minimum requirements, the app will be grayed out.
      1. Under the Application tab, click on Langflow.

        VDS hosting - Software - Application tab - Langflow

        You can install only one application per purchase; the system will automatically select the best operating system for it.
      2. In the pop-up, click Confirm.

        VDS hosting - Software - Application tab - Langflow pop-up

    • Support & Security: You can add Premium Support - Recurring, which provides priority access to expert assistance and faster response times.

      VDS hosting - Support & Security
       

    • Advanced Options:
      • Extra IPs: You can add IP addresses for an additional fee. Pricing changes based on how many IPs you add.
      • Hostname: Assign a custom hostname to identify your server. This is optional.

        VDS hosting - Advanced Options

  6. Select your billing term and review your selected items on the right pane, along with the summarized total cost.

    VDS hosting - Select billing term and order summary
     

  7. Click Continue to checkout.
  8. Do the following on the Checkout page:


    If you're new to Bluehost:

    1. Create your Bluehost account by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!

      Checkout page - Create an account
       

    2. Select your preferred payment method: credit card, Google Pay, or PayPal. Enter your billing information.

      Checkout page - Billing Information

    If you have an account with us, you will see your Bluehost login details when you are logged into your Bluehost Portal. If you are not logged in, please click the Log In link.

    VDS hosting - Log in
     

  9. In the Shopping Cart, choose your billing term if you did not choose one on the previous page.

    VDS hosting - Shopping Cart
     

  10. Add a Promo code if you have one and then click Submit Payment to complete your purchase.

After completing the purchase, your VDS hosting will begin provisioning. You can access and manage your new VDS hosting in the Hosting tab of your Bluehost Portal.

If you have questions about purchasing the Virtual Dedicated Server (VDS) hosting, please contact us for assistance.

How to Set Up and Manage a Langflow Server

Langflow is an open-source, low-code platform for developing AI-powered applications and workflows. The following sections outline the server's default configuration and the steps required to securely get started.

Phase 1: The Automatic First Boot (Behind the Scenes)

The initial startup takes 2-5 minutes while Langflow initializes its SQLite database and serves frontend assets. A background cloud-init script handles all initial provisioning and self-deletes to prevent re-running.

  1. Security Generation : The system generates a random superuser password and a secret key (LANGFLOW_SECRET_KEY) to encrypt your API keys. It writes these credentials securely to /root/.app_secrets.
  2. HTTPS/SSL Setup: The server detects its public IP and requests a Let's Encrypt TLS certificate via Certbot so your browser shows a secure connection. If on a private network, it falls back to a self-signed certificate. Nginx is configured automatically to reverse-proxy traffic to the backend.
  3. Application Launch: A program called Supervisor starts the Langflow backend (safely bound to 127.0.0.1:7860, so it isn't directly exposed to the internet).

Phase 2: Reset Your Root Password

  1. Log in to your Bluehost Portal.
  2. In the left-hand menu, click the Hosting tab.

    Self Managed VPS
     

  3. Look for the server you want to manage then click the View Details to see more options.

    Self Managed VPS
     

  4. Click the Reset Password.

    Self Managed VPS
     

  5. In the pop-up window, type your new root password, then click Reset Password again to confirm and save the changes.

    Self Managed VPS
     

Phase 3: Connect to Your Server through SSH

Now that your automated setup is complete, you can retrieve your generated credentials and log in.

  1. Connect to your VPS via SSH.
    Open your computer's terminal (or an SSH client like PuTTY) and run the following command to log into your server as the administrator, using your server's public IP address:
    ssh root@your_server_ip

    Follow the prompts and enter the new root password you created in the step above.

  2. The login credentials are shown in the MOTD (Message of the Day) each time you connect, or you can print them out by running:
    cat /root/.app_secrets

    Example Output:

    root@server-646882:~# cat /root/.app_secrets
    LANGFLOW_SUPERUSER=admin
    LANGFLOW_SUPERUSER_PASSWORD=t3st159f3951a4fe47e30fe7
    LANGFLOW_SECRET_KEY=T3stddab02e4360af103d65e0bd9dea300d130fa00f408bfa86af22aef9be6a6
    SITE_URL=https://12.3.456.789

Phase 4: Access the Web Panel

Now, you will leave the terminal for a moment and move to your web browser. 

  1. Navigate to the panel:  Open your web browser and go to https://<server-ip>. HTTP (port 80) redirects to HTTPS automatically. Note: If using a private IP with a self-signed certificate, you will need to accept your browser's security warning to proceed.

    Example: [http://12.3.456.789] (http://12.3.456.789)

  2. Log in: Use the admin username and the password you retrieved in Phase 3, Step 2, to access your dashboard.

    Self-Managed - Langflow - Login page
     

Phase 5: Building Flows and Connecting LLMs

  1. Create your first flow
    Click Create first flow to start from a blank canvas, or choose a starter template from the gallery to explore the interface. Drag components from the left sidebar onto the canvas and connect their inputs and outputs.

    Self-Managed - Langflow - Create First Flow
     

  2. Connect an LLM provider
    Add an OpenAI, Anthropic, Ollama, or other model component to your flow by clicking the Configure Model Providers.

    Self-Managed - Langflow - Configure Model Providers
     

  3. Enter your API keys
    Paste your API key into the api_key field.

    Example formats:

    OpenAI key: sk-...
    Anthropic key: sk-ant-...
    Ollama base URL: http://localhost:11434  (if installed on the same host)

Phase 6: Post-Deployment Configurations

While the automated setup handles the basics, you may eventually want to update your password or manually refresh your SSL certificate.

  1. Change your superuser password
    1. Log in to your server via SSH and edit the environment file:
      nano /etc/default/langflow
    2. Update the password value:
      LANGFLOW_SUPERUSER_PASSWORD=yournewpassword
    3. Save the file ( Ctrl + O, Enter, Ctrl + X) and restart the service:
      supervisorctl restart langflow
  2. Manually Re-request an SSL Certificate
    If you ever need to manually re-request an SSL certificate tied to a public IP after the initial deployment, run:
    /opt/certbot/bin/certbot certonly \
      --webroot --webroot-path /var/www/letsencrypt \
      -m [email protected] --agree-tos --non-interactive \
      --ip-address
      
    nginx -t && systemctl reload nginx

Phase 7: Day-to-Day Management

The image also sets up tools to help you manage the server going forward. The firewall (UFW) is already configured to only allow essential traffic (Ports 22, 80, and 443), and weekly log rotations are enabled. Note: Minimum system resources recommended 4 vCPUs and 8 GB RAM for a comfortable experience.

If you ever need to troubleshoot, update, or back up the system, you can use these core commands:

  • Check health status:
    supervisorctl status langflow
  • Reboot the application:
    supervisorctl restart langflow
  • View live application logs:
    tail -f /var/log/langflow/langflow.log
  • Upgrade Langflow to the newest version:
    sudo -u langflow /opt/langflow/venv/bin/pip install --upgrade langflow
    supervisorctl restart langflow
  • Backup your persistent data:
    supervisorctl stop langflow
    tar -czf langflow-backup.tar.gz /opt/langflow/data /root/.app_secrets
    supervisorctl start langflow

Supporting Information and Sample Output

You can run cat /root/README.md to see more information and useful commands:

Example Output:

root@server-123456:~# cat /root/README.md
# Langflow

## Description

Langflow is an open-source low-code platform for building and deploying AI-powered applications and multi-agent workflows. It provides a visual drag-and-drop interface for composing LLM pipelines and integrating with OpenAI, Anthropic, Ollama, vector stores, and dozens of other data sources and tools.

This image ships Langflow on Ubuntu 24.04, installed in a Python virtual environment and managed by Supervisord. Nginx sits in front as a reverse proxy with automatic TLS termination. On first boot, a Let's Encrypt certificate is provisioned (or a self-signed fallback for private networks).


## Services

| Service    | Port     | Purpose                                                   |
|------------|----------|-----------------------------------------------------------|
| Langflow   | 7860     | Langflow FastAPI backend (internal only, bound to 127.0.0.1) |
| Nginx      | 80, 443  | Reverse proxy, TLS termination, WebSocket upgrade         |
| Supervisor | n/a      | Process supervisor managing the Langflow backend          |
| OpenSSH    | 22       | Remote access (UFW rate-limited)                          |


## How to Use

### 1. Access Langflow

Wait 3-5 minutes after first boot while Langflow initialises its database and serves frontend assets. Then open your browser to:

```
https://
```

HTTP (port 80) redirects to HTTPS automatically. If the server has a public IP, a Let's Encrypt certificate is issued. On private networks a self-signed certificate is used; accept the browser warning to proceed.

### 2. Log in

A superuser account is created automatically at first boot. Retrieve your credentials with:

```bash
cat /root/.app_secrets
```

The credentials are also shown in the MOTD each time you SSH in. Log in with the `admin` username and the generated password.

### 3. Create your first flow

Click **New Flow** to start from a blank canvas, or choose a starter template from the gallery to explore the interface. Drag components from the left sidebar onto the canvas and connect their inputs and outputs.

### 4. Connect an LLM provider

Add an **OpenAI**, **Anthropic**, **Ollama**, or other model component to your flow and paste your API key into the `api_key` field. Keys are encrypted at rest using `LANGFLOW_SECRET_KEY`.

```
OpenAI key     : sk-...
Anthropic key  : sk-ant-...
Ollama base URL: http://localhost:11434  (if Ollama is installed on the same host)
```

### 5. Change your password

To update the superuser password, edit `/etc/default/langflow` and set a new value:

```
LANGFLOW_SUPERUSER_PASSWORD=yournewpassword
```

Then restart the service:

```bash
supervisorctl restart langflow
```

### 6. SSL / HTTPS certificate behaviour

On first boot, TLS is provisioned automatically:

- **Public IP** - certbot requests a Let's Encrypt certificate tied to the server's public IP. No browser warning.
- **Private IP** - a self-signed certificate is generated as a fallback. HTTPS still works but browsers will warn.

To manually re-request a certificate after deployment:

```bash
/opt/certbot/bin/certbot certonly \
  --webroot --webroot-path /var/www/letsencrypt \
  -m [email protected] --agree-tos --non-interactive \
  --ip-address 

nginx -t && systemctl reload nginx
```

## Useful Commands

```bash
# Service management
supervisorctl status langflow           # Check Langflow status
supervisorctl restart langflow          # Restart Langflow
supervisorctl stop langflow             # Stop Langflow
supervisorctl start langflow            # Start Langflow
systemctl restart nginx                 # Restart nginx

# Logs
tail -f /var/log/langflow/langflow.log        # Live application log
tail -f /var/log/langflow/langflow-error.log  # Live error log
tail -f /var/log/nginx/access.log             # Nginx access log
tail -f /var/log/nginx/error.log              # Nginx error log

# Health check
curl http://127.0.0.1:7860/health       # Backend health endpoint

# Upgrade Langflow
sudo -u langflow /opt/langflow/venv/bin/pip install --upgrade langflow
supervisorctl restart langflow

# Backup persistent data
supervisorctl stop langflow
tar -czf langflow-backup.tar.gz /opt/langflow/data /root/.app_secrets
supervisorctl start langflow

# Check UFW firewall rules
ufw status
```

## First Boot Behaviour

On first boot the cloud-init per-instance script `/var/lib/cloud/scripts/per-instance/001_onboot`:

1. Generates a random superuser password and secret key
2. Writes credentials to `/root/.app_secrets` (mode 0600)
3. Patches `/etc/default/langflow` with the generated values
4. Detects the server's public IP address
5. Requests a Let's Encrypt TLS certificate via certbot (falls back to self-signed if unreachable)
6. Rewrites the nginx config with the full HTTPS reverse-proxy block and reloads nginx
7. Writes the site URL to `/root/.app_secrets`
8. Starts Supervisor and brings up the Langflow backend
9. Self-deletes to prevent re-running on cloud-init reset

Initial startup takes 2-5 minutes while Langflow initialises its SQLite database and generates a secret key.


## Configuration Files Reference

| File                                           | Purpose                                         |
|------------------------------------------------|-------------------------------------------------|
| `/etc/default/langflow`                        | Environment variables (port, auth, DB, secrets) |
| `/opt/langflow/run.sh`                         | Wrapper script that loads env file and starts Langflow |
| `/etc/supervisor/conf.d/langflow.conf`         | Supervisor program definition                   |
| `/etc/nginx/sites-available/langflow`          | Nginx site config (rewritten at first boot)     |
| `/etc/logrotate.d/langflow`                    | Log rotation config (weekly, 5 backups)         |
| `/opt/langflow/data/`                          | SQLite database, flow exports, cache, secret key |
| `/root/.app_secrets`                           | Site URL written at first boot                  |
| `/var/log/langflow/langflow.log`               | Application stdout log                          |
| `/var/log/langflow/langflow-error.log`         | Application stderr log                          |


## Security Hardening

| Hardening       | Detail                                                          |
|-----------------|-----------------------------------------------------------------|
| UFW firewall    | Only ports 22, 80, 443 open - default deny inbound             |
| SSH             | Password authentication disabled, key-only access              |
| Langflow        | Bound to 127.0.0.1:7860 - not reachable directly from outside  |
| Secret key      | `LANGFLOW_SECRET_KEY` encrypts API keys stored in flows        |
| Auth            | Login required by default; superuser credentials generated at first boot |
| TLS             | HTTPS enforced; HTTP redirects to HTTPS                        |


## Image Contents

This image installs and configures:

- Langflow (latest) in a Python virtual environment at `/opt/langflow/venv`
- Supervisord managing the Langflow process as the `langflow` system user
- Nginx as a reverse proxy with HTTP -> HTTPS redirect and WebSocket support
- Certbot (via pip) for automatic Let's Encrypt TLS certificates
- UFW firewall with ports 22, 80, and 443 open
- Log rotation at `/etc/logrotate.d/langflow`
- This README at `/root/README.md`


## Minimum Resources

| Resource | Minimum  | Recommended |
|----------|----------|-------------|
| CPU      | 2 vCPUs  | 4 vCPUs     |
| RAM      | 4 GB     | 8 GB        |
| Disk     | 20 GB    | 30 GB       |

> Langflow loads a significant number of ML-related Python packages at startup. 4 GB RAM is the practical minimum for a stable instance; 8 GB is comfortable for running larger flows or multiple concurrent users.


## Links

- Manage: [https://SERVER_IP/](https://SERVER_IP/)
- Documentation: [https://docs.langflow.org](https://docs.langflow.org)
- Quickstart guide: [https://docs.langflow.org/get-started-quickstart](https://docs.langflow.org/get-started-quickstart)
- Components reference: [https://docs.langflow.org/components-overview](https://docs.langflow.org/components-overview)
- Integrations (LLM providers): [https://docs.langflow.org/integrations-langchain](https://docs.langflow.org/integrations-langchain)
- GitHub: [https://github.com/langflow-ai/langflow](https://github.com/langflow-ai/langflow)

Summary

Learn how to purchase a Bluehost Virtual Dedicated Server (VDS) with Langflow pre-installed. This article covers Langflow's key features, recommended system requirements, the VDS purchase process, initial server configuration, secure access through SSH and HTTPS, connecting AI model providers, and ongoing server management. Langflow provides a centralized, low-code platform for building, deploying, and managing AI workflows and applications from a single dashboard.

Loading...