
Label Studio is an open-source data labeling platform that supports annotation across a wide range of data types, including text, images, audio, video, and time series. It provides a customizable labeling interface, multi-user project management, and export support for formats such as JSON and CSV, making it a practical tool for preparing and refining datasets for machine learning workflows.
This article explains how to deploy Label Studio on a Linux server using Docker Compose. It covers directory setup, environment configuration, Traefik reverse proxy integration for automatic HTTPS, and demonstrates the application with a sample text classification project.
Before you begin, you need to:
labelstudio.example.com).Label Studio stores annotation data and uploaded files in a persistent volume. The project directory holds the Docker Compose configuration and environment variables.
Create a project directory for Label Studio and navigate into it.
Create a .env file to store environment variables.
Add the following configuration:
Replace the placeholders:
Save and close the file.
The deployment stack consists of two services: Traefik handles reverse proxy and automatic TLS certificate management via Let's Encrypt, and Label Studio runs the data labeling application with persistent storage for annotations and uploaded files.
Create the Docker Compose configuration file.
Add the following configuration:
Save and close the file.
In the above manifest:
1.23.0) for reproducibility; check the Label Studio releases for the latest stable version.80 and 443 to Traefik, allowing it to receive incoming web traffic.8080 available internally for Traefik routing without exposing it directly to the host network../data bind mount stores annotation data on the host persistently../letsencrypt bind mount retains TLS certificates between container restarts./var/run/docker.sock) enables Traefik to detect and configure routes for running containers automatically.Create the Label Studio data directory and assign its group to root (group 0). The Label Studio container runs as a non-root user that belongs to the root group, so this group ownership allows the container to write annotation data to the bind mount.
Start the containers in detached mode.
Verify that both containers are running.
The output displays two running containers with Traefik listening on ports 80 and 443 and Label Studio exposing port 8080.
View the logs for the services.
The output shows the Label Studio Django startup sequence and Traefik registering routes for the configured domain.
For more information on managing a Docker Compose stack, see the How to Use Docker Compose article.
Label Studio requires an initial user account on first access. The first registered user automatically receives administrator privileges and can create projects, manage team members, and configure storage.
Open your web browser and navigate to Label Studio at https://labelstudio.example.com, replacing labelstudio.example.com with your configured domain name.
Click Sign Up and create the initial administrator account.
The main dashboard opens after registration.
Label Studio uses projects to organize annotation tasks. Each project defines a labeling interface, data source, and export configuration. The following steps create a text classification project and annotate sample data to confirm the deployment is working correctly.
From the main dashboard, click Create Project.
Configure the project in the creation modal:
Sentiment Analysis).Click Save to create the project.
The project dashboard opens.
Click Import to add sample data.
Upload a sample dataset file or paste the following JSON content into the import field:
Click Import to load the tasks into the project.
The tasks appear in the Data Manager.
Click on a task from the task list to open the labeling interface.
Select the appropriate label (for example, Positive or Negative) and click Submit to save the annotation.
Repeat the process for remaining tasks. The Data Manager displays each task as Completed after annotation.
You have successfully deployed Label Studio on your Linux server using Docker Compose with Traefik for automatic HTTPS. The setup provides secure web access to a scalable data annotation tool with persistent storage for projects, uploaded data, and annotation results. Label Studio supports customizable labeling interfaces, collaborative workflows, flexible data import and export options, and integration with machine learning backends. For more information, refer to the official Label Studio documentation.
0 Comments
Be the first to comment and share your perspective with the community.