Skip to content

Getting started

Subscribe, launch Langflow 0.2.1, sign in, and run the local demo.

You need: an AWS account that can subscribe on AWS Marketplace and launch EC2. Session Manager needs the AWS CLI, the Session Manager plugin, and an instance profile that includes AmazonSSMManagedInstanceCore. SSH as ubuntu is the other connection the listing names.

Watch on YouTube.

1. Subscribe

Open the Langflow listing, choose View purchase options, review the terms, and subscribe. When the subscription is active, choose Launch your software.

2. Launch the instance

On the EC2 launch page:

  1. Choose t3.large (8 GiB of memory), Ubuntu 24.04, x86_64.
  2. Under Configure storage, use an encrypted gp3 root volume of at least 32 GiB.
  3. Require IMDSv2.
  4. For Session Manager, attach an IAM instance profile that includes AmazonSSMManagedInstanceCore.
  5. Leave port 7860 closed to inbound traffic. If you use SSH, allow TCP 22 only from your administrative address.
  6. Choose Launch instance.

First boot creates the administrator identity and starts Langflow. Allow several minutes.

3. Connect

In the EC2 console, select the instance, choose Connect, then Session Manager, then Connect. If the shell starts as ssm-user, switch to ubuntu:

sudo -iu ubuntu
sushi-langflow help
sushi-langflow status
cat /etc/langflow/admin.json

Read the username and password from admin.json in that session. Keep the file and its values out of tickets, chat, and recordings. SSH sign-in is as ubuntu.

If startup is still initializing, wait and run sushi-langflow status again. Logs:

sudo journalctl -u langflow.service --no-pager -n 100

4. Sign in

On your workstation, for an instance in us-east-1:

read -r -p "EC2 instance ID: " SUSHI_LF_INSTANCE_ID
aws --region us-east-1 ssm start-session \
  --target "$SUSHI_LF_INSTANCE_ID" \
  --document-name AWS-StartPortForwardingSession \
  --parameters '{"portNumber":["7860"],"localPortNumber":["7860"]}'

Leave that command running. Open http://127.0.0.1:7860 and sign in with the values from admin.json. Langflow listens only on 127.0.0.1:7860 on the instance.

The published guide also documents an SSH tunnel. On your computer:

read -r -p "Absolute EC2 key-file path: " SUSHI_LF_SSH_KEY
read -r -p "Instance DNS name or address: " SUSHI_LF_EC2_HOST
ssh -i "$SUSHI_LF_SSH_KEY" -N \
  -L 7860:127.0.0.1:7860 "ubuntu@$SUSHI_LF_EC2_HOST"

Use a desktop browser for the canvas. Phone screens have limited space.

5. Run the local demo

As ubuntu on the instance, with no arguments:

bash /opt/sushi/docs/demo.sh

It waits for Langflow, saves a Chat Input to Chat Output flow, runs it, and reads it back. It does not use a provider key and does not call a model. A successful run prints SUSHI_CUSTOMER_DEMO_PASSED.

6. Use your own provider

In the editor, connect Chat Input, an OpenAI-compatible model, and Chat Output. Set the model and endpoint for your provider account, supply your key, save the flow, and run it in the playground. Each execution can add a provider charge. The supplied model bundle is OpenAI-compatible. No provider account or credits are included.

For the command-line provider demo, create a mode 0600 key file that refuses to replace an existing file:

python3 - <<'PY'
import getpass
import os
from pathlib import Path
key = getpass.getpass("Provider API key: ").strip()
if not key or "\n" in key or "\r" in key:
    raise ValueError("Enter one nonempty key line")
path = Path.home() / ".langflow-provider-key"
fd = os.open(path, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600)
with os.fdopen(fd, "w") as stream:
    stream.write(key + "\n")
print("Key file created.")
PY

Then pass the endpoint and model. For OpenAI the API base in the guide is https://api.openai.com/v1:

read -r -p "Provider API base URL: " SUSHI_LF_ENDPOINT
read -r -p "Provider model ID: " SUSHI_LF_MODEL
sushi-langflow demo \
  --endpoint "$SUSHI_LF_ENDPOINT" \
  --model "$SUSHI_LF_MODEL" \
  --api-key-file "$HOME/.langflow-provider-key"

The command signs in, saves a three-node flow, runs a short prompt, and reads the saved response. It prints the flow ID, session ID, and model response. A provider failure does not invent a substitute answer.

sushi-langflow demo --help lists the arguments. See Configuration for the directories to back up.

Last updated November 1, 2026 · Suggest an improvement