

How to deploy Label Studio: complete installation and setup guide
If you need a reliable and flexible way to build and manage data labeling workflows, Label Studio is one of the best open-source tools available. It supports text, image, audio, and video annotation, making it ideal for AI and machine learning projects that rely on structured, high-quality training data.
With Northflank, you can deploy Label Studio in minutes using a one-click template or set it up manually. Northflank takes care of infrastructure, networking, and scaling so you can focus on labeling and managing your datasets.
Before you begin, create a Northflank account.
- Deploying Label Studio with a one-click template on Northflank
- Deploying Label Studio manually on Northflank
What is Northflank?
Northflank is a developer platform that makes it easy to build, deploy, and scale applications, databases, and jobs. It abstracts Kubernetes with smart defaults, giving you production-ready deployments without losing flexibility.
You can launch Label Studio on Northflank in just a few minutes using the ready-made template. This option is perfect if you want to quickly spin up a labeling environment or test the platform without a manual setup.

The Label Studio deployment on Northflank includes:
- 1 addon: PostgreSQL (for storing labeling project data and configurations)
- 1 secret group for managing environment variables (database credentials and application settings)
- Deployment of Label Studio from the Docker image:
heartexlabs/label-studio:latest
- Visit the Label Studio template on Northflank.
- Click Deploy.
- Northflank will automatically:
- Create a project, database, secret group, and service
- Deploy Label Studio with the required configuration
- Expose a public URL for your app
Once live, open the public URL to access the Label Studio interface in your browser.
Note: You’ll need to provide your username and password during setup. These can be stored securely in the secret group.
If you want more flexibility or need to customize your setup, you can deploy Label Studio manually. This approach provides you with complete control over configuration and integration.
Note: You can also customise Northflank's one-click deploy templates.
Log in to your Northflank dashboard, click the “Create new” button (+ icon) in the top right corner of your dashboard. Then, select “Project” from the dropdown.

Projects serve as workspaces that group together related services, making it easier to manage multiple workloads and their associated resources.
You’ll need to fill out a few details before moving forward.
-
Enter a project name, such as
labelstudio-projectand optionally pick a color for quick identification in your dashboard. -
Select Northflank Cloud as the deployment target. This uses Northflank’s fully managed infrastructure, so you do not need to worry about Kubernetes setup or scaling.
(Optional) If you prefer to run on your own infrastructure, you can select Bring Your Own Cloud and connect AWS, GCP, Azure, or on-prem resources.
-
Choose a region closest to your users to minimize latency.
-
Click Create project to finalize the setup.

Inside your project, go to the Addons tab and click “Create new addon.” Then, select PostgreSQL as the Addon type, give it a descriptive name such as labelstudio-db. Select your preferred version, and choose a compute plan size.
- If you’re testing or experimenting, the smallest option is cost-effective and sufficient.
- For production, we recommend starting with
nf-compute-50. This provides more resources and stability, ensuring Label Studio runs reliably under real workloads.
Once you’ve configured the settings, click Create addon to provision your database.

Next, navigate to the Secrets tab and click "Create Secret Group." Name it something easy to recognize, such as labelstudio-secrets. This group will hold all the environment variables required by Label Studio. You can find the full list of supported variables in the Label Studio docs.

If you don't want to go through the stress of manually configuring or searching for environment variables to use, you can use the already configured ones below:
LABEL_STUDIO_USERNAME="XXXXXXXXXXXXXXXXXXXXXXX"
LABEL_STUDIO_PASSWORD="XXXXXXXXXXXXXXXXXXXXXXX"
LABEL_STUDIO_HOST="https://${refs.label-studio-service.ports.0.dns}"
CSRF_TRUSTED_ORIGINS="https://${refs.label-studio-service.ports.0.dns}"
Notes about these values:
LABEL_STUDIO_USERNAMEandLABEL_STUDIO_PASSWORD: Replace the placeholder values with your desired credentials. These will be used to log into Label Studio.LABEL_STUDIO_HOST: This automatically references your service's public URL using Northflank's template syntax ($${refs.label-studio-service.ports.0.dns}). This means it will always point to the correct domain, even if it changes.CSRF_TRUSTED_ORIGINS: This should match your LABEL_STUDIO_HOST to prevent cross-site request forgery errors. The template syntax ensures they stay in sync.
Link the PostgreSQL addon to your secret group
Northflank addons (like PostgreSQL) expose connection details (username, password, etc.). Instead of manually copying these values into your secrets, you can link the addon directly to your secret group. This way, whenever the addon rotates credentials, your service automatically receives the updated values.
- Under the Linked addons section, click “Configure” to map
POSTGRES_URIto the aliasDATABASE_URL.
Here we’re not inventing new values, we’re just telling Northflank to feed the Postgres URI into the environment variable names your service requires.

Finally, click Create secret group to save everything.
Within your project, navigate to the Services tab in the top menu and click ’Create New Service’. Select Deployment and give your service a name such as label-studio-service.
For the deployment source, choose External image and enter the official Label Studio Docker image: heartexlabs/label-studio:latest.

Select compute resources
Choose the compute size that best matches your workload:
- Small plans are fine for testing or lightweight usage.
- Larger plans are recommended for production, as Langflow can be resource-intensive under real-world traffic.
The flexibility to adjust resources later means you can start small and scale up as needed.

Set up a port so your app is accessible:
- Port:
8080 - Protocol:
HTTP - Public access: enable this to let people access your app from the internet
Northflank will automatically generate a secure, unique public URL for your service. This saves you from having to manage DNS or SSL certificates manually.

Deploy your service
When you’re satisfied with your settings, click “Create service.” Northflank will pull the image, provision resources, and deploy Label Studio.
Once the deployment is successful, you’ll see your service’s public URL at the top right corner, e.g.: p01--label-studio-service--lppg6t2b6kzf.code.run

Deploying Label Studio on Northflank gives you a production-ready way to manage data labeling workflows without maintaining infrastructure.
Whether you use the one-click template for speed or set it up manually for flexibility, Northflank handles the infrastructure so you can focus on building high-quality datasets.
This setup is ideal for ML teams, research projects, or companies that need a scalable, secure labeling platform with minimal operational overhead.