LabelStudio / Dockerfile
Charles95's picture
Duplicate from LabelStudio/LabelStudio
b4a7291
FROM heartexlabs/label-studio:hf-latest
################################################################################
#
# How to Disable Public Account Creation
# --------------------------------------
# By default this space allows for the unrestricted creation of new accounts
# will full access to all projects and data. This is great for trying out
# Label Studio and collaborating on projects, but you may want to restrict
# access to your space to only authorized users. Uncomment the following line
# to disable public account creation for this space.
#
# ENV LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true
#
# Set secrets in your space to create an inital user, and log in with your
# provided username and password. Do not set these in your Dockerfile, as they
# globally visible on a public space.
#
# LABEL_STUDIO_USERNAME
# LABEL_STUDIO_PASSWORD
#
# You will need to provide new users with an invitation link to join the space.
#
################################################################################
################################################################################
#
# How to Enable Persistent Storage for Label Studio in Hugging Face Spaces
# ------------------------------------------------------------------------
#
# By default this space stores all project configuration and data annotations
# in local storage with sqlite. If the space is reset, all configuration and
# annotation data in the space will be lost. You can enable configuration
# persistence through one of two methods:
#
# 1) Attaching an HF Storage Bucket for persisting the SQLite database and
# media uploads across restarts (recommended).
# 2) Connecting an external Postgres database for saving project and annotation
# settings, and cloud by connecting cloud storage for tasks.
#
################################################################################
################################################################################
#
# How to Enable Persistence with HF Storage Buckets
# --------------------------------------------------
#
# HF Storage Buckets provide persistent object storage that can be
# mounted directly into your Space. Label Studio will write its SQLite
# database and media uploads into the mounted bucket, so everything
# survives restarts.
#
# 1. Create a bucket: hf buckets create <namespace>/label-studio-data
# 2. Attach it in Space Settings → Storage Buckets, mount path: /data
# 3. Set Space Variables:
# LABEL_STUDIO_BASE_DATA_DIR=/data
# STORAGE_PERSISTENCE=1
# 4. (Recommended) Set a SECRET_KEY Space Secret to keep user sessions
# alive across restarts.
# 5. Factory rebuild the Space.
#
# See https://huggingface.co/docs/hub/storage-buckets for more details.
#
################################################################################
################################################################################
#
# How to Enable Configuration Persistence with Postgres
# -----------------------------------------------------
#
# Set the following secret variables to match your own hosted instance of
# Postgres. We strongly recommend setting these as secrets to prevent leaking
# information about your database service to the public in your spaces
# definition.
#
# ENV DJANGO_DB=default
# ENV POSTGRE_NAME=<postgres_name>
# ENV POSTGRE_PORT=<db_port>
# ENV POSTGRE_USER=<postgres_user>
# ENV POSTGRE_PASSWORD=<password>
# ENV POSTGRE_PORT=<db_port>
# ENV POSTGRE_HOST=<db_host>
#
# Uncomment the following line or set the following Space variable to remove
# the warning about ephemeral storage
#
# ENV STORAGE_PERSISTENCE=1
#
# Note that you will need to connect cloud storage to host data items that you
# want to annotate, as local storage will not be preserved across a space reset.
#
#
# How to Enable Cloud Storage
# ---------------------------
# By default the only data storage enabled for this space is local. In the case
# of a space reset, all data will be lost. To enable permanent storage, you
# must enable a cloud storage connector. We also strongly recommend enabling
# configuration persistence to preserve project data, annotations, and user
# settings. Choose the appropriate cloud connector and configure the secrets
# for it.
#
# Amazon S3
# =========
# STORAGE_TYPE=s3
# STORAGE_AWS_ACCESS_KEY_ID="<YOUR_ACCESS_KEY_ID>"
# STORAGE_AWS_SECRET_ACCESS_KEY="<YOUR_SECRET_ACCESS_KEY>"
# STORAGE_AWS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
# STORAGE_AWS_REGION_NAME="<YOUR_BUCKET_REGION>"
# STORAGE_AWS_FOLDER=""
#
# Google Cloud Storage
# ====================
#
# STORAGE_TYPE=gcs
# STORAGE_GCS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
# STORAGE_GCS_PROJECT_ID="<YOUR_PROJECT_ID>"
# STORAGE_GCS_FOLDER=""
# GOOGLE_APPLICATION_CREDENTIALS="/opt/heartex/secrets/key.json"
#
# Azure Blob Storage
# ==================
#
# STORAGE_TYPE=azure
# STORAGE_AZURE_ACCOUNT_NAME="<YOUR_STORAGE_ACCOUNT>"
# STORAGE_AZURE_ACCOUNT_KEY="<YOUR_STORAGE_KEY>"
# STORAGE_AZURE_CONTAINER_NAME="<YOUR_CONTAINER_NAME>"
# STORAGE_AZURE_FOLDER=""
#
################################################################################
# The upstream base image runs as UID 1001. HF Storage Bucket mounts currently
# require root to write. This can be removed once bucket mounts support
# non-root UIDs natively.
USER root
CMD exec label-studio --host=$SPACE_HOST