tu / Dockerfile
Aqso's picture
Update Dockerfile
55ed30b verified
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Jakarta
ENV NODE_OPTIONS="--dns-result-order=ipv4first"
# 1. Injeksi tool esensial & paket SUDO (Kunci Pembobol Root)
RUN apt-get update && apt-get install -y \
curl git ca-certificates build-essential python3 sudo \
&& rm -rf /var/lib/apt/lists/*
# 2. Instalasi Node.js 22 LTS Native
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# 3. [INJEKSI ROOT MUTLAK] Buat User 1000 dan berikan akses Sudo absolut
RUN useradd -m -u 1000 user \
&& echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
WORKDIR /app
RUN chown -R user:user /app
USER user
# 4. Dummy Web Server 24/7
RUN echo "const http = require('http'); http.createServer((req, res) => { res.writeHead(200); res.end('AQSOBOTZ NATIVE ROOT'); }).listen(7860);" > health.js
# 5. THE ULTIMATE ROOT STARTUP SCRIPT
RUN cat << 'EOF' > /app/start.sh
#!/bin/bash
echo "[AQSO LOGIC] Mengeksekusi Hak Root: Membobol perlindungan DNS Host..."
# Menggunakan sudo tee untuk memaksa write pada file bind mount read-only
echo -e "nameserver 8.8.8.8\nnameserver 1.1.1.1" | sudo tee /etc/resolv.conf > /dev/null
echo "[AQSO LOGIC] Validasi Injeksi DNS Sistem:"
cat /etc/resolv.conf
echo "[AQSO LOGIC] Memulai Server Dummy 24/7 di Port 7860..."
node /app/health.js &
echo "[AQSO LOGIC] Menarik Repository Github..."
rm -rf /app/bot
git clone https://github.com/Aqsobb/rut.git /app/bot
cd /app/bot
echo "[AQSO LOGIC] Instalasi dependensi (Clear Cache)..."
npm cache clean --force
npm install --no-audit --no-fund
echo "[AQSO LOGIC] Injeksi Modul Telegram Mutlak..."
npm install node-telegram-bot-api --save
echo "[AQSO LOGIC] Menjalankan AQSOBOTZ..."
if grep -q "\"start\"" package.json 2>/dev/null; then
npm start
elif [ -f "index.js" ]; then
node index.js
elif [ -f "main.js" ]; then
node main.js
else
echo "[FATAL ERROR] File utama bot tidak ditemukan!"
tail -f /dev/null
fi
EOF
RUN chmod +x /app/start.sh
EXPOSE 7860
CMD ["bash", "/app/start.sh"]