Update Dockerfile
Browse files- Dockerfile +20 -8
Dockerfile
CHANGED
|
@@ -1,40 +1,52 @@
|
|
| 1 |
-
# বেস ইমেজ
|
| 2 |
FROM ubuntu:22.04
|
| 3 |
|
|
|
|
| 4 |
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
| 5 |
|
| 6 |
-
# রুট ইউজার হিসেবে Pro টুলস
|
| 7 |
RUN apt-get update && apt-get install -y \
|
| 8 |
curl \
|
| 9 |
wget \
|
| 10 |
git \
|
| 11 |
htop \
|
| 12 |
nano \
|
|
|
|
| 13 |
python3 \
|
| 14 |
python3-pip \
|
| 15 |
sudo \
|
| 16 |
zsh \
|
| 17 |
tmux \
|
| 18 |
unzip \
|
| 19 |
-
|
|
|
|
| 20 |
|
| 21 |
-
# ওয়েব টার্মিনাল সেটআপ
|
| 22 |
RUN wget https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -O /usr/local/bin/ttyd \
|
| 23 |
&& chmod +x /usr/local/bin/ttyd
|
| 24 |
|
| 25 |
-
# ইউজার তৈরি এবং
|
| 26 |
-
RUN useradd -m -u 1000 user \
|
| 27 |
&& echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
| 28 |
|
| 29 |
USER user
|
| 30 |
ENV HOME=/home/user
|
| 31 |
WORKDIR $HOME/app
|
| 32 |
|
| 33 |
-
# Oh My Zsh
|
| 34 |
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
|
| 35 |
|
| 36 |
-
|
|
|
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
EXPOSE 7860
|
| 39 |
|
| 40 |
CMD ["python3", "app.py"]
|
|
|
|
| 1 |
+
# বেস ইমেজ হিসেবে Ubuntu 22.04 ব্যবহার
|
| 2 |
FROM ubuntu:22.04
|
| 3 |
|
| 4 |
+
# টাইমজোন এবং এনভায়রনমেন্ট ভেরিয়েবল সেট করা (টার্মিনালে যেন ক্যারেক্টার না ভাঙে)
|
| 5 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 6 |
+
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
|
| 7 |
|
| 8 |
+
# রুট ইউজার হিসেবে Pro টুলস এবং ডিপেন্ডেন্সি ইন্সটল
|
| 9 |
RUN apt-get update && apt-get install -y \
|
| 10 |
curl \
|
| 11 |
wget \
|
| 12 |
git \
|
| 13 |
htop \
|
| 14 |
nano \
|
| 15 |
+
vim \
|
| 16 |
python3 \
|
| 17 |
python3-pip \
|
| 18 |
sudo \
|
| 19 |
zsh \
|
| 20 |
tmux \
|
| 21 |
unzip \
|
| 22 |
+
locales \
|
| 23 |
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
| 24 |
|
| 25 |
+
# ওয়েব টার্মিনাল (ttyd) সেটআপ
|
| 26 |
RUN wget https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -O /usr/local/bin/ttyd \
|
| 27 |
&& chmod +x /usr/local/bin/ttyd
|
| 28 |
|
| 29 |
+
# ইউজার তৈরি (ডিফল্ট শেল হিসেবে zsh সেট করা হলো) এবং sudo পারমিশন দেওয়া হলো
|
| 30 |
+
RUN useradd -m -s /bin/zsh -u 1000 user \
|
| 31 |
&& echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
| 32 |
|
| 33 |
USER user
|
| 34 |
ENV HOME=/home/user
|
| 35 |
WORKDIR $HOME/app
|
| 36 |
|
| 37 |
+
# Oh My Zsh আনঅ্যাটেন্ডেড মোডে ইন্সটল
|
| 38 |
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
|
| 39 |
|
| 40 |
+
# Zsh-এর থিম পরিবর্তন করে 'ys' করা হলো (ওয়েব টার্মিনালের জন্য খুবই সুন্দর ও ক্লিন থিম)
|
| 41 |
+
RUN sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="ys"/g' ~/.zshrc
|
| 42 |
|
| 43 |
+
# প্রজেক্টের ফাইলগুলো ইউজারের পারমিশন সহ কপি করা হলো
|
| 44 |
+
COPY --chown=user:user . $HOME/app
|
| 45 |
+
|
| 46 |
+
# যদি requirements.txt এ কিছু থাকে, তবে তা ইন্সটল করবে
|
| 47 |
+
RUN if [ -s requirements.txt ]; then pip3 install --no-cache-dir -r requirements.txt; fi
|
| 48 |
+
|
| 49 |
+
# Hugging Face-এর ডিফল্ট পোর্ট
|
| 50 |
EXPOSE 7860
|
| 51 |
|
| 52 |
CMD ["python3", "app.py"]
|