Update Dockerfile
Browse files- Dockerfile +85 -10
Dockerfile
CHANGED
|
@@ -80,11 +80,74 @@ RUN chmod +x /tmp/install-tools.sh /tmp/verify-tools.sh && \
|
|
| 80 |
# Define o diretΓ³rio de trabalho
|
| 81 |
WORKDIR /app
|
| 82 |
|
| 83 |
-
#
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
|
| 89 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 90 |
# ESTRUTURA MODULAR: Renomear 'classes' para 'modules' (HF Compatibility)
|
|
@@ -92,6 +155,12 @@ RUN npm install --production
|
|
| 92 |
|
| 93 |
RUN if [ -d ./classes ]; then mv ./classes ./modules; echo "β
MΓ³dulos configurados (classes β modules)"; fi
|
| 94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 96 |
# CRIAR USUΓRIO NΓO-ROOT
|
| 97 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
@@ -101,8 +170,7 @@ RUN addgroup -g 1001 -S app && \
|
|
| 101 |
|
| 102 |
# Ajusta permissΓ΅es
|
| 103 |
RUN chown -R app:app /app && \
|
| 104 |
-
|
| 105 |
-
chown -R app:app /app/auth_info_baileys /app/temp /app/database && \
|
| 106 |
chmod 777 /tmp/pentest_results
|
| 107 |
|
| 108 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
@@ -110,6 +178,8 @@ RUN chown -R app:app /app && \
|
|
| 110 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 111 |
|
| 112 |
RUN echo "π Verificando ferramentas de pentesting..." && \
|
|
|
|
|
|
|
| 113 |
yt-dlp --version 2>&1 || echo "β οΈ yt-dlp" && \
|
| 114 |
nmap --version 2>&1 | head -1 || echo "β οΈ nmap" && \
|
| 115 |
python3 /opt/sqlmap/sqlmap.py --version 2>&1 | head -1 || echo "β οΈ sqlmap" && \
|
|
@@ -119,6 +189,13 @@ RUN echo "π Verificando ferramentas de pentesting..." && \
|
|
| 119 |
command -v masscan 2>&1 || echo "β οΈ masscan" && \
|
| 120 |
echo "β
VerificaΓ§Γ£o de ferramentas concluΓda"
|
| 121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 123 |
# USUΓRIO NΓO-ROOT E EXPΓE PORTA
|
| 124 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
@@ -134,6 +211,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
|
| 134 |
CMD node -e "const p=process.env.PORT||7860; require('http').get(\`http://localhost:\${p}/health\`, (r) => process.exit(r.statusCode===200?0:1))"
|
| 135 |
|
| 136 |
# Comando de inicializaΓ§Γ£o
|
| 137 |
-
CMD ["node", "index.js"]
|
| 138 |
-
|
| 139 |
-
|
|
|
|
| 80 |
# Define o diretΓ³rio de trabalho
|
| 81 |
WORKDIR /app
|
| 82 |
|
| 83 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 84 |
+
# COPIAR ARQUIVOS DE DEPENDΓNCIA PRIMEIRO (OTIMIZA CACHE)
|
| 85 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 86 |
+
|
| 87 |
+
COPY package*.json ./
|
| 88 |
+
|
| 89 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 90 |
+
# INSTALAR DEPENDΓNCIAS DO NODE.JS COM VERSΓES CORRIGIDAS
|
| 91 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 92 |
+
|
| 93 |
+
# Primeiro, instalar dependΓͺncias bΓ‘sicas
|
| 94 |
+
RUN npm install --no-audit --progress=false \
|
| 95 |
+
@whiskeysockets/baileys@^6.7.8 \
|
| 96 |
+
axios@^1.7.7 \
|
| 97 |
+
express@^4.21.1 \
|
| 98 |
+
pino@^9.5.0 \
|
| 99 |
+
qrcode@^1.5.4 \
|
| 100 |
+
qrcode-terminal@^0.12.0 \
|
| 101 |
+
ytdl-core@^4.11.5 \
|
| 102 |
+
@distube/ytdl-core@^4.14.4 \
|
| 103 |
+
yt-search@^2.10.3 \
|
| 104 |
+
fluent-ffmpeg@^2.1.2 \
|
| 105 |
+
ffmpeg-static@^5.2.0 \
|
| 106 |
+
@ffmpeg-installer/ffmpeg@^1.1.0 \
|
| 107 |
+
@ffprobe-installer/ffprobe@^1.1.0 \
|
| 108 |
+
node-webpmux@^1.1.2 \
|
| 109 |
+
sharp@^0.32.1 \
|
| 110 |
+
cheerio@^1.0.0-rc.12 \
|
| 111 |
+
ms@^2.1.3 \
|
| 112 |
+
parse-ms@^3.0.0 \
|
| 113 |
+
libphonenumber-js@^1.9.50 \
|
| 114 |
+
google-tts-api@^2.0.2 \
|
| 115 |
+
form-data@^4.0.0 \
|
| 116 |
+
moment@^2.30.1 \
|
| 117 |
+
moment-timezone@^0.5.45 \
|
| 118 |
+
chalk@^4.1.2
|
| 119 |
+
|
| 120 |
+
# Agora instalar o restante das dependΓͺncias com versΓ΅es especΓficas
|
| 121 |
+
RUN npm install --no-audit --progress=false \
|
| 122 |
+
pino-pretty@^11.3.0 \
|
| 123 |
+
https-proxy-agent@^7.0.2 \
|
| 124 |
+
socks-proxy-agent@^8.0.3 \
|
| 125 |
+
ws@^8.17.1 \
|
| 126 |
+
helmet@^7.1.0 \
|
| 127 |
+
cors@^2.8.5 \
|
| 128 |
+
rate-limiter-flexible@^4.1.2 \
|
| 129 |
+
fs-extra@^11.2.0 \
|
| 130 |
+
tmp-promise@^3.0.3 \
|
| 131 |
+
mime-types@^2.1.35 \
|
| 132 |
+
content-disposition@^0.5.4 \
|
| 133 |
+
async@^3.2.5 \
|
| 134 |
+
debug@^4.3.4 \
|
| 135 |
+
winston@^3.11.0 \
|
| 136 |
+
dotenv@^16.4.1 \
|
| 137 |
+
joi@^17.12.2 \
|
| 138 |
+
validator@^13.11.0 \
|
| 139 |
+
url-parse@^1.5.10 \
|
| 140 |
+
lru-cache@^10.2.0 \
|
| 141 |
+
node-cache@^5.1.2 \
|
| 142 |
+
node-fetch@^3.3.2 \
|
| 143 |
+
bufferutil@^4.0.8 \
|
| 144 |
+
utf-8-validate@^6.0.3
|
| 145 |
+
|
| 146 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 147 |
+
# COPIAR CΓDIGO DA APLICAΓΓO
|
| 148 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 149 |
+
|
| 150 |
+
COPY . .
|
| 151 |
|
| 152 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 153 |
# ESTRUTURA MODULAR: Renomear 'classes' para 'modules' (HF Compatibility)
|
|
|
|
| 155 |
|
| 156 |
RUN if [ -d ./classes ]; then mv ./classes ./modules; echo "β
MΓ³dulos configurados (classes β modules)"; fi
|
| 157 |
|
| 158 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 159 |
+
# CRIAR DIRETΓRIOS PARA O BOT
|
| 160 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 161 |
+
|
| 162 |
+
RUN mkdir -p /app/auth_info_baileys /app/temp /app/database/data /app/database/datauser /app/database/subscriptions /app/logs
|
| 163 |
+
|
| 164 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 165 |
# CRIAR USUΓRIO NΓO-ROOT
|
| 166 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
|
|
| 170 |
|
| 171 |
# Ajusta permissΓ΅es
|
| 172 |
RUN chown -R app:app /app && \
|
| 173 |
+
chown -R app:app /app/auth_info_baileys /app/temp /app/database /app/logs && \
|
|
|
|
| 174 |
chmod 777 /tmp/pentest_results
|
| 175 |
|
| 176 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
|
|
| 178 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 179 |
|
| 180 |
RUN echo "π Verificando ferramentas de pentesting..." && \
|
| 181 |
+
echo "Node.js: $(node --version)" && \
|
| 182 |
+
echo "npm: $(npm --version)" && \
|
| 183 |
yt-dlp --version 2>&1 || echo "β οΈ yt-dlp" && \
|
| 184 |
nmap --version 2>&1 | head -1 || echo "β οΈ nmap" && \
|
| 185 |
python3 /opt/sqlmap/sqlmap.py --version 2>&1 | head -1 || echo "β οΈ sqlmap" && \
|
|
|
|
| 189 |
command -v masscan 2>&1 || echo "β οΈ masscan" && \
|
| 190 |
echo "β
VerificaΓ§Γ£o de ferramentas concluΓda"
|
| 191 |
|
| 192 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 193 |
+
# VERIFICAR DEPENDΓNCIAS INSTALADAS
|
| 194 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 195 |
+
|
| 196 |
+
RUN echo "π¦ Verificando dependΓͺncias Node.js..." && \
|
| 197 |
+
npm list --depth=0 2>&1 | grep -E "(rate-limiter-flexible|sharp|baileys|axios)" || echo "β
DependΓͺncias verificadas"
|
| 198 |
+
|
| 199 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 200 |
# USUΓRIO NΓO-ROOT E EXPΓE PORTA
|
| 201 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
|
|
| 211 |
CMD node -e "const p=process.env.PORT||7860; require('http').get(\`http://localhost:\${p}/health\`, (r) => process.exit(r.statusCode===200?0:1))"
|
| 212 |
|
| 213 |
# Comando de inicializaΓ§Γ£o
|
| 214 |
+
CMD ["node", "index.js"]
|
|
|
|
|
|