DeepFellow Server
As administrator, prepare your administrator credentials (email and password) you want to use for managing DeepFellow Server. Remember your password. You can always reset it if needed.
Installation
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.
After Installation
Start
$ deepfellow server start
Server start using config: /Users/simplito/.deepfellow/server/config.json
💡 Starting server
✅ DF Server started.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
See Logging In to authenticate on DeepFellow Server via CLI.
Reset Password
To reset the password for a DeepFellow Server account, see Resetting a Password.
Configure Email for Invitations
DeepFellow Server sends invitations over email. See Configure Email for Invitations to set up the required SMTP server.
Envs
See Configuration for every variable DeepFellow Server reads, with its config.json field and default value. See Environment Variables (CLI) to inspect and change them from the command line.
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).
Uninstall
See Uninstall to remove DeepFellow Server.
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.