Installation
The minimal setup for DeepFellow Architecture is one DeepFellow Server and one instance of DeepFellow Infra. DeepFellow Server and DeepFellow Infra can be installed on the same machine. For efficiency at scale, we recommend installing them on different server machines. Note that you can install more DeepFellow Infras and connect them together into so called Mesh to gain efficiency via load-balancing.
See Architecture for an example layout.
Requirements
Make sure you have the following programs in your system before installing DeepFellow:
- Git - version 2.30.0 or newer
- Python 3 – version 3.10 or newer
- Docker engine - version 28.0.0 or newer
- Python package manager – one of the following: uv, pipx, pip3 / pip
DeepFellow CLI
To install DeepFellow CLI on every machine dedicated to be DeepFellow Server or DeepFellow Infra:
curl https://deepfellow.ai/install.sh | bashTo verify successful installation of DeepFellow CLI, type deepfellow:
$ deepfellow
┌─────────────────────────────────────────────────┐
│ │
│ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓ │
│ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ │
│ ▓▓ ▓▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓ │
│ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ │
│ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓ │
│ │
│ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓ ▓▓ ▓▓▓▓▓▓ ▓▓ ▓▓ │
│ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ │
│ ▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓ ▓▓ │
│ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓▓▓▓▓ │
│ ▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓ ▓ ▓▓ │
│ │
└─────────────────────────────────────────────────┘
`deepfellow --help` for help with commands.To uninstall DeepFellow CLI, run:
deepfellow cli uninstallThe command detects your package manager automatically and removes the CLI.
To also remove all DeepFellow data — including Infra and Server containers, volumes, and the ~/.deepfellow directory — add --prune:
deepfellow cli uninstall --prune--prune permanently deletes all DeepFellow data. This action cannot be undone.
DeepFellow Infra
Installation
This is a guide to local installation. You can also setup DeepFellow Infra hosted on AWS.
Install and configure DeepFellow Infra:
$ deepfellow infra install
💡 Installing DeepFellow Infra.
❓ Provide a DF_NAME for this Infra (infra):
❓ Provide a DF_INFRA_URL for this Infra (http://infra:8086):
❓ Provide a docker network name (deepfellow-infra-net):
❓ Is it safe to print API keys here? [y/n] (n):
💡 Configuration of DF_INFRA_ADMIN_API_KEY
key required for an admin identify in DeepFellow Infra.
💡 Configuration of DF_INFRA_API_KEY
key needed to communication between DeepFellow Infra and DeepFellow Server.
💡 Configuration of DF_MESH_KEY
key needed by other DeepFellow Infra to attach to this DeepFellow Infra and thus extend the Mesh.You will be offered to optionally enter API Keys for various services you might want to use:
❓ Provide an optional Hugging Face Token (hf***bc):
❓ Provide an optional Civitai Token (13***ff):- Hugging Face - Get Hugging Face API Key
- Civitai - Get Civitai API Key models, set
DF_CIVITAI_TOKENas well.
You can skip these if you want. You can always configure your envs later.
Lastly, successful installation will be confirmed:
💡 Generated /home/mchambers/.deepfellow/infra/.env.
💡 Updated /home/johndoe/.deepfellow/config.
💡 Updated /home/johndoe/.deepfellow/secrets.
💡 Saved Docker Compose configuration to /home/johndoe/.deepfellow/infra/compose.yaml
💡 Pulling docker image(s).
✅ DeepFellow Infra installed.
To start the docker image - `deepfellow infra start`.
For info about installation - `deepfellow infra info`.Non-Interactive Installation
For scripting and automation, pass --non-interactive with the required options:
deepfellow --non-interactive infra installThe installer applies default values for all prompts and auto-generates API keys. To customize any value after installation, use deepfellow infra env set. See Envs for the full list of variables.
Configure SSL
You can setup the SSL certificates automatically by typing:
deepfellow infra ssl-onThis command will create and setup a certificate for you for default port 443. You can use your own key file and cert file as well as customize the port and the URL at which Infra with SSL is available:
deepfellow infra ssl-on [SSL-KEY-PATH] [SSL-CERT-PATH] --port [SSL-PORT] --server [SSL-INFRA-URL]Alternatively, you can expose given DeepFellow Infra through an nginx reverse proxy that handles SSL/TLS termination.
Start
$ deepfellow infra start
💡 Starting DeepFellow Infra
✅ DeepFellow Infra started.Restart
To apply a configuration change or recover the stack without running two commands, restart DeepFellow Infra. The restart command stops the whole Docker Compose stack, then starts it again.
$ deepfellow infra restart
💡 Restarting DeepFellow Infra
💡 DeepFellow Infra started on http://localhost:8086To restart an installation in a non-default location, pass --directory (or --dir).
Install First Model
To install a model, you need to install a service first. Type in your terminal:
deepfellow infra service install ollama
deepfellow infra model install ollama gemma3:1bYou can install bigger models according to the VRAM you have. Here are some recommendations:
| Model | 8GB | 12GB | 16GB | 24GB | 32GB | 64GB | 80GB |
|---|---|---|---|---|---|---|---|
| qwen3:8b | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deepseek-r1:8b | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| gemma3:4b | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| gemma3:12b | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| qwen3:14b | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deepseek-r1:14b | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| gpt-oss:20b | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| gemma3:27b | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| qwen3:32b | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| deepseek-r1:32b | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
| deepseek-r1:70b | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
The recommendations above apply to models that use Q4_K_M quantization.
After successful installation, you will see:
✅ Service ollama installed.
✅ Model gemma3:1b installed.You can install services and models using Web Panel as well. See DeepFellow Infra Web Panel guide for details.
The ollama service runs locally and needs no API key. To install a remote service, pass the provider API key with the --api-key flag:
deepfellow infra service install claude --api-key ANTHROPIC_API_KEY
deepfellow infra service install google --api-key GEMINI_API_KEY
deepfellow infra service install openai --api-key OPENAI_API_KEYWhen you omit --api-key for a service that requires one, the CLI prompts you for the key.
To list the services installed on an Infra instance, run:
deepfellow infra service listThe command shows only installed services. For each one it prints the id, type, instance, description, and whether the backend is downloaded:
$ deepfellow infra service list
💡 id: ollama
type: ollama
instance: default
description: Self-hosted easy to use LLM model runner.
downloaded: TrueWhen no services are installed, the command prints No services installed.
To target a specific instance, pass --server. Otherwise the command resolves the instance from the DF_INFRA_EXTERNAL_URL environment variable or prompts you for it:
deepfellow infra service list --server http://localhost:8086To uninstall model you can type:
deepfellow infra model uninstall ollama gemma3:1bIf you have many installed models in one of the services you can simply uninstall the service:
deepfellow infra service uninstall ollamaAll models in the service will be uninstalled automatically.
Connect More Infras
You can build an arbitrary topology (called Mesh) with your Infras by connecting them in child-parent relations.
Repeat the previous installation and configuration steps for each machine you dedicate to be DeepFellow Infra.
Then, to connect two Infras, use the following command on one of them:
deepfellow infra connect DF_INFRA_MESH_URL DF_MESH_KEYTo disconnect them:
deepfellow infra disconnectExample
Assume you want to connect two Infras in a child-parent relation.
-
Think which one of the two machines will be parent, and which one child.
-
On parent Infra, reveal its
DF_MESH_KEYvalue by runningdeepfellow infra infowith the--secretflag. API keys are masked by default:
$ deepfellow infra info --secret # on parent Infra
💡 Information about DeepFellow Infra:
NAME: infra
INFRA_URL: https://df-infra-node-1.com
INFRA_MESH_URL: wss://df-infra-node-1.com
INFRA_PORT: 8086
INFRA_IMAGE: github.simplito.com:5050/df/deepfellow-infra:latest
MESH_KEY: dfmesh_dbc8c1cf-c07a-4bba-bda1-d89829be37bb
INFRA_API_KEY: dfinfra_c7a934fc-5e1f-41b2-b10e-57016c18d516
INFRA_ADMIN_API_KEY: dfinfraadmin_99d7df55-107b-4327-aeef-54e187f6c5aa
CONNECT_TO_MESH_URL: undefined
CONNECT_TO_MESH_KEY: undefined
INFRA_DOCKER_SUBNET: deepfellow-infra-net
INFRA_COMPOSE_PREFIX: dfd834zh_
INFRA_DOCKER_CONFIG: /home/mark/.docker/config.json
INFRA_STORAGE_DIR: /home/mark/.deepfellow/infra/storage
HUGGING_FACE_TOKEN: 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
CIVITAI_TOKEN: 7fea22cc5605cf498066059415157828
...The list of environmental variables for parent Infra will appear.
The values of DF_CONNECT_TO_MESH_KEY and DF_CONNECT_TO_MESH_URL are undefined - this means parent Infra is not connected as child to any other Infra.
- On child Infra, verify that
DF_INFRA_URLis set to an address the parent can reach.
DF_INFRA_URL on the child must resolve from the parent's network. A local hostname such as http://infra:8086 works inside a Docker network but is unreachable from a parent on a different host (for example, one hosted on AWS). If the child is not publicly accessible, expose it through a public IP, a domain name, or a tunneling service such as ngrok, bore.pub, or localhost.run, then update the value:
deepfellow infra env set DF_INFRA_URL <var>PUBLIC_URL</var>- To connect child Infra to a parent, type the following on the child:
deepfellow infra connect wss://df-infra-node-1.com dfmesh_dbc8c1cf-c07a-4bba-bda1-d89829be37bbChild Infra will attempt to call parent Infra with DF_MESH_KEY. If parent Infra accepts the request, it will connect the child Infra.
If succeeded, from now on the child Infra will have its DF_CONNECT_TO_MESH_KEY and DF_CONNECT_TO_MESH_URL values set:
$ deepfellow infra info --secret # on child Infra
💡 Information about DeepFellow Infra:
NAME: infra
INFRA_URL: https://df-infra-node-2.com
INFRA_MESH_URL: wss://df-infra-node-2.com
INFRA_PORT: 8086
INFRA_IMAGE: github.simplito.com:5050/df/deepfellow-infra:latest
MESH_KEY: dfmesh_05f1b75e-9951-4dda-88b3-2868646d26c7
INFRA_API_KEY: dfinfra_c7a934fc-5e1f-41b2-b10e-57016c18d516
INFRA_ADMIN_API_KEY: dfinfraadmin_99d7df55-107b-4327-aeef-54e187f6c5aa
CONNECT_TO_MESH_KEY: dfmesh_dbc8c1cf-c07a-4bba-bda1-d89829be37bb
CONNECT_TO_MESH_URL: https://df-infra-node-1.com
INFRA_DOCKER_SUBNET: deepfellow-infra-net
INFRA_COMPOSE_PREFIX: dfd834zh_
INFRA_DOCKER_CONFIG: /home/helen/.docker/config.json
INFRA_STORAGE_DIR: /home/helen/.deepfellow/infra/storage
HUGGING_FACE_TOKEN: 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
CIVITAI_TOKEN: 7fea22cc5605cf498066059415157828This means child Infra is connected as child to another Infra located at https://df-infra-node-1.com.
Repeat the process to build a desired topology of Infras.
To disconnect child Infra and its descendants from parent Infra, simply type the following on the child Infra:
deepfellow infra disconnectEnvs
You can always display DeepFellow Infra configuration by running deepfellow infra info on your Infra host. API keys are masked by default; add --secret to reveal them.
$ deepfellow infra info
💡 Information about DeepFellow Infra:
NAME: infra
INFRA_URL: https://infra:8086
INFRA_MESH_URL: wss://infra:8086
INFRA_PORT: 8086
INFRA_IMAGE: github.simplito.com:5050/df/deepfellow-infra:latest
MESH_KEY: *****
INFRA_API_KEY: *****
INFRA_ADMIN_API_KEY: *****
CONNECT_TO_MESH_URL: undefined
CONNECT_TO_MESH_KEY: undefined
INFRA_DOCKER_SUBNET: deepfellow-infra-net
INFRA_COMPOSE_PREFIX: dfd834zh_
INFRA_DOCKER_CONFIG: /home/johndoe/.docker/config.json
INFRA_STORAGE_DIR: /home/johndoe/.deepfellow/infra/storage
HUGGING_FACE_TOKEN: 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
CIVITAI_TOKEN: 7fea22cc5605cf498066059415157828
...DF_INFRA_URL- URL of this Infra. When this Infra acts as a child in a Mesh, the value must be an address reachable from the parent Infra — not a local hostname.DF_INFRA_MESH_URL- URL for connecting InfrasDF_INFRA_API_KEY- key to authenticate requests from DeepFellow ServerDF_INFRA_ADMIN_API_KEY- key needed to perform administrative tasks on DeepFellow InfraDF_MESH_KEY- key needed by some other host to connect to this Infra and thus extend the MeshDF_CONNECT_TO_MESH_KEY-DF_MESH_KEYvalue of the parent InfraDF_CONNECT_TO_MESH_URL-DF_INFRA_URLvalue of the parent Infra
In general, setting env values can be done with the command:
deepfellow infra env set ENV_NAME ENV_VALUEFor example, type:
deepfellow infra env set DF_HUGGING_FACE_TOKEN hf_tLtVhncKYMXPvSWHFAklhMmdFayaGIJhlgto setup Hugging Face.
Setting an env value updates the .env file, but the running stack keeps using the old value until it restarts. After it updates the file, the command asks whether to restart the stack now:
💡 Updated /home/johndoe/.deepfellow/infra/.env.
❓ Restart the infra now to apply the change? [y/n] (y):Answer y (the default) to stop and restart the infra stack so the new value takes effect immediately. Answer n to leave the stack running with the old value until your next restart. This prompt appears only when an infra stack is running.
To unset this variable, type:
deepfellow infra env set DF_HUGGING_FACE_TOKENUninstall
To uninstall DeepFellow Infra, type:
deepfellow infra uninstallDeepFellow Server
Installation
As administrator, prepare your administrator credentials (email and password) you want to use for managing DeepFellow Server. Remember your password. You can always Reset Password if needed.
To install and configure DeepFellow Server, start with:
deepfellow server installYou will proceed to configure built-in components:
- Docker network
- no-sql database (for example MongoDB)
- connection with DeepFellow Infra
- vector database and embedding model
- telemetry
Docker Network
The installer first asks which Docker network DeepFellow Server will join. Use the same network name you chose during Infra installation so Server and Infra can reach each other:
$ deepfellow server install
💡 Installing DeepFellow Server.
❓ Provide a docker network name (deepfellow-infra-net):MongoDB
💡 DeepFellow Server requires a MongoDB to be installed.
❓ Install a local MongoDB for DeepFellow Server? [y/n] (y):
💡 A default MongoDB setup is created.If you choose n instead, you will be asked to provide Mongo URL (not mongo connection string!):
❓ Provide host:port for MongoDB e.g. 192.168.1.5:27017: mongo:27017If you use a service name like mongo, Docker will resolve it to the MongoDB container.
Be careful: localhost will not work as it refers to the container's own loopback interface.
You will be asked about database name and credentials:
❓ Provide database name for MongoDB: deepfellow
❓ Provide username for MongoDB: deepfellow-usr
❓ Provide password for MongoDB:Connection with Infra
Next, the installator will proceed to configure connection with Infra:
💡 DeepFellow Server is communicating with DeepFellow Infra.
❓ Provide DeepFellow Infra URL (http://infra:8086):
❓ Provide Deepfellow Infra API KEY:Docker resolves a name like infra internally to a Compose service name.
Be careful: localhost will not work as it refers to the container's own loopback interface.
Vector Database
Next, the installer configures the vector database and embedding model:
💡 DeepFellow Server might use a vector DB. If not provided some features will not work.
❓ Do you want to use a vector database with DeepFellow? [y/n] (y):
❓ Choose embedding type dense
❓ Choose the type of the vector database qdrant
❓ Install a local vector database for DeepFellow Server? [y/n] (y):
💡 DeepFellow will manage a Qdrant instance.
❓ Provide the model for embedding (mxbai-embed-large):
❓ Provide the embedding size (1024):The available embedding types are dense and sparse. The available vector database backends are qdrant and milvus.
Answer n to "Install a local vector database?" if you want to connect to an existing instance. You will be asked for its URL:
❓ Install a local vector database for DeepFellow Server? [y/n] (y): n
❓ Provide Qdrant instance URL (http://qdrant:6333):If you use a service name like qdrant, Docker will resolve it to the Qdrant service.
Be careful: localhost will not work as it refers to the container's own loopback interface.
Telemetry
After that, OpenTelemetry configuration will start:
💡 DeepFellow Server might use an Open Telemetry.
❓ Do you have an Open Telemetry server ready? [y/n] (n): n
❓ Do you want to run Open Telemetry from this machine? [y/n] (n): y
💡 Let's configure Open Telemetry
❓ Do you want to export to Elasticsearch? [y/n] (n):If you answer n to "Do you want to export to Elasticsearch?" (the default), DeepFellow generates a debug-only OTel collector configuration. No Elasticsearch instance is required.
Inspect telemetry via the container log once Server is running:
docker logs -f otel-collector-containerThis mode suits local development, workshops, and demo environments.
To export to Elasticsearch, answer y. You will be prompted for your credentials:
❓ Do you want to export to Elasticsearch? [y/n] (n): y
❓ Provide your ElasticSearch endpoint: https://myelastic.com:9200
❓ Provide traces index: my-index
❓ Provide username: elastic_user
❓ Provide password:In both cases, installation ends with:
⚠️ Open Telemetry configuration stored in file:
/home/johndoe/.deepfellow/server/otel-collector-config.yaml
Please review its content before starting the DeepFellow Server.To use an existing OTel server instead of running one locally, answer y to "Do you have an Open Telemetry server ready?" You will be asked to provide the URL:
❓ Provide OTL url (http://otel-collector:4317):If you use a service name like otel-collector, Docker will resolve it to the otel-collector service in compose.
Be careful: localhost will not work as it refers to the container's own loopback interface.
To set up a local OTel collector without interactive prompts, use --otel-local in non-interactive mode. See Non-Interactive Installation.
By default, the server exports only traces to the collector. To also forward the server's Python log records, set DF_OTEL_LOGGING_ENABLED to true:
deepfellow server env set DF_OTEL_LOGGING_ENABLED trueThe server ships logs to the endpoint defined by DF_OTEL_EXPORTER_OTLP_ENDPOINT (default http://localhost:4317). This endpoint must accept the OTLP log signal over insecure gRPC. The server exports logs under the service name llm-audit, which lets you correlate them with existing traces in your observability backend. Tracing and log export are independent. Enable each one with its own variable, DF_OTEL_TRACING_ENABLED and DF_OTEL_LOGGING_ENABLED.
After configuring the components, successful installation will be confirmed:
💡 Generated /home/johndoe/.deepfellow/server/.env.
💡 A default Qdrant setup is created.
💡 Updated /home/johndoe/.deepfellow/config.
💡 Saved Docker Compose configuration to /home/johndoe/.deepfellow/server/compose.yaml
✅ DeepFellow Server Installed.
Call `deepfellow server start`.Non-Interactive Installation
For scripting and automation, pass --non-interactive with the required options:
deepfellow --non-interactive server installThe installer applies default values for all prompts and auto-generates secrets. To customize any value after installation, use deepfellow server env set. See Envs for the full list of variables.
OpenTelemetry in Non-Interactive Mode
In non-interactive mode, you have two ways to enable tracing:
--otel-local– starts a local debug-only OTel collector as part of the Docker Compose stack. No Elasticsearch is required. Use this for development or testing environments where you want tracing enabled without an external OTel backend.--otel-url URL– connects to an existing OTel collector at the given gRPC endpoint.
--otel-local and --otel-url are mutually exclusive. Pass only one.
To install DeepFellow Server with a local OTel collector:
deepfellow --non-interactive server install \
--infra-url http://infra:8086 \
--otel-localThe collector writes traces to its debug exporter only. To ship traces to Elasticsearch, use --otel-url and point it at an existing OTel collector configured with an Elasticsearch exporter, or run the interactive installer.
Start
$ deepfellow server start
Server start using config: /Users/simplito/.deepfellow/server/config.json
💡 Starting server
✅ DF Server started.Restart
To apply a configuration change or recover the stack without running two commands, restart DeepFellow Server. The restart command stops the whole Docker Compose stack, then starts it again.
$ deepfellow server restart
💡 Restarting DeepFellow Server
💡 DeepFellow Server started on http://localhost:8000To restart an installation in a non-default location, pass --directory (or --dir).
Create Admin Account
Before creating Admin account the DeepFellow Server should be up.
If DeepFellow Server is down, enter deepfellow server start command.
To create Admin account use deepfellow server create-admin command:
$ deepfellow server create-admin
❓ Provide admin name: admin
❓ Provide admin email: admin@example.com
❓ Provide admin password:
💡 Admin account created.Login
To perform administrative tasks on DeepFellow Server via CLI you have to log-in:
$ deepfellow server login
❓ Provide DeepFellow Server address: http://localhost:8000
💡 Updated /home/johndoe/.deepfellow/config.
❓ Please enter an email: admin@example.com
✅ Entered correct email.
❓ Please enter a password:
✅ Password accepted.
✅ Login successful.Reset Password
To reset password to DeepFellow Server enter:
$ deepfellow server password-reset
❓ Provide user email: admin@simplito.com
❓ Provide user password:
✅ Password changed.You will be asked to enter email address you have provided during configuration steps. If the user with the given email is recognized in the system the password will be changed.
Configure Email for Invitations
DeepFellow Server sends invitations over email. To enable this, configure an SMTP server with the DF_SMTP__* environment variables. Until you set them, invitation emails will not be sent.
| Variable | Description | Default |
|---|---|---|
DF_SMTP__HOST | Hostname of the SMTP server. | localhost |
DF_SMTP__PORT | Port of the SMTP server. | 25 |
DF_SMTP__AUTH | Set to 1 to authenticate with DF_SMTP__USER and DF_SMTP__PASSWORD, 0 to connect without authentication. | 0 |
DF_SMTP__USER | Username for SMTP authentication. Used only when DF_SMTP__AUTH is 1. | empty |
DF_SMTP__PASSWORD | Password for SMTP authentication. Used only when DF_SMTP__AUTH is 1. | empty |
DF_SMTP__EMAIL_FROM | Address that invitation emails are sent from. | no-reply@domain.com |
DF_SMTP__USE_TLS | Set to 1 to connect over TLS, 0 to disable it. | 0 |
Set each variable with deepfellow server env set. For example:
deepfellow server env set DF_SMTP__HOST smtp.example.com
deepfellow server env set DF_SMTP__PORT 587
deepfellow server env set DF_SMTP__AUTH 1
deepfellow server env set DF_SMTP__USER invitations@example.com
deepfellow server env set DF_SMTP__PASSWORD SMTP_PASSWORD
deepfellow server env set DF_SMTP__EMAIL_FROM invitations@example.com
deepfellow server env set DF_SMTP__USE_TLS 1A separate variable controls who is allowed to invite a person who does not yet have a DeepFellow account, so that the invitation creates the account:
| Variable | Description | Default |
|---|---|---|
DF_ONLY_ADMIN_CAN_CREATE_ACCOUNTS_BY_INVITATION | When set to 1, only an admin sends account-creating invitations. Set it to 0 to let the organization owner send them as well. | 1 |
deepfellow server env set DF_ONLY_ADMIN_CAN_CREATE_ACCOUNTS_BY_INVITATION 1When the inviter is not allowed to create an account this way, the server raises a "User not found" error.
Inviting a person who already has an account is always allowed for both admins and organization owners.
Envs
Display the environment variables of DeepFellow Server by running the deepfellow server env info command on your Server host. The command prints each variable with its DF_ prefix, which is the exact name Docker and your shell require.
$ deepfellow server info
💡 Information about DeepFellow Server:
SERVER_PORT: 8000
SERVER_URL: http://localhost:8000
SERVER_IMAGE: hub.simplito.com/deepfellow/deepfellow-server:v0.14.0
INFRA_DOCKER_SUBNET: deepfellow-infra-net
METRICS_USERNAME: ZKP3YbOW
METRICS_PASSWORD: *****
LOG_LEVEL: INFO
PLUGINS_SETUP: {}
MONGO_URL: mongo:27017
MONGO_USER: 0zuZ1X8j
MONGO_PASSWORD: *****
MONGO_DB: deepfellow
MONGO_INITDB_ROOT_USERNAME: 7ktUMRSzEH8f
MONGO_INITDB_ROOT_PASSWORD: *****
MONGO_PORT: 27017
INFRA__URL: http://infra:8086
INFRA__API_KEY: *****
VECTOR_DATABASE__PROVIDER__ACTIVE: 1
VECTOR_DATABASE__PROVIDER__TYPE: qdrant
VECTOR_DATABASE__PROVIDER__URL: http://qdrant:6333
VECTOR_DATABASE__PROVIDER__USER: RVGtQRkH
VECTOR_DATABASE__PROVIDER__PASSWORD: *****
VECTOR_DATABASE__EMBEDDING__ACTIVE: 1
VECTOR_DATABASE__EMBEDDING__ENDPOINT: http://infra:8086
VECTOR_DATABASE__EMBEDDING__MODEL: mxbai-embed-large
VECTOR_DATABASE__EMBEDDING__SIZE: 1024
OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317
OTEL_TRACING_ENABLED: trueIn general, setting env values can be done with the command:
deepfellow server env set ENV_NAME ENV_VALUEFor example, to set the Infra API key, type:
deepfellow server env set DF_INFRA__API_KEY f2742d3e-5189-47b6-8e7e-63c493c798b5Setting an env value updates the .env file, but the running stack keeps using the old value until it restarts. After it updates the file, the command asks whether to restart the stack now:
💡 Updated /home/johndoe/.deepfellow/server/.env.
❓ Restart the server now to apply the change? [y/n] (y):Answer y (the default) to stop and restart the server stack so the new value takes effect immediately. Answer n to leave the stack running with the old value until your next restart. This prompt appears only when a server stack is running.
To unset this variable, type:
deepfellow server env set DF_INFRA__API_KEYUninstall
To uninstall DeepFellow Server, type:
deepfellow server uninstallWe 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.