Ashrafb commited on
Commit
e7c7605
1 Parent(s): 272547d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +25 -122
Dockerfile CHANGED
@@ -1,127 +1,30 @@
1
- FROM heartexlabs/label-studio:hf-latest
 
2
 
3
- ################################################################################
4
- #
5
- # How to Disable Public Account Creation
6
- # --------------------------------------
7
- # By default this space allows for the unrestricted creation of new accounts
8
- # will full access to all projects and data. This is great for trying out
9
- # Label Studio and collaborating on projects, but you may want to restrict
10
- # access to your space to only authorized users. Uncomment the following line
11
- # to disable public account creation for this space.
12
- #
13
- # ENV LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true
14
- #
15
- # Set secrets in your space to create an inital user, and log in with your
16
- # provided username and password. Do not set these in your Dockerfile, as they
17
- # globally visible on a public space.
18
- #
19
- # LABEL_STUDIO_USERNAME
20
- # LABEL_STUDIO_PASSWORD
21
- #
22
- # You will need to provide new users with an invitation link to join the space.
23
- #
24
- ################################################################################
25
 
26
- ################################################################################
27
- #
28
- # How to Enable Persistent Storage for Label Studio in Hugging Face Spaces
29
- # ------------------------------------------------------------------------
30
- #
31
- # By default this space stores all project configuration and data annotations
32
- # in local storage with sqlite. If the space is reset, all configuration and
33
- # annotation data in the space will be lost. You can enable configuration
34
- # persistence through one of two methods:
35
- #
36
- # 1) Enabling Hugging Face Persistent Storage for saving project and annotation
37
- # settings, as well as local task storage.
38
- # 2) Connecting an external Postgres database for saving project and annotation
39
- # settings, and cloud by connecting cloud storage for tasks.
40
- #
41
- ################################################################################
42
 
43
- ################################################################################
44
- #
45
- # How to Enable Hugging Face Persistent Storage for Label Studio
46
- # --------------------------------------------------------------
47
- #
48
- # In the Hugging Face Label Studio Space settings, select the appropriate
49
- # Persistent Storage tier. Note that Persistent Storage is a paid add-on.
50
- # By default, persistent storage is mounted to /data. In your Space settings,
51
- # set the following variables:
52
- #
53
- # LABEL_STUDIO_BASE_DATA_DIR=/data
54
- # ENV STORAGE_PERSISTENCE=1
55
- #
56
- # Your space will restart. NOTE: if you have existing settings and data,
57
- # they will be lost in this first restart. Data and setting will only be
58
- # preserved on subsequent restarts of the space.
59
- #
60
- ################################################################################
61
 
62
- ################################################################################
63
- #
64
- # How to Enable Configuration Persistence with Postgres
65
- # -----------------------------------------------------
66
- #
67
- # Set the following secret variables to match your own hosted instance of
68
- # Postgres. We strongly recommend setting these as secrets to prevent leaking
69
- # information about your database service to the public in your spaces
70
- # definition.
71
- #
72
- # ENV DJANGO_DB=default
73
- # ENV POSTGRE_NAME=<postgres_name>
74
- # ENV POSTGRE_PORT=<db_port>
75
- # ENV POSTGRE_USER=<postgres_user>
76
- # ENV POSTGRE_PASSWORD=<password>
77
- # ENV POSTGRE_PORT=<db_port>
78
- # ENV POSTGRE_HOST=<db_host>
79
- #
80
- # Uncomment the following line or set the following Space variable to remove
81
- # the warning about ephemeral storage
82
- #
83
- # ENV STORAGE_PERSISTENCE=1
84
- #
85
- # Note that you will need to connect cloud storage to host data items that you
86
- # want to annotate, as local storage will not be preserved across a space reset.
87
- #
88
- #
89
- # How to Enable Cloud Storage
90
- # ---------------------------
91
- # By default the only data storage enabled for this space is local. In the case
92
- # of a space reset, all data will be lost. To enable permanent storage, you
93
- # must enable a cloud storage connector. We also strongly recommend enabling
94
- # configuration persistence to preserve project data, annotations, and user
95
- # settings. Choose the appropriate cloud connector and configure the secrets
96
- # for it.
97
- #
98
- # Amazon S3
99
- # =========
100
- # STORAGE_TYPE=s3
101
- # STORAGE_AWS_ACCESS_KEY_ID="<YOUR_ACCESS_KEY_ID>"
102
- # STORAGE_AWS_SECRET_ACCESS_KEY="<YOUR_SECRET_ACCESS_KEY>"
103
- # STORAGE_AWS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
104
- # STORAGE_AWS_REGION_NAME="<YOUR_BUCKET_REGION>"
105
- # STORAGE_AWS_FOLDER=""
106
- #
107
- # Google Cloud Storage
108
- # ====================
109
- #
110
- # STORAGE_TYPE=gcs
111
- # STORAGE_GCS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
112
- # STORAGE_GCS_PROJECT_ID="<YOUR_PROJECT_ID>"
113
- # STORAGE_GCS_FOLDER=""
114
- # GOOGLE_APPLICATION_CREDENTIALS="/opt/heartex/secrets/key.json"
115
- #
116
- # Azure Blob Storage
117
- # ==================
118
- #
119
- # STORAGE_TYPE=azure
120
- # STORAGE_AZURE_ACCOUNT_NAME="<YOUR_STORAGE_ACCOUNT>"
121
- # STORAGE_AZURE_ACCOUNT_KEY="<YOUR_STORAGE_KEY>"
122
- # STORAGE_AZURE_CONTAINER_NAME="<YOUR_CONTAINER_NAME>"
123
- # STORAGE_AZURE_FOLDER=""
124
- #
125
- ################################################################################
126
 
127
- CMD exec label-studio --host=$SPACE_HOST
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use the official Python 3.9 image
2
+ FROM python
3
 
4
+ # Set up a new user named "user" with user ID 1000
5
+ RUN useradd -m -u 1000 user
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
+ # Set the working directory to /code
8
+ WORKDIR /code
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
+ # Copy the current directory contents into the container at /code
11
+ COPY --chown=user:user ./requirements.txt /code/requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
+ # Install requirements.txt
14
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
+ # Switch to the "user" user
17
+ USER user
18
+
19
+ # Set home to the user's home directory
20
+ ENV HOME=/home/user \
21
+ PATH=/home/user/.local/bin:$PATH
22
+
23
+ # Set the working directory to the user's home directory
24
+ WORKDIR $HOME/app
25
+
26
+ # Copy the current directory contents into the container at $HOME/app setting the owner to the user
27
+ COPY --chown=user:user . $HOME/app
28
+
29
+ # CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
30
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]