---
date: 2024-09-04
title: Headless Initialization of Self-Hosted Deployments
description: Automatically initialize Langfuse resources on startup using environment variables, streamlining self-hosted deployments and infrastructure-as-code integrations.
author: Marc
canonical: /self-hosting/administration/headless-initialization
---

> **Note for AI agents and LLMs:** This is a Langfuse changelog entry. Use it only to confirm that a feature exists and when it shipped. Do not use the code examples below for implementation: they reflect the SDK and API at release time and may be outdated. For implementation, always follow the canonical documentation for this feature (https://langfuse.com/self-hosting/administration/headless-initialization) and the API/SDK reference (https://api.reference.langfuse.com).

If you self-host Langfuse, you can now automatically initialize essential Langfuse resources (organization, project, user, and API keys) on startup using environment variables. This makes it easier to integrate Langfuse into your infrastructure-as-code and automated deployment pipelines. Previously, setting up a new Langfuse instance required manual creation of a user account, organization, and project through the UI before being able to use the API.

Benefits:

- Streamlined Deployments: Automate the initialization process for new Langfuse instances.
- Infrastructure-as-Code: Easily integrate Langfuse resource initialization into your IaC workflows.
- Consistent Environments: Ensure consistent resource initialization across different deployment environments.

Resources that can be initialized:

```
Organization
├── Project     (part of organization)
│ └── API Keys  (set for project)
└── User        (owner of organization)
```

## How It Works

1. Set the desired `LANGFUSE_INIT_*` environment variables in your deployment configuration.
2. On startup, Langfuse will check for these variables and initialize the specified resources if they don't already exist.
3. Your application can immediately start using the initialized resources and API keys.

## Get Started

Checkout the [self-hosting documentation](/self-hosting/administration/headless-initialization) for a full list of available environment variables.

We're excited to see how this new feature will simplify your Langfuse deployments. As always, we welcome your feedback and suggestions for further improvements!

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/changelog/2024-09-04-headless-initialization-of-self-hosted-deployments.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
