File size: 1,758 Bytes
8d1cc2b
dd1cbb4
aaca445
99d13a7
aaca445
99d13a7
 
aaca445
dd1cbb4
 
d40194c
dd1cbb4
5beaded
99d13a7
5beaded
dd1cbb4
 
8d1cc2b
dd1cbb4
 
8d1cc2b
dd1cbb4
b4b7a67
99d13a7
a3c7fb0
 
 
dd1cbb4
 
8d1cc2b
dd1cbb4
 
 
 
 
 
99d13a7
dd1cbb4
 
 
 
 
a22fc0d
dd1cbb4
 
 
 
 
 
 
 
8d1cc2b
 
dd1cbb4
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
FROM public.ecr.aws/docker/library/python:3.11.9-slim-bookworm

# Install Lambda web adapter in case you want to run with with an AWS Lamba function URL
#COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.3 /lambda-adapter /opt/extensions/lambda-adapter

# Update apt
RUN apt-get update && rm -rf /var/lib/apt/lists/*

WORKDIR /src

COPY requirements_aws.txt .

RUN pip install --no-cache-dir torch==2.4.1+cpu --index-url https://download.pytorch.org/whl/cpu && \
	pip install --no-cache-dir -r requirements_aws.txt && \
	pip install --no-cache-dir gradio==4.44.0

# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user

# Change ownership of /home/user directory
RUN chown -R user:user /home/user

# Make output folder
RUN mkdir -p /home/user/app/output && chown -R user:user /home/user/app/output && \
	mkdir -p /home/user/app/output/api && chown -R user:user /home/user/app/output/api && \
	mkdir -p /home/user/app/api && chown -R user:user /home/user/app/api && \
	chown -R user:user /home/user/app

# Switch to the "user" user
USER user

# Set home to the user's home directory
ENV HOME=/home/user \
	PATH=/home/user/.local/bin:$PATH \
    PYTHONPATH=$HOME/app \
	PYTHONUNBUFFERED=1 \
	PYTHONDONTWRITEBYTECODE=1 \
	GRADIO_ALLOW_FLAGGING=never \
	GRADIO_NUM_PORTS=1 \
	GRADIO_SERVER_NAME=0.0.0.0 \
	GRADIO_SERVER_PORT=7861 \
	GRADIO_THEME=huggingface \
	AWS_STS_REGIONAL_ENDPOINT=regional \
	#GRADIO_TEMP_DIR=$HOME/tmp \
	#GRADIO_ROOT_PATH=/address-match \
	SYSTEM=spaces
 
# Set the working directory to the user's home directory
WORKDIR $HOME/app

# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user . $HOME/app
#COPY . $HOME/app

CMD ["python", "app.py"]