DeepFellow DOCS

Running DeepFellow on AWS

Benefits

You can start working with DeepFellow by renting machines on Amazon Web Services (AWS) within a VPC you configure — no need to own your infrastructure. This gives you:

  • Data privacy: your data stays within your rented machines and is never sent to external AI providers
  • Regional control: by selecting your AWS region, you decide under which jurisdiction your data is processed
  • Instant scaling: thanks to the AWS ecosystem, you can easily run multiple instances of DeepFellow in minutes
  • Reproducibility: anyone with access to the same Amazon Machine Image (AMI) can reproduce your setup instantly
  • Cost control: you only pay for AWS instance runtime, with no additional per-query fees

Installation

Selecting Instance

AWS EC2 web panel with "Name and tags" section and "Application and OS images" section.

  1. Login to your EC2 panel and launch a new instance.
  2. Enter the name of your instance in "Name and tags" section, for example: deepfellow-infra
  3. Search for deepfellow in "Application and OS Images" section and press Enter. You will be redirected to another panel.
  4. Select "Community AMI" tab and select deepfellow-infra You will be taken back to the previous screen, where deepfellow-infra replaced the default image.

Instance Hardware Configuration

Instance configuration panel with sections: "name and tags", and "Application and OS images".

  1. Select the instance type which will determine available computational resources (VRAM, RAM, CPUs) and pricing.

    DeepFellow supports all the GPU instances recommended in AWS Developer Guide. You may find g5.xlarge or g6.xlarge to be a good starting point.

    See model recommendations table for further guidance.

Instance configuration panel with sections: "instance type", "key pair", and "network settings".

  1. Important! In "Key pair" section select your SSH key.

Instance Network and Storage Settings

Instance configuration panel with sections: "instance type", "key pair", "network settings", and "Launch Instance" button.

  1. In "Network settings" section:

    1. Select "Create security group".
    2. Check "Allow SSH traffic from".
    3. Check "Allow HTTPS traffic from the Internet".
    4. Check "Allow HTTP traffic from the Internet".
  2. In "Configure storage" section, leave the default values.

Increasing GiB value allows you to store more models. Running DeepFellow Infra alone (with no models) requires 30 GiB.

First Launch

Green prompt with "Success" message and instance ID link which navigates to instance panel.

  1. Click "Launch Instance" button. You will see a green success prompt with your instance ID.

  2. Click ID to open instance console in a new browser tab.

Instance panel with IDs, IPs, subnets and tabs: Details, Status, Monitoring, Security, Networking, Storage, Tags.

  1. Click the blue "Connect" button in the upper right corner, then select "EC2 serial console" tab, and then the orange "Connect" button. A new browser tab will open.

You can monitor the bootstrap process of DeepFellow Infra instance. After the finished installation, you will see the environmental variables displayed.

Console with DeepFellow Infra bootstrap process finished. Env variables are shown.

  1. Copy the value of DF_INFRA_ADMIN_KEY.
  2. Go back to instance panel tab, then click on the "open address" link near Public IPv4. You will be redirected to DeepFellow Infra Web Panel.
  3. Enter the copied DF_INFRA_ADMIN_KEY value in the pop-up window. From now on, you can manage all your models.

Configure SSL

Requirements:

  • You need to add an A-type record in your DNS provider administration panel. Example DNS record:
infra-aws-01 IN A <YOUR EC2 INSTANCE IP>
  • Make sure port 80 is open on your instance.
  1. Login to your instance via SSH:

    ssh deepfellow@your-ec2-instance-ip
  2. Look-up the SSL configuration script:

    cat /home/deepfellow/deepfellow-nginx-letsencrypt.sh
  3. Run the script from your home directory and follow the instructions:

    deepfellow@ec2-instance:~# sudo ./deepfellow-nginx-letsencrypt.sh infra.your-domain.com
     Your domain: infra.your-domain.com
    🔍 Validate nginx config...
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Enter email address or hit Enter to skip.
    (Enter 'c' to cancel):
    
    ---
    
    Please read the Terms of Service at:
    <https://letsencrypt.org/documents/LE-SA-v1.6-August-18-2025.pdf>
    You must agree in order to register with the ACME server. Do you agree?
    
    ---
    
    (Y)es/(N)o: Y
    Account registered.
    Requesting a certificate for infra.your-domain.com
    
    Successfully received certificate.
    Certificate is saved at: /etc/letsencrypt/live/infra.your-domain.com/fullchain.pem
    Key is saved at: /etc/letsencrypt/live/infra.your-domain.com/privkey.pem
    This certificate expires on 2026-05-20.
    These files will be updated when the certificate renews.
    
    Deploying certificate
    Successfully deployed certificate for infra.your-domain.com to /etc/nginx/sites-enabled/deepfellow-infra.conf
    Congratulations! You have successfully enabled HTTPS on <https://infra.your-domain.com>
    
    NEXT STEPS:
    
    - The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See <https://certbot.org/renewal-setup> for instructions.
    
    ---
    
    If you like Certbot, please consider supporting our work by:
    
    - Donating to ISRG / Let's Encrypt: <https://letsencrypt.org/donate>
    - Donating to EFF: <https://eff.org/donate-le>
    
    ---
    
    ✅ DeepFellow Infra is available at: <https://infra.your-domain.com>

If port 80 is open, the script will succeed. After navigating to your certified domain it should open DeepFellow Infra Web Panel.

Usage

Login via SSH

To log into your DeepFellow instance on AWS, type:

ssh deepfellow@your-ec2-instance-ip

DeepFellow CLI is already installed there.

If you have publickey error, double check "Key pair" section in your instance web panel.

Start

To start DeepFellow Infra, type:

deepfellow infra start

Connecting to DeepFellow Server

If you don't have DeepFellow Server installed yet, please follow its installation guide.

Let's assume your DeepFellow Infra AWS instance is hosted at https://infra.your-domain.com and has the following env values:

$ deepfellow infra info

💡      Variables stored in /home/mark/.deepfellow/infra/.env
        DF_NAME=infra
        DF_INFRA_URL=https://infra.your-domain.com
        DF_INFRA_API_KEY=dfinfra_c7a934fc-5e1f-41b2-b10e-57016c18d516
        [ ... truncated for brevity ... ]
...

Log into the machine where the DeepFellow Server is installed and set the following env:

deepfellow server env set DF_INFRA__URL https://infra.your-domain.com
deepfellow server env set DF_INFRA__API_KEY dfinfra_c7a934fc-5e1f-41b2-b10e-57016c18d516

and restart:

deepfellow server stop && deepfellow server start

Test Connection

See Quickstart to make your first request to DeepFellow.

Administration

After logging into your instance, you can:

Uninstall

Instance summary panel with instance state button and "Terminate (delete) instance" option.

  1. Go to EC2 administration panel and click Instances.
  2. Select the desired instance from the table to open its administrative panel.
  3. Click "Instance state" button on the right and then "Terminate (delete) instance" button. Within a few minutes, your instance will be deleted.

We use cookies on our website. We use them to ensure proper functioning of the site and, if you agree, for purposes such as analytics, marketing, and targeting ads.